Voglio georeferenziare un raster usando python
e GDAL
. Il mio attuale approccio è chiamare gdal_translate
e gdalwarp
usare os.system
e un brutto elenco di punti di controllo a terra. Mi piacerebbe davvero un modo per farlo nativamente all'interno python
.
Questo è l'attuale processo che sto usando:
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"')
C'è una domanda e una risposta precedenti del 2012 che afferma che è gdal_translate
possibile accedere dopo l'importazione gdal
. Non sono sicuro se è obsoleto o se è sbagliato, ma quando corro from osgeo import gdal
non vedo gdal.gdal_translate
come un'opzione.
Non so se esiste, ma mi piacerebbe se potessi tradurre e riproiettare i raster in modo pitonico. Per esempio:
# 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*)
Un tale approccio è possibile?