python创建shape
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', '') #’SECOND_FLD’为字段名称,C代表数据类型为字符串,长度为40
file.field('fileName', 'C', '')
file.field('url', 'C', '')
file.field('photo', 'C', '')
file.field('netGrnereNum', 'C', '')
file.field('color', 'C', '')
file.field('num', 'C', '')
file.field('lat', 'C', '')
file.field('lon', 'C', '')
file.field('togriga', 'C', '')
file.field('gudumji', 'C', '')
file.field('memo', 'C', '') #写入数据
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')[:].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[]),float(xy[])]
data.append(x_y)
_data=[];
_data.append(data)
return _data; if __name__=="__main__":
print("执行程序!!!");
run();
print("程序结束!!!");
python创建shape的更多相关文章
- Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)
Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...
- 使用python创建mxnet操作符(网络层)
对cuda了解不多,所以使用python创建新的操作层是个不错的选择,当然这个性能不如cuda编写的代码. 在MXNET源码的example/numpy-ops/下有官方提供的使用python编写新操 ...
- Python 创建本地服务器环境生成二维码
一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管 ...
- Python创建Cocos2d-x 2.2方法
把创建项目做成一个批处理,当创建项目时可以省时省力很多. 操作步骤 1.在 E:\cocos2d-x-2.2.1\tools\project-creator 目录下创建 create_project. ...
- Python创建list和按照索引访问list
Python创建list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一个list表示:>> ...
- [翻译] 使用 Python 创建你自己的 Shell:Part II
目录 使用 Python 创建你自己的 Shell:Part II 原文链接与说明 步骤 4:内置命令 最后的想法 使用 Python 创建你自己的 Shell:Part II 原文链接与说明 htt ...
- [翻译] 使用 Python 创建你自己的 Shell:Part I
目录 使用 Python 创建你自己的 Shell:Part I 原文链接与说明 步骤 0:项目结构 步骤 1:Shell 循环 步骤 2:命令切分 步骤 3:执行 运行 使用 Python 创建你自 ...
- 使用Python创建一个简易的Web Server
Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\U ...
- python 创建实例--待完善
今天好好琢磨一下 python 创建实例的先后顺序 一. 就定义一个普通类 Util (默认)继承自 object,覆写 new ,init 方法 class Util(object): def __ ...
随机推荐
- oracle语言基础
一.语言分类 1.DML(Data Manipulation Language,数据操作语言):用于对数据的操作. DML包括:(1)SELECT:查询数据 select * from temp; ...
- smack 监听不同packet机制
之前做即时通讯,扒了smack源码来参考.说下其中解包后进行通知的机制. Filter类:accept(Packet packet)函数,传入packet在此函数中进行对比判断,返回true 则通过此 ...
- mysql\redis局域网链接
mysql: GRANT SELECT,DELETE,UPDATE,INSERT ON int_worm.* TO 'root'@'%' IDENTIFIED BY 'root'; redis: co ...
- ParksLink修改密码
设置环境变量: ?set classpath=D:\ptc\PartsLink\srclib\jmxcore\WtLogR.jar;D:\ptc\PartsLink\srclib\log4j.jar; ...
- java基础之JDBC四:事务简单示例
/** * 事务 */ public class Test { public static void main(String[] args) { Connection conn = null; Pre ...
- 模仿慕课网一步步发布一个开源库到 JCenter
H:\common\-common-25.2.2\upload.gradle // Bintray /* Properties properties = new Properties() proper ...
- 中国大学MOOC 玩转AutoCAD 熟悉AutoCAD的工作空间
- Docker学习笔记_删除某个镜像
实验:删除某个镜像 sudo docker rmi [Image ID] 1.查看镜像的ID sudo docker images 2.删除镜像 ...
- Service和IntentService的区别
不知道大家有没有和我一样,以前做项目或者练习的时候一直都是用Service来处理后台耗时操作,却很少注意到还有个IntentService,前段时间准备面试的时候看到了一篇关于IntentServic ...
- Vue.js路由组件
1.如果在创建项目中,没有自动安装vue router,那就自行安装.cnpm install vue-router --save vue-router两种模式 hash模式和history模式. 默 ...