使用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 tempfile模块学习笔记(临时文件)
May 25 Python
使用Python的Flask框架实现视频的流媒体传输
Mar 31 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
PyQt5的相对布局管理的实现
Aug 07 Python
Pytorch DataLoader shuffle验证方式
Jun 02 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实现批量查询清除一句话后门的代码
2008/01/20 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
原生js实现购物车
2020/09/23 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python二维码生成识别实例详解
2019/07/16 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
什么是会话Bean
2015/05/14 面试题
技术岗位竞聘演讲稿
2014/05/16 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
医院合作协议书
2014/08/19 职场文书
升职自荐信范文
2015/03/27 职场文书
小学数学教学反思范文
2016/02/16 职场文书