创建Shapefile文件并写入数据

作者:阿振

邮箱:tanzhenyugis@163.com

博客:https://blog.csdn.net/theonegis/article/details/80089375

修改时间:2018-06-02

声明:本文为博主原创文章,转载请注明原文出处

基本思路

使用GDAL创建Shapefile数据的基本步骤如下:

  1. 使用osgeo.ogr.DriverCreateDataSource()方法创建osgeo.ogr.DataSource矢量数据集

  2. 使用osgeo.ogr.DataSourceCreateLayer()方法创建一个图层

  3. 使用osgeo.ogr.FieldDefn()定义Shapefile文件的属性字段

  4. 创建osgeo.ogr.Feature对象,设置每个属性字段的值,使用Feature对象的SetGeometry()定义几何属性

  5. 创建Feature对象以后,使用osgeo.ogr.LayerCreateFeature()添加Feature对象到当前图层

  6. 重复步骤4和5依次添加所有的Feature到当前图层即可

代码实现

下面的例子中,我们读取GeoJSON表示的中国省区数据,然后其转为Shapefile格式。

GeoJSON编码片段如下:

GeoJSON格式表示的中国省区

可以看到每个Feature都有一个properties字段和geometry字段,我们需要根据properties字段的信息创建Shapefile数据的属性表,根据geometry字段创建Shapefile中的几何数据。

Last updated