我是靠谱客的博主 认真短靴,最近开发中收集的这篇文章主要介绍《Python地理数据处理》课后笔记---01读取shp格式矢量数据《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:chwdatacodeGISosgeopy-dataosgeopy-data-globalosgeopy-dataglobalne_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字段的值
最后
以上就是认真短靴为你收集整理的《Python地理数据处理》课后笔记---01读取shp格式矢量数据《Python地理数据处理》课后笔记—01读取shp格式矢量数据的全部内容,希望文章能够帮你解决《Python地理数据处理》课后笔记---01读取shp格式矢量数据《Python地理数据处理》课后笔记—01读取shp格式矢量数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复