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

yipeiwu_com7年前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基础教程项目四之新闻聚合

《python基础教程》书中的第四个练习,新闻聚合。现在很少见的一类应用,至少我从来没有用过,又叫做Usenet。这个程序的主要功能是用来从指定的来源(这里是Usenet新闻组)收集信息...

Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项

python 的语法定义和C++、matlab、java 还是很有区别的。 1. 括号与函数调用 def devided_3(x): return x/3. print(a)...

深入理解python中sort()与sorted()的区别

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列 一,最简单的排序 1.使用sort排序 my_...

Python中的map、reduce和filter浅析

1、先看看什么是 iterable 对象 以内置的max函数为例子,查看其doc:复制代码 代码如下:>>> print max.__doc__max(iterable...

利用python numpy+matplotlib绘制股票k线图的方法

利用python numpy+matplotlib绘制股票k线图的方法

一、python numpy + matplotlib 画股票k线图 # -- coding: utf-8 -- import requests import numpy as np...