python

超轻量级php框架startmvc

Python中shapefile转换geojson的示例

更新时间:2020-06-18 21:48:01 作者:startmvc
shapefile转换geojsonimportshapefileimportcodecsfromjsonimportdumps#readtheshapefiledefshp2geo(file="line出产.shp"):r

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 sr in reader.shapeRecords():
 record = sr.record
 record = [r.decode('gb2312', 'ignore') if isinstance(r, bytes)
 else r for r in record]
 atr = dict(zip(field_names, record))
 geom = sr.shape.__geo_interface__
 buffer.append(dict(type="Feature", geometry=geom, properties=atr))
 # write the GeoJSON file
 geojson = codecs.open(file.split('.')[0] + "-geo.json", "w", encoding="gb2312")
 geojson.write(dumps({"type": "FeatureCollection", "features": buffer}, indent=2) + "\n")
 geojson.close()
if __name__ == '__main__':
 # import os
 # for z,x,c in os.walk('.'):
 # for zz in c:
 # if zz.endswith(".shp"):
 # shp2geo(zz)
 # shp2geo(file='D.shp')
 shp2geo(file='ttttttttttt.shp')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

shapefile转换geojson python中shapefile转换geojson的示例