欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn)

 更新時(shí)間:2019年12月06日 15:34:00   作者:擾擾1994  
今天小編就為大家分享一篇python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

工作中遇到了一個(gè)需求,需要把一段json文本轉(zhuǎn)化成ArcGIS shape文件,想來想去,還是考慮用python來實(shí)現(xiàn)。

直接上代碼

import shapefile
import json
import os
 
#shapefile="polygon.shp";
#jsonfile="社區(qū)網(wǎng)格.json";
 
def run():
  data=readJSON()
  datalist=data["list"]
  file=shapefile.Writer(target="社區(qū)網(wǎng)格.shp",shapeType=shapefile.POLYGON,autoBalance=True);
  #設(shè)置屬性信息
  file.field('nere', 'C', '40') #'SECOND_FLD'為字段名稱,C代表數(shù)據(jù)類型為字符串,長(zhǎng)度為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')
 
  #寫入數(shù)據(jù)
  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("社區(qū)網(wǎng)格.shp")
 
#讀取json文件
def readJSON():
  f = open("社區(qū)網(wǎng)格.json", "r",encoding="utf-8") # 設(shè)置文件對(duì)象
  _str = f.read() # 將txt文件的所有內(nèi)容讀入到字符串str中
  f.close() # 關(guān)閉文件
  print("讀取json完成")
  if _str.startswith(u'\ufeff'):
    _str = _str.encode('utf8')[3:].decode('utf8')
  data = json.loads(_str,encoding='utf8')
  return data;
  #print(data)
 
#數(shù)據(jù)解析
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("執(zhí)行程序?。?!");
  run();
  print("程序結(jié)束?。?!");

以上這篇python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論