将ASCII转换为轮廓shapefile

时间:2020-02-17 11:47:29

标签: python python-3.x contour shapefile geopandas

是否可以将ASCII文件或numpy数组直接转换为轮廓线并导出为shapefile(例如geopandas)?例如栅格高程数据。

我通常要做的是将ASCII作为numpy数组加载到python中,并将元数据存储在变量中。完成一些计算后,我将numpy数组与元数据一起导出为ASCII,然后将其转换为QGIS中的轮廓图。我很好奇是否有一种方法可以在Python中执行所有这些操作。任何建议都会很有帮助。

1 个答案:

答案 0 :(得分:1)

可以使用GDAL实用程序gdal_countour

将ASCII GRID文件转换为轮廓的shapefile。

https://gdal.org/programs/gdal_contour.html

例如,

gdal_contour -a elev dem.asc contour.shp -i 10.0

...这将根据dem.asc中的DEM数据创建10米的轮廓,并在轮廓{s.shp | shx | dbf}中生成一个shapefile,轮廓高度在elev属性中。

关于从Python调用该实用程序,因为GDAL 2.1,GDAL和OGR实用程序可用作库函数,请在此处获取更多信息:

http://erouault.blogspot.com/2015/10/gdal-and-ogr-utilities-as-library.html

甚至在GDAL中继上,都使用Python绑定进行了gdal_countour测试,您可以在其中查看如何在Python中以编程方式调用该实用程序:

https://svn.osgeo.org/gdal/trunk/autotest/utilities/test_gdal_contour.py