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静态方法实例
Jan 14 Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
python实现数据库跨服务器迁移
Apr 12 Python
Python日期时间Time模块实例详解
Apr 15 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
python入门之基础语法学习笔记
Feb 08 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
Flask和pyecharts实现动态数据可视化
Feb 26 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
python 操作excel表格的方法
Dec 05 Python
Python利用zhdate模块实现农历日期处理
Mar 31 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
如何判断图片地址是否失效
2007/02/02 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
javascript操作cookie
2017/01/17 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
编程输出如下图形
2013/11/24 面试题
测量实习生自我鉴定
2013/09/19 职场文书
项目考察欢迎辞
2014/01/17 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
竞争上岗实施方案
2014/03/21 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
老公保证书范文
2014/04/29 职场文书
教师见习报告范文
2014/11/03 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis
Golang入门之计时器
2022/05/04 Golang