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之hello world
May 21 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
简单上手Python中装饰器的使用
Jul 12 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
基于python实现图片转字符画代码实例
Sep 04 Python
python list的index()和find()的实现
Nov 16 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
Python中使用动态变量名的方法
2014/05/06 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python使用minimax算法实现五子棋
2019/07/29 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
python实现飞行棋游戏
2020/02/05 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
单位刻章介绍信范文
2014/01/11 职场文书
农贸市场管理制度
2014/01/31 职场文书
新护士岗前培训制度
2014/02/02 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
员工辞职信怎么写
2015/02/27 职场文书
千手观音观后感
2015/06/03 职场文书
2016党员入党决心书
2015/09/22 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang