Python中shapefile转换geojson的示例

 更新时间:2019年01月03日 11:46:16   作者:staHuri   我要评论

今天小编就为大家分享一篇关于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 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')

总结

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

相关文章

  • Python实现的选择排序算法示例

    Python实现的选择排序算法示例

    这篇文章主要介绍了Python实现的选择排序算法,结合实例形式分析了Python选择排序的概念、原理及简单实现技巧,需要的朋友可以参考下
    2017-11-11
  • Python实现队列的方法

    Python实现队列的方法

    这篇文章主要介绍了Python实现队列的方法,实例分析了Python实现队列的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python爬虫之正则表达式的使用教程详解

    Python爬虫之正则表达式的使用教程详解

    本文实例代码相结合给大家详细介绍了Python爬虫之正则表达式的使用,包括参数介绍,最常规的匹配,匹配目标,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-10-10
  • 如何运行Python程序的方法

    如何运行Python程序的方法

    以下均基于windows下操作,并且安装的是最新的python3.3版本。
    2013-04-04
  • python实现zabbix发送短信脚本

    python实现zabbix发送短信脚本

    这篇文章主要为大家详细介绍了python实现zabbix发送短信脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Python常用特殊方法实例总结

    Python常用特殊方法实例总结

    这篇文章主要介绍了Python常用特殊方法,结合实例形式总结分析了Python常见的__init__、__new__、__del__、__str__、__repr__等特殊方法与描述符相关功能及使用技巧,需要的朋友可以参考下
    2019-03-03
  • 使用Python简单的实现树莓派的WEB控制

    使用Python简单的实现树莓派的WEB控制

    这篇文章主要介绍了使用Python简单的实现树莓派的WEB控制的相关资料,需要的朋友可以参考下
    2016-02-02
  • 举例介绍Python中的25个隐藏特性

    举例介绍Python中的25个隐藏特性

    这篇文章主要介绍了一些Python中的隐藏特性,从stackoverflow的人气问题回答中整理而来,主要以代码实际解释说明,需要的朋友可以参考下
    2015-03-03
  • 解析Python中的变量、引用、拷贝和作用域的问题

    解析Python中的变量、引用、拷贝和作用域的问题

    这篇文章主要介绍了Python中的变量、引用、拷贝和作用域的相关问题,是Python学习过程当中必会的基础知识,需要的朋友可以参考下
    2015-04-04
  • 对python:print打印时加u的含义详解

    对python:print打印时加u的含义详解

    今天小编就为大家分享一篇对python:print打印时加u的含义详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论