Python地学分析 — 矢量数据输出 03

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/XBR_2014/article/details/83684688

欢迎关注博主的微信公众号:“智能遥感”。

该公众号将为您奉上Python地学分析、爬虫、数据分析、Web开发、机器学习、深度学习等热门源代码。

Python的小伙伴们,咱们又见面啦!

本节给大家带来得知识点仍然是GDAL的矢量数据操作,主要是矢量数据的输出,好了,废话不多说,直接上代码!

~~~~~~~~~~~~~~~~~~~~~~~~~~

编程环境:

操作系统:windows

Python版本:2.7

IDE版本:PyCharm 2018.2.4专业版

~~~~~~~~~~~~~~~~~~~~~~~~~~

# _*_ coding: utf-8 _*_
__author__ = 'xbr'
__date__ = '2018/11/2 11:36'

import sys

from osgeo import ogr

# 获取该问夹下下所有shp数据集
ds = ogr.Open(r'D:\osgeopy-data\global', 1)

# 如果获取失败,则程序报错,不运行
if ds is None:
    sys.exit('Could not open folder.')
in_lyr = ds.GetLayer('ne_50m_populated_places')  # 获取该shp文件
# 如果该文件下存在获shp文件capital_cities,则删除,为了后面重新创建该shp文件
if ds.GetLayer('capital_cities'):
    ds.DeleteLayer('capital_cities')
out_lyr = ds.CreateLayer('capital_cities',
                         in_lyr.GetSpatialRef(),
                         ogr.wkbPoint)
out_lyr.CreateFields(in_lyr.schema)  # 创建shp属性表字段

out_defn = out_lyr.GetLayerDefn()
out_feat = ogr.Feature(out_defn)
for in_feat in in_lyr:
    if in_feat.GetField('FEATURECLA') == 'Admin-0 capital':
        geom = in_feat.geometry()
        out_feat.SetGeometry(geom)  # 创建几何信息
        # 将输入shp文件中的属性值赋给输出shp文件中的属性值
        for i in range(in_feat.GetFieldCount()):
            value = in_feat.GetField(i)
            out_feat.SetField(i, value)
        out_lyr.CreateFeature(out_feat)
del ds 

~~~~~~~~~~~~~~~~~~~~~~~~~~~

由于百度网盘上传数据开始抽风,小编决定放弃使用,后面会把数据和源码上传到我的GitHub上,大家敬请关注!

哦,还有一件事,我的CSDN博客也在同步更新,有什么好的想法和建议,可以在我的博客下方留言(微信公众号留言功能目前已取消,希望腾讯快点儿开通吧 *^_^*),相互学习与交流,欢迎您的参与!博客链接:

https://blog.csdn.net/XBR_2014

~~~~~~~~~~~~~~~~~~~~~~~~~~~

猜你喜欢

转载自blog.csdn.net/XBR_2014/article/details/83684688
今日推荐