我正在研究整个景观中大量野生传粉媒介的计算模型。该模型本身已经完成,现在我正在努力进行后处理步骤。
我的GDAL授粉媒介供应栅格看起来像这样(较浅的颜色表示授粉媒介对像素的访问量较高):
我有一个OGR形状文件,该文件的点代表景观上的样本位置:
我正在尝试对这些点下的像素进行一些分析,但是要这样做,我需要能够提取一个点下的像素的值。
是否可以通过Python仅使用OGR和GDAL提取点下的像素值?我宁愿避免通过读取整个栅格到内存中ReadAsArray()
,因为我的输出栅格非常大(太大而无法容纳到内存中)。
我注意到这篇文章,这很相似,但是需要命令行调用。
2
那么ReadAsArray()只读一点呢?因此,仅读取您感兴趣的单个单元格?您将需要从点坐标转换为像素空间并提取必要的像元。
—
杰伊·劳拉
查看gdalsrsinfo的代码,它向您展示如何使用GDALInvertGeoTransform()以及如何在地理空间和像素空间之间切换: trac.osgeo.org/gdal/browser/trunk/gdal/apps/gdalsrsinfo.cpp
如果遇到此问题并可以访问PostGIS数据库,请记住这一点!我没有解决这个特定的问题,因此下面的GDAL解决方案可以解决问题。不过谢谢!
—
詹姆斯,
@kyle我不知道事情是否已经改变,但是看起来它是GDALInvGeoTransform不能反转的,这是一个例子。
—
mlt