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中的RSS处理
Apr 13 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
python中的print()输出
Apr 12 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
python 接口实现 供第三方调用的例子
Aug 13 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
使用pandas的box_plot去除异常值
Dec 10 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Python高并发解决方案实现过程详解
Jul 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
GreyBox技术总结(转)
2010/11/23 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python抓取百度查询结果的方法
2015/07/08 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
成人毕业生自我鉴定
2013/10/18 职场文书
食堂标语大全
2014/06/11 职场文书
企业精神口号
2014/06/11 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技