Я хочу зробити геореференцію растрових за допомогою python
і GDAL
. Мій сучасний підхід - зателефонувати gdal_translate
та gdalwarp
використовувати os.system
та некрасивий перелік наземних контрольних точок. Мені б дуже хотілося, щоб це все робили вдома python
.
Це поточний процес, який я використовую:
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"')
Є попереднє запитання та відповідь з 2012 року, де зазначено, що gdal_translate
можна отримати доступ після імпорту gdal
. Я не впевнений, чи є застарілим, чи неправильним, але коли я біжу, from osgeo import gdal
я не бачу gdal.gdal_translate
як варіант.
Я не знаю, чи існує, але мені б хотілося, якби я міг перекладати та відтворювати растри пітонічно. Наприклад:
# 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*)
Чи можливий такий підхід?