我在geojson文件中有3d中的多个多边形,我想制作一个高程模型。这意味着我需要一个栅格,其中每个像素都是此位置中多边形的高度。
我试过看gdal_rasterize,但描述说
截至目前,只有点和线以3D绘制。
答案 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
中的说明