《Python地理数据处理》课后笔记---01读取shp格式矢量数据

@Python地理数据处理python

《Python地理数据处理》课后笔记—01读取shp格式矢量数据

【书内资源下载网址】https://www.manning.com/books/geoprocessing-with-python

具体实现代码

#导入模块
import sys
from osgeo import ogr

#指定文件位置
fn = r'F:\chwdata\code\GIS\osgeopy-data\osgeopy-data-global\osgeopy-data\global\ne_50m_populated_places.shp'
#open函数传递文件名和一个可选更新标记,打开一个数据源
ds = ogr.Open(fn,0)  #第二个值默认为0,以只读模式打开文件,1或者True;以编辑模式打开
#若文件为空,则输出错误日志
if ds is None:
    #退出程序
    sys.exit('could not open {0}.'.format(fn))
#GetLayer函数获得图层索引或者图层名
lyr = ds.GetLayer(0)

i = 0
#循环遍历前十个要素
for feat in lyr:
    #从要素中获取几何体
    pt = feat.geometry()
    #获取X坐标
    x = pt.GetX()
    #获取Y坐标
    y = pt.GetY()
    #获取NAME字段的值
    name = feat.GetField('NAME')
    #获取POP_MAX字段的值
    pop = feat.GetField('POP_MAX')
    print(name, pop, x, y)
    i += 1
    if i == 10:
        break
del ds

输出结果

Bombo 75000 32.533299524864844 0.5832991056146284
Fort Portal 42670 30.27500161597942 0.671004121125236
Potenza 69060 15.798996495640267 40.642002130098206
Campobasso 50762 14.655996558921856 41.56299911864397
Aosta 34062 7.315002595706176 45.7370010670723
Mariehamn 10682 19.949004471869102 60.09699618489543
Ramallah 24599 35.206209378189556 31.90294475142406
Vatican City 832 12.453386544971766 41.903282179960115
Poitier 85960 0.3332765285345545 46.58329225573658
Clermont-Ferrand 233050 3.080008095928406 45.779982115759424

重点:

(1)ogr.Open(fn,0) #fn为具体文件路径,第二个值默认为0,以只读模式打开文件,1或者True;以编辑模式打开
(2)feat.geometry() #从要素中获取几何体
(3).GetX(),.GetY()#获取X,Y坐标
(4).GetField(‘NAME’)#获取NAME字段的值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值