Python+GDAL/OGR矢量数据处理概述
利用GDAL/OGR提供的Python 开发包,可以快速、自主的进行矢量数据处理,环境搭建的方法,详见博客python地理数据处理环境搭建。下面对利用GDAL/OGR进行地理数据处理的知识点进行总结。
1、OGR类结构图
如下图所示,OGR的类结构图,与地理空间数据的组织方式基本一致,由数据源、图层、要素、集合对象和属性等组成,此外还包括驱动、属性定义及一些常量等。
2、数据源与驱动
数据源,顾名思义,即是数据来源,通过ogr的方法open打开指定路径文件或文件,故数据源可以是具体的数据文件,也可以是包括数据文件的文件夹,它由一个或多个图层构成。驱动提供对数据的支持,不同的数据格式由不同的驱动提供支持,OGR支持常用的矢量数据类型,同时不同的驱动支持数据操作也不一样,有的支持读写、有的只支持读取。下面是打开数据源和获取驱动的示例代码:
from osgeo import ogr
fn = r'D:\ArcGIS 10.2\chinavec'
#以读写方式打开数据源
ds = ogr.open(fn, 1)
#从打开的数据源中获取驱动
driver = ds.GetDriver()
#通过名字获取驱动
driver2 = ogr.GetDriverByName('GeoJSON')
fn2 = r'D:\ArcGIS 10.2\chinavec\geojson'
//以指定路径创建数据源
ds2 = driver2.CreateDataSource(fn2)
GDAL目前有93种矢量数据驱动,每种驱动支持的读、写说明,详见OGR Vector Formats
转载自:https://blog.csdn.net/shaxiaozilove/article/details/79313515