溫馨提示×

溫馨提示×

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

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

python怎么新建特征數(shù)據(jù)

發(fā)布時間:2021-12-30 14:33:49 來源:億速云 閱讀:122 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“python怎么新建特征數(shù)據(jù)”,在日常操作中,相信很多人在python怎么新建特征數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python怎么新建特征數(shù)據(jù)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

根據(jù)網(wǎng)絡(luò)上的數(shù)據(jù)服務(wù)中的坐標(biāo)信息,按照一定的規(guī)則,可以組合成一個特征圖層,保存到本地,整個過程,只是將數(shù)據(jù)做了一個轉(zhuǎn)換了一種形式存儲,但是,這種形式的數(shù)據(jù),能方便使用gis工具,如arcmap,qgis等,直接進行打開查看,疊加查看效果。

python中fiona和shapely兩個庫,可以對空間數(shù)據(jù)進行處理,參見python開發(fā):特征數(shù)據(jù)處理,當(dāng)然也能根據(jù)數(shù)據(jù),創(chuàng)建一個新的特征圖層。

fiona的driver中有ESRI Shapefile和geojson等常用格式,可以很方便創(chuàng)建一個常用格式的特征數(shù)據(jù)。

shapely可以將列表,元組數(shù)據(jù),轉(zhuǎn)換成空間坐標(biāo)的格式,并和fiona中的坐標(biāo)存儲能夠進行兼容。

下邊根據(jù)示例代碼,如何新建一個特征數(shù)據(jù):

定義一個數(shù)據(jù)的結(jié)構(gòu),數(shù)據(jù)的空間幾何類型,支持Point,Polyline,Polygon等常用空間幾何類型,properties中放置的是數(shù)據(jù)屬性信息,對應(yīng)每個元素的屬性信息。

yourschema = {'geometry': 'Point',
             'properties': {'bx': 'float:13.3',
                            'by': 'float:13.3',
                            'bline': 'str'}}

新建一個空間數(shù)據(jù)文件,類型用w,表示寫入數(shù)據(jù),坐標(biāo)系信息根據(jù)實際情況填寫,driver可以用shapefile,geojson等常用格式,把上邊的數(shù)據(jù)結(jié)構(gòu)要傳入進去。

with fiona.open('文件路徑', 'w', crs=from_epsg(4326), 
driver='ESRI Shapefile',schema=yourschema) as output:

寫入數(shù)據(jù),屬性信息要和上邊定義的結(jié)構(gòu)對應(yīng)上,坐標(biāo)信息用shapely里的函數(shù)進行定義,之后通過mapping寫入到文件中。

prop = {'bx': 13.2001,
           'by': 5.898989898,
           'bline': 'aaaaaa'
           }
   point = Point(0, 0)
   output.write({'geometry': mapping(point), 'properties': prop})

到此,關(guān)于“python怎么新建特征數(shù)據(jù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

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

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

AI