溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用python怎么創(chuàng)建一個(gè)ArcGIS shape文件的實(shí)現(xiàn)

發(fā)布時(shí)間:2021-04-17 16:14:59 來(lái)源:億速云 閱讀:330 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用python怎么創(chuàng)建一個(gè)ArcGIS shape文件的實(shí)現(xiàn),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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í)行程序!?。?quot;);
  run();
  print("程序結(jié)束?。?!");

上述就是小編為大家分享的使用python怎么創(chuàng)建一個(gè)ArcGIS shape文件的實(shí)現(xiàn)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI