Tôi muốn địa lý một raster sử dụng python
và GDAL
. Cách tiếp cận hiện tại của tôi là gọi gdal_translate
và gdalwarp
sử dụng os.system
và một danh sách các điểm kiểm soát mặt đất xấu xí. Tôi thực sự muốn một cách để làm điều này tự nhiên trong python
.
Đây là quy trình hiện tại tôi đang sử dụng:
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ó một câu hỏi và câu trả lời trước đó từ năm 2012, trạng thái gdal_translate
có thể được truy cập sau khi nhập gdal
. Tôi không chắc liệu nó có bị lỗi thời hay không, nhưng khi tôi chạy, from osgeo import gdal
tôi không thấy đó gdal.gdal_translate
là một lựa chọn.
Tôi không biết nó có tồn tại hay không nhưng tôi rất thích nếu tôi có thể dịch và từ chối các trình raster theo cách pythonic. Ví dụ:
# 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*)
Là một cách tiếp cận như vậy có thể?