【发布时间】:2017-12-13 01:27:54
【问题描述】:
我使用 Python 2.7。 gdal 2.1.2 库已安装。
我有一个这样的 np 数组:
[[ 2.34845824 48.84626174 15.20369 ]
[ 2.34966283 48.84910128 13.88528 ]
[ 2.35120647 48.85098931 15.76322 ]
...,
[ 2.3556567 48.8415611 15.42184 ]
[ 2.34394085 48.84248672 15.51128 ]
[ 2.34926763 48.85128456 15.0685 ]]
第一列和第二列代表我的坐标(特别是纬度和经度),第三列收集与位置相关的变量值。我想直接在 Python 中使用 gdal_grid 来获取图像,其中在每个像素处我使用诸如反距离加权之类的方法对数组的值进行插值。
如果我的数据被收集在一个 csv 文件(我将称之为“test.csv”)中并且如果我创建一个像这样的“test.vrt”文件,我发现了如何使用 gdal_grid 来做到这一点:
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>test.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField separator=" " encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/>
</OGRVRTLayer>
</OGRVRTDataSource>
我尝试在 python 中使用以下命令运行它:
gdal.Grid('test_python.tiff', 'test.vrt', layers='test', algorithm='invdistnn:max_points=10:min_points=1:radius=0.001', format='GTiff', width=333, height=240)
它有效。问题是我想避免将 np 数组转换为 .csv,因为我需要多次复制此操作。 我怎样才能直接使用我的 np 数组呢?
非常感谢您的帮助。
【问题讨论】: