1. 程式人生 > 程式設計 >使用pyshp包進行shapefile檔案修改的例子

使用pyshp包進行shapefile檔案修改的例子

由於最近在處理shp檔案,想要跳出arcpy的限制,所以打算學習一下pyshp包的使用方法。在使用《Python地理空間分析指南(第2版)》的時候發現書中部分程式碼由於版本更新,無法執行。開貼記錄踩過的雷。

這個問題是出現在5.5.4的shapefile檔案修改中:

 # -*- coding:gb2312 -*-
import shapefile
import utm
 
file_path=r"C:\Users\skfzh\Documents\python地理空間分析指南\第五章\5.5.4\NYC_MUSEUMS_GEO\NYC_MUSEUMS_GEO.shp"
r=shapefile.Reader(file_path)
# print(list(r.fields))
# print(r.shapeTypeName)
#版本修改,路徑和型別都要在writer裡面定義
w=shapefile.Writer(r"C:\Users\skfzh\Documents\python地理空間分析指南\第五章\5.5.4\output\NYC_MUSEUMS_UTM",\
          shapeType=r.shapeType)
w.fields=list(r.fields[1:])
for rec in r.iterShapeRecords():#新版本已經刪除了w.records 
  # print(*rec.record)
  w.record(*rec.record)
for sha in r.iterShapes():
  # print(sha.points[0])
  lon,lat=sha.points[0]
  y,x,zone,band=utm.from_latlon(lat,lon)
  w.point(x,y)
 
w.close()

以上這篇使用pyshp包進行shapefile檔案修改的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。