如何从三维多边形制作高程模型?

时间:2016-11-03 09:06:49

标签: python gdal polygons rasterizing

我在geojson文件中有3d中的多个多边形,我想制作一个高程模型。这意味着我需要一个栅格,其中每个像素都是此位置中多边形的高度。

我试过看gdal_rasterize,但描述说

  

截至目前,只有点和线以3D绘制。

gdal_rasterize

1 个答案:

答案 0 :(得分:1)

我最终使用名为griddata的scipy.interpolat函数。这使用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

中的说明