利用pyshp包给shapefile文件添加字段的实例

yipeiwu_com6年前Python基础

在已有的shapefile文件的基础上增加字段:

 # -*- coding:gb2312 -*-
import shapefile

r=shapefile.Reader(r"C:\Users\skfzh\Documents\python地理空间分析指南\第五章\5.5.4\output\NYC_MUSEUMS_UTM")
w=shapefile.Writer(r"C:\Users\skfzh\Documents\python地理空间分析指南\第五章\5.5.4\output\NYC_MUSEUMS_UTM_update",shapeType=r.shapeType)
w.fields=list(r.fields)
#新增加两个字段
w.field("LAT","F",8,5)
w.field("LON","F",8,5)

#将另外一个文件中的坐标点的信息存入新增加的两个字段
geo=shapefile.Reader(r"C:\Users\skfzh\Documents\python地理空间分析指南\第五章\5.5.4\NYC_MUSEUMS_GEO\NYC_MUSEUMS_GEO")
i=0  
for rec in r.iterShapeRecords():
 ls=rec.record
 lon,lat=geo.shape(i).points[0]  #可以再此处增加判断语句,限制i的大小。防止增加的字段数目不匹配问题
 # print(geo.shape(i).points)
 ls.extend([lat,lon])
 # print(ls)
 w.record(*ls)
 w.shape(rec.shape)
 i+=1

w.close()

以上这篇利用pyshp包给shapefile文件添加字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现的DES加密算法和3DES加密算法实例

本文实例讲述了python实现的DES加密算法和3DES加密算法。分享给大家供大家参考。具体实现方法如下: #####################################...

对pandas中时间窗函数rolling的使用详解

在建模过程中,我们常常需要需要对有时间关系的数据进行整理。比如我们想要得到某一时刻过去30分钟的销量(产量,速度,消耗量等),传统方法复杂消耗资源较多,pandas提供的rolling使...

Python queue队列原理与应用案例分析

本文实例讲述了Python queue队列原理与应用。分享给大家供大家参考,具体如下: 作用:    解耦:使程序直接实现松耦合,修改一个函数,不会有串联关系。    提高处理效率:FI...

Python Xml文件添加字节属性的方法

实例如下所示: from xml.etree.cElementTree import ElementTree,Element import xlrd import re def re...

Python批量发送post请求的实现代码

昨天学了一天的Python(我的生产语言是java,也可以写一些shell脚本,算有一点点基础),今天有一个应用场景,就正好练手了。 这个功能之前再java里写过,比较粗糙,原来是在我本...