1. 程式人生 > 程式設計 >利用pyshp包給shapefile檔案新增欄位的例項

利用pyshp包給shapefile檔案新增欄位的例項

在已有的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",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檔案新增欄位的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。