Python地理数据处理之GDAL/OGR使用


一、
首先是在学习Python地理数据处理这本书时了解的这个知识点,
附上书的链接
https://www.manning.com/books/geoprocessing-with-python#downloads
可以在左侧下载地理Data和Code


二、python配置安装 (本次安装以python3.4为例)自行解决


三、简介 GDAL/OGR

GDAL(Geospatial Data Abstraction Library)
是一个的开源栅格空间数据读取/转换库。
其中还有一系列命令行工具来进行数据转换和处理。

ORG项目
是GDAL的一个分支,功能与GDAL类似,但其提供对矢量数据的支持。
(如果想显示shapefile,还需要用其他工具)。
安装配置:
http://www.gisinternals.com/
1.选择Stable Release
2.选择合适的版本
(以MSVC 2013 x64 release-1800-x64-gdal-2-2-1-mapserver-7-0-6为例)


下载安装文件:

    release-1800-x64-gdal-2-2-1-mapserver-7-0-6-libs.zip
     gdal-202-1800-x64-core.msi
     GDAL-2.2.1.win-amd64-py3.4.msi  

开始安装Core
这里使用了默认安装,也就是GDAL将安装到C:\Program Files\GDAL目录下。
设置新的环境变量,
变量名为GDAL_DATA,值为C:\Program Files\GDAL\gata-data
将C:\Program Files\GDAL添加到环境变量的PATH中,注意,尽量将这个目录添加到PATH环境变量中的起始位置,以免发生其他问题。
双击安装Python接口包。

ok!!!!


以上面数据为例
打开python shell

>>> import sys
>>> from osgeo import ogr
>>> fn=r'C:\osgeopy-data\osgeopy-data\osgeopy-data-global\osgeopy-data\global\ne_50m_populated_places.shp'
>>> ds=ogr.Open(fn,0)
>>> if ds is None:
    sys.exit('Could not open {0}'.format(fn))
>>> lyr=ds.GetLayer(0)
>>> i=0
>>> for feat in lyr:
    pt=feat.geometry()
    x=pt.GetX()
    y=pt.GetY()
    name=feat.GetField('NAME')
    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

完成!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值