我正在尝试根据一组散布点创建一组轮廓多边形,这些散布点包含某种数值数据,例如温度。 我以前使用的方法是通过空间插值生成栅格,然后执行轮廓处理,然后使用这些轮廓线构造多边形或将栅格像元转换为多边形。所有这些都是在ArcGIS中完成的。 但是考虑到许可证的到期,我想在纯Python中做同样的事情。我尝试了PostGIS,但没有成功。现在我转向GDAL。
我的计划是使用gdal.Grid从点创建平滑的表面geotiff文件,然后使用gdal.ContourGenerate获取轮廓线,最后用这些轮廓线和一些蒙版线环(例如边框)构造多边形。但是,我停留在第一步。
这是我的代码,该脚本仅创建一个空的geotiff文件,GDAL的文档并未真正说明该功能。有人可以帮我解决这个问题吗?
输入test.shp是ESRI shapefile,它有一个名为“值”的列,该列存储我要用于插值的数据。
import gdal
option = gdal.GridOptions(format='GTiff',
width=250,height=250,
algorithm='invdist:power=2',
layers=['d:/work/contour/test.shp'],
zfield='value')
out = gdal.Grid('d:/work/contour/test.tif',
'd:/work/contour/test.shp',
options=option)
out.FlushCache()
out = None
del out