python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn)
工作中遇到了一個(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)文章
pytorch sampler對(duì)數(shù)據(jù)進(jìn)行采樣的實(shí)現(xiàn)
今天小編就為大家分享一篇pytorch sampler對(duì)數(shù)據(jù)進(jìn)行采樣的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12使用Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲抓取視頻下載資源
從上一篇文章的評(píng)論中看出似乎很多童鞋都比較關(guān)注爬蟲的源代碼。所有本文就使用Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲抓取視頻下載資源做了很詳細(xì)的記錄,幾乎每一步都介紹給大家,希望對(duì)大家能有所幫助2014-11-11Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能示例
這篇文章主要介紹了Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,涉及Python正則判定及數(shù)值計(jì)算相關(guān)操作技巧,需要的朋友可以參考下2019-05-05vue.js實(shí)現(xiàn)輸入框輸入值內(nèi)容實(shí)時(shí)響應(yīng)變化示例
這篇文章主要介紹了vue.js實(shí)現(xiàn)輸入框輸入值內(nèi)容實(shí)時(shí)響應(yīng)變化,結(jié)合實(shí)例形式分析了vue.js使用v-model屬性進(jìn)行數(shù)據(jù)綁定的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07通過python實(shí)現(xiàn)隨機(jī)交換禮物程序詳解
這篇文章主要介紹了通過python實(shí)現(xiàn)隨機(jī)交換禮物程序詳解的,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python如何繪制極坐標(biāo)輪廓圖contourf
這篇文章主要介紹了python如何繪制極坐標(biāo)輪廓圖contourf問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分
這篇文章主要介紹了Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分,下文我們介紹一些下面是加載內(nèi)置訓(xùn)練數(shù)據(jù)集的常見操作,需要的小伙伴可以參考一下2022-02-02