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抽象基类用法实例分析
Jun 04 Python
详解Python各大聊天系统的屏蔽脏话功能原理
Dec 01 Python
python 数据的清理行为实例详解
Jul 12 Python
pandas重新生成索引的方法
Nov 06 Python
python检测IP地址变化并触发事件
Dec 26 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
python实现高斯判别分析算法的例子
Dec 09 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
keras的ImageDataGenerator和flow()的用法说明
Jul 03 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
python - timeit 时间模块
Apr 06 Python
Pyhton模块和包相关知识总结
May 12 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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
vue实现登录拦截
2020/06/29 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
Python压缩和解压缩zip文件
2015/02/14 Python
python修改字典内key对应值的方法
2015/07/11 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
python中str内置函数用法总结
2020/12/27 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
国际贸易专业个人求职信格式
2014/02/02 职场文书
员工拓展培训方案
2014/02/15 职场文书
仓库管理计划书
2014/05/04 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
护士年终考核评语
2014/12/31 职场文书
综合素质自我评价评语
2015/03/06 职场文书