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


Posted in Python onDecember 06, 2019

由于最近在处理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 自动提交和抓取网页
Jul 13 Python
python网络编程学习笔记(五):socket的一些补充
Jun 09 Python
Python中的yield浅析
Jun 16 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
python字符串循环左移
Mar 08 Python
Python中Numpy ndarray的使用详解
May 24 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
春节到了 教你使用python来抢票回家
Jan 06 Python
解决Django Haystack全文检索为空的问题
May 19 Python
django为Form生成的label标签添加class方式
May 20 Python
python logging模块的使用详解
Oct 23 Python
python实现腾讯滑块验证码识别
Apr 27 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 #Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 #Python
用python求一重积分和二重积分的例子
Dec 06 #Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 #Python
numpy按列连接两个维数不同的数组方式
Dec 06 #Python
使用Python实现分别输出每个数组
Dec 06 #Python
Python 获取numpy.array索引值的实例
Dec 06 #Python
You might like
PHP 七大优势分析
2009/06/23 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
小学班主任教育随笔
2015/08/15 职场文书
学校团代会开幕词
2016/03/04 职场文书
各种货币符号快捷输入
2022/02/17 杂记
如何利用python创作字符画
2022/06/25 Python