ฉันต้องการที่จะ georeference แรสเตอร์ที่ใช้และ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
ตัวเลือก
ฉันไม่รู้ว่ามันมีอยู่หรือไม่ แต่ฉันจะรักถ้าฉันสามารถแปลและปฏิเสธ rasters ในแบบ pythonic ตัวอย่างเช่น:
# 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*)
วิธีการดังกล่าวเป็นไปได้หรือไม่?