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整型运算之布尔型、标准整型、长整型操作示例
Jul 21 Python
用python实现对比两张图片的不同
Feb 05 Python
python读取和保存视频文件
Apr 16 Python
对python生成业务报表的实例详解
Feb 03 Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 Python
Python字典对象实现原理详解
Jul 01 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
python实现udp聊天窗口
Mar 31 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP实现清除MySQL死连接的方法
2016/07/23 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
List Installed Software Features
2007/06/11 Javascript
页面中js执行顺序
2009/11/09 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
python爬取抖音视频的实例分析
2021/01/19 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
database面试题
2013/03/28 面试题
银行先进个人总结
2015/02/15 职场文书
求职自我推荐信
2015/03/24 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers