使用pyshp包进行shapefile文件修改的例子

yipeiwu_com6年前Python基础

由于最近在处理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文件修改的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python松散正则表达式用法分析

本文实例讲述了Python松散正则表达式用法。分享给大家供大家参考,具体如下: Python 允许用户利用所谓的 松散正则表达式来完成这个任务。一个松散正则表达式和一个紧凑正则表达式主要...

selenium+python自动化测试之多窗口切换

selenium+python自动化测试之多窗口切换

在很多页面上都有可点击的链接,点击这些链接会打开一个新的窗口,这时如果要在新打开的窗口中操作页面,就需要先切换到新窗口中,如果不进行切换操作,还是操作的上一个页面窗口 浏览器窗口的切换通...

Python的Django框架中的数据库配置指南

Python的Django框架中的数据库配置指南

记住这些理念之后,让我们来开始 Django 数据库层的探索。 首先,我们需要做些初始配置;我们需要告诉Django使用什么数据库以及如何连接数据库。 我们假定你已经完成了数据库服务器的...

python2与python3的print及字符串格式化小结

python2与python3的print及字符串格式化小结

最近一直在用python写程序,对于python的print一直很恼火,老是不按照预期输出。在python2中print是一种输出语句,和if语句,while语句一样的东西,在pytho...

Python装饰器使用实例:验证参数合法性

python是不带静态检查的动态语言,有时候需要在调用函数时保证参数合法。检查参数合法性是一个显著的切面场景,各个函数都可能有这个需求。但另一方面,参数合法性是不是应该由调用方来保证比较...