使用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设计】。

相关文章

如何实现Django Rest framework版本控制

如何实现Django Rest framework版本控制

前言 首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版本了. 那么,我们就需要对版本进行控制——DRF版本控制. 源码剖...

PyCharm2018 安装及破解方法实现步骤

PyCharm2018 安装及破解方法实现步骤

PyCharm就是Python语言开发中一个很受欢迎的IDE,界面类似于visual studio,android studio,集成的功能也很多。 1>. 安装 首先要...

python enumerate内置函数用法总结

python enumerate内置函数用法总结

这篇文章主要介绍了python enumerate内置函数用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 enumera...

python语音识别实践之百度语音API

百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为441...

pycharm 使用心得(二)设置字体大小

pycharm 使用心得(二)设置字体大小

 步骤: Settings-->Editor-->Colors & Fonts-->Font 然后在size那里调整。...