Saya ingin melakukan georeferensi raster menggunakan python
dan GDAL
. Pendekatan saya saat ini adalah menelepon gdal_translate
dan gdalwarp
menggunakan os.system
dan daftar titik kontrol tanah yang jelek. Saya benar-benar ingin cara untuk melakukan ini secara asli di dalam python
.
Ini adalah proses saat ini yang saya gunakan:
import os
os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"')
os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"')
Ada pertanyaan dan jawaban sebelumnya dari 2012 yang menyatakan bahwa gdal_translate
dapat diakses setelah mengimpor gdal
. Saya tidak yakin apakah sudah usang, atau apakah itu salah tetapi ketika saya menjalankan from osgeo import gdal
saya tidak melihat gdal.gdal_translate
sebagai opsi.
Saya tidak tahu apakah itu ada tetapi saya akan senang jika saya bisa menerjemahkan dan memproyeksikan ulang raster dengan cara pythonic. Sebagai contoh:
# translate
gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)]
gdal.gdal_translate(in_raster, gcp_points, out_raster1)
# warp
gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*)
Apakah pendekatan seperti itu mungkin?