当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2019-12-06 22:19

    由于最近在处理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文件修改的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。