由于最近在处理shp文件,想要跳出arcpy的限制,所以打算学习一下pyshp包的使用方法。在使用《Python地理空间分析指南(第2版)》的时候发现书中部分代码由于版本更新,无法运行。开贴记录踩过的雷。
创新互联公司是一家专注于做网站、成都网站建设与策划设计,泸水网站建设哪家好?创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:泸水等地区。泸水做网站价格咨询:028-86922220这个问题是出现在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()