首页 > 编程 > Python > 正文

Python中shapefile转换geojson的示例

2020-01-04 13:37:32
字体:
来源:转载
供稿:网友

shapefile转换geojson

import shapefileimport codecsfrom json import dumps# read the shapefiledef 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')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VEVB武林网的支持。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表