python创建ArcGIS shape文件的实现


Posted in Python onDecember 06, 2019

工作中遇到了一个需求,需要把一段json文本转化成ArcGIS shape文件,想来想去,还是考虑用python来实现。

直接上代码

import shapefile
import json
import os
 
#shapefile="polygon.shp";
#jsonfile="社区网格.json";
 
def run():
  data=readJSON()
  datalist=data["list"]
  file=shapefile.Writer(target="社区网格.shp",shapeType=shapefile.POLYGON,autoBalance=True);
  #设置属性信息
  file.field('nere', 'C', '40') #'SECOND_FLD'为字段名称,C代表数据类型为字符串,长度为40
  file.field('fileName', 'C', '40')
  file.field('url', 'C', '40')
  file.field('photo', 'C', '40')
  file.field('netGrnereNum', 'C', '40')
  file.field('color', 'C', '40')
  file.field('num', 'C', '40')
  file.field('lat', 'C', '40')
  file.field('lon', 'C', '40')
  file.field('togriga', 'C', '40')
  file.field('gudumji', 'C', '40')
  file.field('memo', 'C', '40')
 
  #写入数据
  for item in datalist:
    nere=item["nere"]
    fileName = item["fileName"]
    url = item["url"]
    photo = item["photo"]
    netGrnereNum = item["netGrnereNum"]
    color = item["color"]
    num = item["num"]
    lat = item["lat"]
    lon = item["lon"]
    togriga = item["togriga"]
    gudumji = item["gudumji"]
    memo = item["memo"]
    polysStr = item["hotinfo"]
    polys=parsing(polysStr);
    #写入
    file.poly(polys=polys)
    file.record(nere,fileName,url,photo,netGrnereNum,color,num,lat,lon,togriga,gudumji,memo)
    print("-------写入成功---------")
  #保存文件
  file.save("社区网格.shp")
 
#读取json文件
def readJSON():
  f = open("社区网格.json", "r",encoding="utf-8") # 设置文件对象
  _str = f.read() # 将txt文件的所有内容读入到字符串str中
  f.close() # 关闭文件
  print("读取json完成")
  if _str.startswith(u'\ufeff'):
    _str = _str.encode('utf8')[3:].decode('utf8')
  data = json.loads(_str,encoding='utf8')
  return data;
  #print(data)
 
#数据解析
def parsing(text):
  data=[]
  strs=text.split(",");
  for line in strs:
    xy=line.split(" ");
    x_y=[float(xy[0]),float(xy[1])]
    data.append(x_y)
  _data=[];
  _data.append(data)
  return _data;
 
 
if __name__=="__main__":
  print("执行程序!!!");
  run();
  print("程序结束!!!");

以上这篇python创建ArcGIS shape文件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
python写入xml文件的方法
May 08 Python
Python获取指定字符前面的所有字符方法
May 02 Python
python批量修改文件编码格式的方法
May 31 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
Python字符串格式化输出代码实例
Nov 22 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Python数据可视化图实现过程详解
Jun 12 Python
python编写扎金花小程序的实例代码
Feb 23 Python
python本地文件服务器实例教程
May 02 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 #Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 #Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 #Python
用python求一重积分和二重积分的例子
Dec 06 #Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 #Python
numpy按列连接两个维数不同的数组方式
Dec 06 #Python
使用Python实现分别输出每个数组
Dec 06 #Python
You might like
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
移动端界面的适配
2017/01/11 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python调用fortran模块
2016/04/08 Python
python实现简单购物商城
2016/05/21 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python实现图书借阅系统
2019/02/20 Python
python图像和办公文档处理总结
2019/05/28 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
通过自学python能找到工作吗
2020/06/21 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
资深财务管理人员自我评价
2013/09/22 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
怎么写自荐书范文
2014/02/12 职场文书
公司踏青活动方案
2014/08/16 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
获奖感言范文
2015/07/31 职场文书
消防安全培训工作总结
2015/10/23 职场文书
django中websocket的具体使用
2022/01/22 Python