使用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文件修改的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python 根据数据模板创建shapefile的实现

    废话不多说,我就直接上代码让大家看看吧! #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : copyShapefile.py # @Author: huifer # @Date : 2018-4-28 from os.path import exists import gdal from osgeo import ogr from os import remove gdal.SetConfigOption("GDAL_FILENAME

  • 利用pyshp包给shapefile文件添加字段的实例

    在已有的shapefile文件的基础上增加字段: # -*- coding:gb2312 -*- import shapefile r=shapefile.Reader(r"C:\Users\skfzh\Documents\python地理空间分析指南\第五章\5.5.4\output\NYC_MUSEUMS_UTM") w=shapefile.Writer(r"C:\Users\skfzh\Documents\python地理空间分析指南\第五章\5.5.4\output\

  • 创建Shapefile文件并写入数据的例子

    基本思路 使用GDAL创建Shapefile数据的基本步骤如下: 使用osgeo.ogr.Driver的CreateDataSource()方法创建osgeo.ogr.DataSource矢量数据集 使用osgeo.ogr.DataSource的CreateLayer()方法创建一个图层 使用osgeo.ogr.FieldDefn()定义Shapefile文件的属性字段 创建osgeo.ogr.Feature对象,设置每个属性字段的值,使用Feature对象的SetGeometry()定义几何属

  • Python使用pyshp库读取shapefile信息的方法

    通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 https://github.com/GeospatialPython/pyshp#reading-shapefile-meta-data import shapefile # 使用pyshp库 file = shapefile.Reader("data\\市界.shp") shapes = file.shapes() # <editor-fold desc="读取元数据"&g

  • Python中shapefile转换geojson的示例

    shapefile转换geojson import shapefile import codecs from json import dumps # read the shapefile def shp2geo(file="line出产.shp"): reader = shapefile.Reader(file) fields = reader.fields[1:] field_names = [field[0] for field in fields] buffer = [] for

  • 使用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

  • Java函数式编程(十二):监控文件修改

    使用flatMap列出子目录 前面已经看到如何列出指定目录下的文件了.我们再来看下如何遍历指定目录的直接子目录(深度为1),先实现一个简单的版本,然后再用更方便的flatMap()方法来实现. 我们先用传统的for循环来遍历一个指定的目录.如果子目录中有文件,就添加到列表里:否则就把子目录添加到列表里.最后,打印出所有文件的总数.代码在下面--这个是困难模式的. 复制代码 代码如下: public static void listTheHardWay() {      List<File> f

  • pyshp创建shp点文件的方法

    如下所示: # coding:utf-8 import shapefile w = shapefile.Writer() w.autoBalance = 1 w = shapefile.Writer(shapefile.POINT) w.field('x', 'C') w.field('y', 'C', '40') w.field('v', 'C', '40') # with open('data')as f0: # for line in f0: # line = line.strip() #

  • springboot打jar包之后下载文件的路径问题

    错误信息 能看到下载的路径中包含了jar包,wlaqWeb-0.0.1-SNAPSHOT.jar! java.io.FileNotFoundException: file:\C:\Users\PENGXIN\Desktop\网络安全\jars\wlaqWeb-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\static\securityParameter\template\网络安全台账(模板).xlsx (文件名.目录名或卷标语法不正确.) at java.io.Fi

  • Linux deb包解压、修改等操作方法代码示例

    出于多种原因,有的时候需要直接对deb包中的各种文件内容进行修改 主要有三个问题需要解决: 0.如何将deb包文件进行解包呢? 1.修改要修改的文件? 2.对修改后的内容进行生成deb包? 解包命令为 #解压出包中的文件到extract目录下 lin@lin-host:~/Desktop/100次重启工具$ ls LongTestTools.sh loong-test-s2s3_1.0.0-2_all.deb readme.txt lin@lin-host:~/Desktop/100次重启工具$

  • discuz论坛更换域名,详细文件修改步骤

    搬家步骤具体如下: 1.打包数据库文件保存到本地. 2.打包网站根目录所有程序(discuz)保存到本地. 3.上传网站程序包和数据库包到新的空间,将数据库上传到新的服务器中. 4.找到 config\config_global.php 文件,修改以下3处内容: $_config['db']['1']['dbuser'] = '数据库用户名'; $_config['db']['1']['dbpw'] = '数据库密码'; $_config['db']['1']['dbname'] = '数据库名

  • python geopandas读取、创建shapefile文件的方法

    shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point).线(polyline)和多边形(polygon).作为一种十分常见的矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持,其DataFrame结构相当于GIS数据中的一张属性表,使得可以直接操作矢量数据属性表,使得在python中操作地理数据更方便.本文给大家介绍下用Python脚本中对Shapefile文件(.shp,.shx,.d

  • node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用

    在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作.有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好.Node Supervisor正是这样一个可以实现这种需求的Node.js模块. 根据Github上的说明,Nod

随机推荐