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深入学习之内存管理
Aug 31 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
python基于物品协同过滤算法实现代码
May 31 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
浅析python参数的知识点
Dec 10 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
python实现共轭梯度法
Jul 03 Python
Python控制台实现交互式环境执行
Jun 09 Python
Python采集股票数据并制作可视化柱状图
Apr 04 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 Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
javascript动画浅析
2012/08/30 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python实现图片添加文字
2019/11/26 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
医院办公室主任职责
2013/12/29 职场文书
学校消防安全制度
2014/01/30 职场文书
节约用水演讲稿
2014/05/21 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
防汛通知
2015/04/25 职场文书
python turtle绘图命令及案例
2021/11/23 Python