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提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
python实现SOM算法
Feb 23 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
python学生信息管理系统(完整版)
Apr 05 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
python tkinter窗口最大化的实现
Jul 15 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
django 装饰器 检测登录状态操作
Jul 02 Python
python 绘制场景热力图的示例
Sep 23 Python
利用python实现后端写网页(flask框架)
Feb 28 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
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
用js重建星际争霸
2006/12/22 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
python中遍历文件的3个方法
2014/09/02 Python
python 图像平移和旋转的实例
2019/01/10 Python
python批量修改ssh密码的实现
2019/08/08 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
驾驶员安全责任书
2014/07/22 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
质量保证书
2015/01/17 职场文书
java实现web实时消息推送的七种方案
2022/07/23 Java/Android