2015年8月15日 星期六

怎麼使用 OverPass Turbo 精靈模式截取開放街圖資料

最近一陣子開放街圖 (OpenStreetMap) 的知名度越來越高了,漸漸被大家所熟悉,不論是從救災緊急畫地圖行動 (crisis mapping),還是從公民參與角度,繪製自己家鄉,大家知道該怎麼用開放街圖當工具使用。不過大家很好奇我畫了這麼多東西,自己可以怎麼用自己畫的東西。自己可能沒有技術能力,該怎麼做呢?這邊我將介紹用 OverPass Turbo,運用其簡單方便的精靈模式,就可以找到當初自己畫上去的東西,還可以截取資料後進行進一步分析。


▲ OverPass Turbo 的畫面,左邊是 query language,右邊是視覺化呈現的地圖

▲ Umap 網站的畫面,操作介面已經中文化了

簡易檢索


首先我們先把地圖畫面移到臺灣一帶。


▲ 請在地圖部分左上角的搜尋框輸入臺北市

▲ 搜尋框裡會出現兩筆記錄,都是臺北市的結果

▲ 接第二筆結果地圖畫面出現北臺灣



▲ 按著按左上角的 + 號放大地圖顯示畫面

▲ 移動到南港舊莊中研院一帶


接著我們要用左邊的 query 框,不過別緊張,我們先載入範例來示範怎麼檢索開放街圖資料。

▲ 按載入鍵載入範例

▲ 我們選擇飲用水,"Drinking Water"

▲ 載入飲用水 "Drinking Water" 範例,出現 query 語法

▲ 請按「執行」按鍵使用OverPass API執行檢索

▲ 要花點時間跑檢索


▲ 右下角顯示總共找到 103 個節點,也就是 103 臺飲水機或生飲臺

▲ 檢索到的資料可以分享,像輸出成不同格式,以及用內嵌語法嵌入網頁
▲ 檢索的每一筆結果都可以點進去看詳細資料

接著我們來點其他的範例,這次來搜尋單車路網。

▲ 接下來按"Cycle Network",來看看單車路網的分佈狀況

▲ 臺北一帶的單車路網出現了,其中大部分的路段是河濱自行車道
▲ 點進其中一個路段會出現詳細資訊


區域內搜尋


接下來我們來找找這座城市中的百貨公司吧。我們在檢索精靈輸入'shop=department_store'

▲ 在檢索精靈輸入'shop=department_store'


▲ 臺北百貨公司在開放街圖的分佈


▲ 隨意挑一個點或區塊可以看到詳細資訊

接下來我們在 query 框最下面加上以下的代碼,讓地圖的部分能夠顯示找到的商家名稱。

{{style: 
   node,way,relation { 
   text:name;

}}
 
▲ 地圖上就出現各家百貨公司的名稱了

接下來我們要手動改變搜尋範圍,用左側的工具。

▲ 選擇左側工具欄下面部分,從上而下第三個選項-手動選擇bbox範圍


▲ 用滑鼠選擇方框範圍,還可以可移動方框位置

▲ 便利商店在開放街圖的標籤是'shop=convenience'


▲ 手動方框範圍內的便利商店


搜尋行政區內的物件

接下來我們要指定搜尋行政區裡的特定物件,一樣搜尋便利商店'shop=convenience',只是在最後面加上'in "臺北市"',表示指定在臺北市行政區範圍內搜尋。

▲ 在檢索精靈裡輸入 shop=convenience in "臺北市"




▲ 在地圖畫面顯示目前已經標示的便利商店

交集和聯集

OverPass Turbo 也可以同時尋找兩種不同的類型的物件,像是便利商店以及餐廳。以下示範同時找百貨公司、購物中心、便利商店。

▲ 在檢索精靈框中,輸入 shop=convenience or shop=mall or shop=department_store


▲ 加上前面提到的 MapCSS,畫面中出現百貨公司和便利商店,還有他們的名稱

在檢索精靈中,也可以同時搜尋具有多個特性的物件,像是下面的例子是公車站牌,搜尋具有遮雨設的設備的公車站。

▲ 這個例子則是示範搜尋有遮雨棚的公車站牌

▲ 地圖畫面顯示有遮雨設備,或者有標示具有遮雨設備的公車站牌,下雨時就可以躲在下面了

以上是相當簡單的 OverPass Turbo 操作,運用精靈模式,就可以取得你想要的資料,省略輸入檢索語言的困擾。更多資訊可以上 OverPass Turbo 的 OSM Wiki 頁面,有詳細的說明,還有各種應用情境。

沒有留言:

張貼留言