我正在编写一个简单的实用程序,将一批多波段Geotiff栅格文件裁剪到相同(较小)的区域。使用gdalwarp,我可以使用单多边形剪切shapefile轻松裁剪文件:
gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif
但是,我要裁剪的实际区域将始终始终由另一个geotiff栅格文件而不是shapefile定义。如果可以将栅格的范围用作剪切文件,那将很好,但是我不确定如何执行此操作。毫不奇怪,以下代码不起作用(它不会引发错误,它只会产生任何东西):
gdalwarp -cutline clipper.tif-crop_to_cutline input.tif output.tif
所以,我的问题是,有没有办法提供栅格gdalwarp -cutline
?或者,是否还有另一个gdal函数可以使用另一个栅格裁剪一个栅格?如果这两种方法均不可行,是否有一种非常简单的方法来生成具有由栅格范围定义的单个多边形的shapefile?
这段代码将包装在更广泛的python脚本中,因此我可以使用命令行gdal实用程序或gdal的任何python绑定。
作为附带说明,我知道我可以轻松地制作一个裁剪shapefile,以覆盖我在QGIS中的栅格范围。如果找不到简单的解决方案,我可能会这样做,但是最终,作为大型自动化分析的一部分,我最终将在数十个甚至数百个区域中使用此实用程序,因此我不希望乏味即使非常简单,也可以手动执行。
gdaltindex clipper.shp clipper.tif
,其次是gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif