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开发编码规范
Sep 08 Python
Python语法快速入门指南
Oct 12 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python模块的加载讲解
Jan 15 Python
flask框架路由常用定义方式总结
Jul 23 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
python 写一个水果忍者游戏
Jan 13 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合并discuz用户脚本的方法
2015/08/04 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
深入学习Python中的上下文管理器与else块
2017/08/27 Python
html5唤起app的方法
2017/11/30 HTML / CSS
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
超市督导岗位职责
2015/04/10 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
2015年暑期见闻
2015/07/14 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL