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 相关文章推荐
通过C++学习Python
Jan 20 Python
Python中文件操作简明介绍
Apr 13 Python
详细解析Python中__init__()方法的高级应用
May 11 Python
讲解Python中的标识运算符
May 14 Python
Python实现的简单算术游戏实例
May 26 Python
Python基于有道实现英汉字典功能
Jul 25 Python
Python连接mysql数据库的正确姿势
Feb 03 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
深入浅析Python中的yield关键字
Jan 24 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
Python依赖包迁移到断网环境操作
Jul 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中函数内引用全局变量的方法
2008/10/20 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
linux中cd命令使用详解
2015/01/08 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
python 远程统计文件代码分享
2015/05/14 Python
python提取字典key列表的方法
2015/07/11 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
python openCV自制绘画板
2020/10/27 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
最新个人职业生涯规划书
2014/01/22 职场文书
师范学院教师自荐书
2014/01/31 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python