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多重继承新算法C3介绍
Sep 28 Python
用Python给文本创立向量空间模型的教程
Apr 23 Python
简单谈谈Python的pycurl模块
Apr 07 Python
Django处理文件上传File Uploads的实例
May 28 Python
Python提取频域特征知识点浅析
Mar 04 Python
使用python的pyplot绘制函数实例
Feb 13 Python
Django Model中字段(field)的各种选项说明
May 19 Python
python os模块常用的29种方法使用详解
Jun 02 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
Python dict的常用方法示例代码
Jun 23 Python
python搜索算法原理及实例讲解
Nov 18 Python
python 图像增强算法实现详解
Jan 24 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脚本数据库功能详解(中)
2006/10/09 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
10款实用的PHP开源工具
2015/10/23 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
怎么清空javascript数组
2013/05/11 Javascript
js控制table合并具体实现
2014/02/20 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
详解jquery和vue对比
2019/04/16 jQuery
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
python处理二进制数据的方法
2015/06/03 Python
对python 命令的-u参数详解
2018/12/03 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
农药学硕士毕业生自荐信
2013/09/25 职场文书
语文教育专业应届生求职信
2013/11/23 职场文书
初二物理教学反思
2014/01/29 职场文书
中学家长会邀请函
2014/02/03 职场文书
领导党性分析材料
2014/02/15 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
锦旗标语大全
2014/06/23 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书