Python中shapefile转换geojson的示例


Posted in Python onJanuary 03, 2019

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调用windows api锁定计算机示例
Apr 17 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
Python编码类型转换方法详解
Jul 01 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
使用Python对Access读写操作
Mar 30 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
深入浅析Python中的迭代器
Jun 04 Python
Django Celery异步任务队列的实现
Jul 24 Python
使用python实现对元素的长截图功能
Nov 14 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Python关于excel和shp的使用在matplotlib
Jan 03 #Python
Python使用folium excel绘制point
Jan 03 #Python
Python获取航线信息并且制作成图的讲解
Jan 03 #Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 #Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 #Python
python 调用有道api接口的方法
Jan 03 #Python
对python调用RPC接口的实例详解
Jan 03 #Python
You might like
咖啡语言
2021/03/03 咖啡文化
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
php实现的http请求封装示例
2016/11/08 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JQuery循环滚动图片代码
2011/12/08 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
Python FTP操作类代码分享
2014/05/13 Python
Python 文件管理实例详解
2015/11/10 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python代码实现KNN算法
2017/12/20 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
小车司机岗位职责
2013/11/25 职场文书
高中生期末评语
2014/01/28 职场文书
企业元宵节主持词
2014/03/25 职场文书
网站美工岗位职责
2014/04/02 职场文书
大一新生学期自我评价
2014/04/09 职场文书
结婚保证书范文
2014/04/29 职场文书
安全生产演讲稿
2014/05/09 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
民事二审代理词
2015/05/25 职场文书