2016-11-03 3 views
0

У меня есть много полигонов в 3d из файла geojson, и я хотел бы сделать модель высоты. Это означает, что я хочу растра, где каждый пиксель является высотой многоугольника в этом положении.Как создать модель высот из 3D-полигона?

Я пытался смотреть на gdal_rasterize, но описание говорит

В настоящее время, только точки и линии нарисованы в 3D.

gdal_rasterize

+0

Можете ли вы привести пример GeoJSON в исходном вопросе? Является ли каждый многоугольник 2D плоским, но с другим значением Z? –

ответ

0

Я закончил с использованием scipy.interpolat-функцию под названием GridData. Это использует meshgrid, чтобы получить координаты в сетке, и мне пришлось подделать его из-за ограничений памяти meshgrid.

import scipy.interpolate as il #for griddata 
# meshgrid of coords in this tile 
gridX, gridY = np.meshgrid(xi[c*tcols:(c+1)*tcols], yi[r*trows:(r+1)*trows][::-1]) 

## Creating the DEM in this tile 
zi = il.griddata((coordsT[0], coordsT[1]), coordsT[2], (gridX, gridY),method='linear',fill_value = nodata) # fill_value to prevent NaN at polygon outline 

Линейная интерполяция, похоже, делает именно то, что я хочу. См. Описание на https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html

Смежные вопросы