從0開始學習QGIS-OSM教學

[QGIS教學系列]利用QGIS搜尋和下載OSM(Open Street Map)圖資

關鍵字: #開放資料 #OSM #QGIS套件 #開放街圖

[QGIS新手教學系列-OSM圖資的獲取]

目前世界各地已經有許多不同的開放資料集,台灣目前也在積極地進行開放資料蒐集建置,例如政府資料開放平台以及各縣市自行建構的公開資料平台等,對於世界範圍內的公開空間資料,則以OSM(Open Street Map)最為有名,以下節錄WIKI的介紹

開放街圖[註 1](英語:OpenStreetMap縮寫OSM)是一個建構自由內容網上地圖協作計劃,目標是創造一個內容自由且能讓所有人編輯的世界地圖,並且讓一般的行動裝置有方便的導航方案。[5][6]OSM計畫由英國人史蒂夫·克斯特Steve Coast)創立,概念啟發自維基百科網站,以及英國與其他地區私有地圖資料佔盡優勢的狀況[7]。OSM已有超過五百萬名註冊使用者[8]。與維基百科等協作型網站相同,OSM網站地圖頁有「編輯」按鈕,亦有記錄及修訂歷史。經註冊的使用者可以編輯地圖資料與上載GPS路徑,以及取用可編輯地圖的向量數據,編輯者除透過使用OSM網站的iD線上編輯器之外,也能使用其他自由地理資訊系統軟體,如JOSM來進行編輯。

OSM的地圖可由使用者以手持GPS裝置、航空攝影相片、衛星影像、政府開放資料、其他自由內容提供。只要使用者對有關區域有所認識就可參與繪製。地圖的向量數據開放資料庫授權方式授權[7]。OSM網站由英國非營利組織OpenStreetMap基金會贊助並維持營運[6]

上述說明可以明白,OSM是集眾人之力之成果所建造出來的開放地圖資料,今天則主要介紹如何QGIS取得OSM的相關資料以及應用範例。

1.OSM資料介紹

這邊簡單介紹OSM主要使用的資料格式,了解資料格式可以方便我們進行資料搜尋

以下說明改寫自WIKI。

  1.  節點(node):(Point形式)
    儲存經緯度等空間屬性,但不儲存節點的實際大小,同時節點可依附於路徑與關聯。
  2. 路徑(way):(Line,Polygon形式)
    有序排列的節點,以折線的形式呈現,也能循環回起始節點形成封閉路徑,可以循環路徑或以多邊形區域的方式呈現。這類原始資料可用於呈爲線性資料,例如街道、河流等,或一個多邊形區域,例如農田、公園、停車場、建築物、校園或者是湖泊、森林。路徑資料可計算出長度、或多邊形的面積、周長。
  3.  關聯(relation):(位相關係-Topography)
    有排序的節點、路徑和關係(三類原始資料在這裏統稱「成員」),在這裏每個成員選擇性擁有一個”角色”(字串),以決定該成員於此關聯中的性質。關聯是用來表示各個原始資料(節點、路徑和關係)的關係,例如道路的轉彎限制,由不同路徑所組成的邊界,一條國道、省道或鐵路路線,或者一個區域中中間空缺區域(例如被環形建築物包圍的中庭,或水體中的小島)的多重多邊形,這時”角色”字串就能用來形容它們之間的關係。
  4. k=v標籤(tag):(屬性資料的概念)
    鍵值對(key-value pairs),用來儲存地圖上物件的元資料(物件的類型,名字和物理特性),賦予OSM資料其意義,而能表示現實世界中存在的某件事物,與有關該事物的資訊。標籤無法獨立存在,它們必須依附在一個已存在的物件,也就是節點,路徑或關聯(空間資料)。用法為鍵=值;key=value。一個原始資料稱為一個物件,每個物件的同一個鍵,只能設定一個值。例如建築物是building=yes,至於住宅區街道,則為highway=residential,這是OSM中最頻繁被使用的標籤。
  • 上述資料結構會在下面範例練習中陸續提到

2.QGIS套件-QuickOSM

簡介:

QuickOSM套件提供了在QGIS軟體中能夠以GUI的方式查詢、下載相關的OSM資料,目前最新版對於QGIS的要求版本為3.16,最新版本為2.11(更新日期2022年8月21日)

QuickOSM github: https://github.com/3liz/QuickOSM

官方教學網站: https://docs.3liz.org/QuickOSM/

如何安裝QuickOSM:

進入QGIS頁面後,依序點選上方功能列 Plugins-> Manage and Install plugins 進入安裝頁面 ->搜尋 QuickOSM -> 按下右下角的 Install Plugin進行安裝

QuickOSM安裝
套件管理頁面中搜尋安裝QuickOSM

3.範例實作

首先從上方工具列中找到 Vector -> QuickOSM -> QuickOSM 打開套件頁面。

目前QuickOSM提供中化文,會根據使用者電腦的預設語言進行設定

QuickOSM功能頁面(中文版)
QuickOSM功能頁面(中文版)

我們在快速檢索頁面中可以從「預置」選項中選擇要查詢的物件,並且在「位於」中選擇樣查詢的空間範圍(可以與QGIS的當前範圍進行互動),最後按下「執行檢索」。

QuickOSM快速檢索頁面
QuickOSM快速檢索頁面

這邊設置以下參數進行示範:

  • 「預置」: ATM
  • 「位於」:台北市
  • 按下執行檢索
QuickOSM快速檢索頁面
設置完成後執行檢索

其中可以發現查詢資料時採用「鍵值對」的應用:

Key= amenity(設施) ; Value=atm(設施種類)

完成檢索後,會自動導入圖層至QGIS當中。

透過QuickOSM導入圖層
透過QuickOSM導入圖層

接下來我們打開圖層的屬性資料表查看(按F6),其中對於Osm_type中表示了ATM是利用Node形式儲存(點資料),往後拉可以發現一些有用的資料欄位像是營運商等。

Node形式的OSM資料
Node形式的OSM資料
屬性資料展現出營運商資料
屬性資料展現出營運商資料

我們可以透過QGIS的圖層Filter功能選取我們感興趣的資料,例如只要展示出「中華郵政」的ATM,可以圖層右鍵->點取Filter。

圖層資料過濾
圖層資料過濾

在Query Build中選取輸入以下表達式:

"operator"='中華郵政'
採用SQL進行資料檢索
採用SQL進行資料檢索

按下確定後可以看到中華郵政的ATM被篩選出來了(但實際上台北應該沒那麼少台,這與資料更新頻率及完整度有關)

中華郵政ATM位置
中華郵政ATM位置

今天的分享就到這裡了,有其他想看的教學歡迎在下方留言!

如果有需要相關的GIS家教課程也歡迎Email給我

其他教學

分享