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 相关文章推荐
详解Swift中属性的声明与作用
Jun 30 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
用Pygal绘制直方图代码示例
Dec 07 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
python实现屏保计时器的示例代码
Aug 08 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
python实现图片彩色转化为素描
Jan 15 Python
基于python二叉树的构造和打印例子
Aug 09 Python
python计算无向图节点度的实例代码
Nov 22 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Python Serial串口基本操作(收发数据)
Nov 06 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
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
destoon二次开发入门示例
2014/06/20 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
jquery禁用右键示例
2014/04/28 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
详解python中的json的基本使用方法
2016/12/21 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
Java多态性的定义以及类型
2014/09/16 面试题
公司门卫管理制度
2014/02/01 职场文书
高中同学会活动方案
2014/08/14 职场文书
婚前协议书范本
2014/10/27 职场文书
单位租房协议范本
2014/12/03 职场文书
实习单位意见
2015/06/04 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
如何写好活动总结
2019/06/21 职场文书
MySQL RC事务隔离的实现
2022/03/31 MySQL