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 相关文章推荐
Centos Python2 升级到Python3的简单实现
Jun 21 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
python正则实现计算器功能
Dec 14 Python
Flask核心机制之上下文源码剖析
Dec 25 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
Python文本处理简单易懂方法解析
Dec 19 Python
Python netmiko模块的使用
Feb 14 Python
Python类的动态绑定实现原理
Mar 21 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php单例模式的简单实现方法
2016/06/10 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
Python中使用PDB库调试程序
2015/04/05 Python
怎样使用Python脚本日志功能
2016/08/14 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python3实现表白神器
2019/04/09 Python
python字符串格式化方式解析
2019/10/19 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
奥巴马英文演讲稿
2014/05/15 职场文书
财务务虚会发言材料
2014/10/20 职场文书
个人事迹材料范文
2014/12/29 职场文书
计划生育责任书
2015/05/09 职场文书