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 相关文章推荐
详解Swift中属性的声明与作用
Jun 30 Python
Python运算符重载详解及实例代码
Mar 07 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
Python 加密的实例详解
Oct 09 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
python3实现字符串操作的实例代码
Apr 16 Python
python hough变换检测直线的实现方法
Jul 12 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
php微信公众平台交互与接口详解
2016/11/28 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
大专学生推荐信范文
2013/11/19 职场文书
大学生的网上创业计划书
2013/12/31 职场文书
管理专员自荐信
2014/01/26 职场文书
元旦晚会主持词
2014/03/24 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
邓小平理论心得体会
2014/09/09 职场文书
技术员个人工作总结
2015/03/03 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
Android Studio 计算器开发
2022/05/20 Java/Android