gpt4 book ai didi

python - 在 Python 中将 gdal_grid 与 np 数组一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:42 24 4
gpt4 key购买 nike

我使用 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 阵列来做到这一点?

非常感谢您的帮助。

最佳答案

你不能。

gdal_grid 的输入必须是 GDAL 可读格式,VRT 就是其中之一。或者,您可以将 numpy 数组保存为 Tiff/GeoTiff 文件。

GDAL >= 2.1 的另一种选择是使用 python binding而不是命令行实用程序,以及从 numpy 数组填充的“MEM”数据集(至少避免将其保存到磁盘)。

关于python - 在 Python 中将 gdal_grid 与 np 数组一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41726010/

24 4 0
文章推荐: android - Activity 在打开 SubMenu 时泄漏方向更改窗口
文章推荐: java - 在 spring boot 中从 @Query View 返回 List