8_读取矢量数据

本文详细介绍了如何使用Python的osgeo.ogr模块读取和操作ESRI Shapefile矢量数据,包括获取图层、图层属性、要素信息、几何形状以及矢量文件的投影参数。示例代码演示了从打开shapefile到获取特征的属性和几何信息的完整过程,并展示了如何遍历和提取属性表内容。最后,文章提到了释放资源的重要性。

读取矢量数据

读取矢量数据的方式就是上一章所讲的两种方法。

操作图层

现在要明白矢量数据的文件组织结构。

shp—>layer—>feature—>geometry—>wkt

一个shp文件中是只包含一个layer的;

layer就是同一个要素的集合,比如点集合、线集合、面集合,一个城市所有的学校为点集合;

feature指代单个的点线面之类的geometry,比如学校点集合中的某一个学校就是一个要素,在属性表中表示为一行数据;

geometry的组织方式就是wkt

__author__ = 'He XK'
from osgeo import ogr

if __name__ == '__main__':
    shp_filename = 'shp/province_1.shp'
    driver = ogr.GetDriverByName('ESRI Shapefile')
    shp = driver.Open(shp_filename)
    print(shp.GetLayerCount())  # 1
    # 获取图层
    layer = shp.GetLayer(0)
    # 获取图层要素
    print(layer.GetFeatureCount())  # 37
    print(layer.GetGeomType())  # 3
    print(layer.GetExtent())  # (-3349547.371448596, 1834629.4342002147, 699750.9271820501, 5953688.75950143)

操作图层首先需要获取layer,通过layer = shp.GetLayer(0),顺序从0开始,默认是0,所有的shp也只能有一个layer

可以查看图层的要素数量、图层范围等信息。

获取图层属性

layer_info = layer.GetLayerDefn(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值