您好,登錄后才能下訂單哦!
這篇文章主要介紹“python怎么新建特征數據”,在日常操作中,相信很多人在python怎么新建特征數據問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python怎么新建特征數據”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
根據網絡上的數據服務中的坐標信息,按照一定的規則,可以組合成一個特征圖層,保存到本地,整個過程,只是將數據做了一個轉換了一種形式存儲,但是,這種形式的數據,能方便使用gis工具,如arcmap,qgis等,直接進行打開查看,疊加查看效果。
python中fiona和shapely兩個庫,可以對空間數據進行處理,參見python開發:特征數據處理,當然也能根據數據,創建一個新的特征圖層。
fiona的driver中有ESRI Shapefile和geojson等常用格式,可以很方便創建一個常用格式的特征數據。
shapely可以將列表,元組數據,轉換成空間坐標的格式,并和fiona中的坐標存儲能夠進行兼容。
下邊根據示例代碼,如何新建一個特征數據:
定義一個數據的結構,數據的空間幾何類型,支持Point,Polyline,Polygon等常用空間幾何類型,properties中放置的是數據屬性信息,對應每個元素的屬性信息。
yourschema = {'geometry': 'Point',
'properties': {'bx': 'float:13.3',
'by': 'float:13.3',
'bline': 'str'}}
新建一個空間數據文件,類型用w,表示寫入數據,坐標系信息根據實際情況填寫,driver可以用shapefile,geojson等常用格式,把上邊的數據結構要傳入進去。
with fiona.open('文件路徑', 'w', crs=from_epsg(4326),
driver='ESRI Shapefile',schema=yourschema) as output:
寫入數據,屬性信息要和上邊定義的結構對應上,坐標信息用shapely里的函數進行定義,之后通過mapping寫入到文件中。
prop = {'bx': 13.2001,
'by': 5.898989898,
'bline': 'aaaaaa'
}
point = Point(0, 0)
output.write({'geometry': mapping(point), 'properties': prop})
到此,關于“python怎么新建特征數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。