Tôi muốn căn chỉnh nhiều trình quét theo một số kích thước, phạm vi và hệ thống trình chiếu bằng Python hoặc PyQGIS.
Suy nghĩ đầu tiên là sử dụng GDAL:
gdalinfo (để tìm thông tin từ raster tham khảo)
gdalwarp (để chuyển đổi hệ thống chiếu và kích thước pixel)
gdal_translate (để chuyển đổi phạm vi)
Chúng hoạt động, nhưng không dễ để sử dụng các công cụ đó với nhau trong Python và chúng cần nhiều thời gian để hoàn thành công việc này. Ngoài ra, nó có thể được thực hiện dễ dàng bằng cách sử dụng Công cụ QGIS và Align Rasters .
Có một công cụ làm công việc này bằng PyQGIS hoặc Python tồn tại không? (Tôi muốn làm việc lập trình nhiều hơn tự động)
CẬP NHẬT
Tôi tìm thấy mã này từ câu hỏi này :
from osgeo import gdal, gdalconst
inputfile = #Path to input file
input = gdal.Open(inputfile, gdalconst.GA_ReadOnly)
inputProj = input.GetProjection()
inputTrans = input.GetGeoTransform()
referencefile = #Path to reference file
reference = gdal.Open(referencefile, gdalconst.GAReadOnly)
referenceProj = reference.GetProjection()
referenceTrans = reference.GetGeoTransform()
bandreference = reference.GetRasterBand(1)
x = reference.RasterXSize
y = reference.RasterYSize
outputfile = #Path to output file
driver= gdal.GetDriverByName('GTiff')
output = driver.Create(outputfile, x, y, 1, bandreference.DataType)
output.SetGeoTransform(referenceTrans)
output.SetProjection(referenceProj)
gdal.ReprojectImage(input, output, inputProj, referenceProj, gdalconst.GRA_Bilinear)
del output
Mã đó hoạt động tốt, ngoại trừ clip raster. Bất kỳ ý tưởng làm thế nào để cập nhật mã này để clip raster đầu vào trong phạm vi của raster tham chiếu trong mã?