Я использую Python 2.7. Установлена библиотека gdal 2.1.2.Использование gdal_grid в Python с 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 ]]
, где первые и вторые столбцы представляют свои координаты (в частности, широта и долгота), а третий один собирает значения переменных, связанные с местом. Я хотел бы использовать gdal_grid непосредственно в Python для получения изображения, где на каждом пикселе у меня есть интерполяция значений моего массива с использованием метода, такого как инверсное взвешенное расстояние.
Я нашел, как это сделать с gdal_grid, если мои данные собираются в .csv файл (который я буду называть «test.csv»), и если создать файл «» test.vrt так:
<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-массив?
Благодарим вас за помощь.