OSMnx除了介接了Overpass API,可以透過python方便的取得OpenStreetMap的圖資以外,它還提供了一些路網相關的分析方法,這些方法主要是來自networkX。
OSMnx除了介接了Overpass API,可以透過python方便的取得OpenStreetMap的圖資以外,它還提供了一些路網相關的分析方法,這些方法主要是來自networkX。
昨天簡單介紹了networkX
,我們可以透過把路網polyline轉為node,edge的graph(s2g
)來做graph相關操作,例如最短路徑等等。
OSMnx
也是相關的應用,OSMnx結合了Overpass API
,讓開發者可以在python中快速取得OpenStreetMap的資料,在路網圖層中,其與networkX
結合可進行一些grpah的分析操作。
ps.除了路網外,OSMnx也可取得其他OpenStreetMap的圖層喔
今天要來寫GIS與路網相關的(當然只要跟graph有關的都可以使用,例如管線)一些應用。
在GIS及LBS應用中少不了路徑規劃,這些路網資料的應用路主要基於graph,networkX
可以用來建立及操作graph的工具,它可以產生各種garph,也包含了很多graph演算法。
今天的主題與Python較於無關,這陣子遇到資料版本控制的需求,有搜尋並測試了一下geogig
這個軟體,在此稍微紀錄一下。
geogig
是個開源專案,使用JAVA開發並以BSD授權,主要目的是做GIS資料的版本控制,整個操作經驗與git
類似,支援的GIS資料包含shapefile
、PostGIS
、SpatiaLite
等,對每一次commit的GIS追蹤管理,也可對資料開分支、遠端分支等等功能。
今天就記錄一下比較基本的步驟。
在昨天的文章中,我們要把資料倒入PostGIS前,需要使用geoalchemy2把坐標資料轉成WKT element
,今天來理解一下WKT
WKT的全寫是(Well Known Text),是OGC SFS(Simple Features Interface Standard)對於資料庫中GIS資料的架構定義,全文可從連結下載,另外SQL語法對於GIS處理的定義,也是在這份文件中定義,大多數GIS資料庫都有提供SFS的基本定義及功能。
有關SFS的幾何類型參考下圖:
(取自OGC)
昨天安裝完了PostGIS,
今天我們就在GeoPandas做資料讀寫,
另外QGIS對於PostGIS支援度也很高,把資料匯入後,也可以使用QGIS對資料做讀寫。
ps. 安裝完PostGIS,我們需要在DB中啟用
若未啟用postgis安裝完後在pgAdmin4或是psql輸入
postgres=# CREATE EXTENSION postgis;
PostGIS是PostgreSQL
對於OpenGIS空間資料規範的擴充,
目前各大家資料庫對GIS資料都有支援及擴充
不過就以易用性來說,開源軟體QGIS
對於PostGIS的支援度很高,而Geopandas
對於PostGIS的支援也十分友善。
因此,十分建議常使用GIS資料的人安裝PostGIS在本機進行操作。
今天我們來執行單機版PostGIS的安裝(使用windows)
昨天我們已經整合了台鐵路線與對話的資料
今天就把圖畫完吧!
首先,
再次看看昨天的成果
1 | train_lines_talk |
昨天做了一些前處理,
今天把昨天的處理好的資料做整合
首先是宜蘭縣鐵道(polyline)1
2
3import geopandas as gpd
rail_yilan=gpd.read_file('output/Rail_yilan.shp',encoding='utf-8')
rail_yilan
最近的台鐵意外事件,看到有媒體及網友製作前端的網頁地圖呈現通話紀錄,剛好昨天使用了folium,一時興起今天也來用folium做看看,今天先來做一些前處理
ps. 另外,也祝傷者平安及亡者安息