課程中會使用的資料集:
HERE Studio/Data Hub 是 HERE Technologies 所推出的一個線上地圖製作平台,其功能有兩大核心 Data Hub,以及 Studio。主要的特色有:
您可以把 HERE Data Hub 想成是一個資料庫,這個資料庫支援點、線、面向量資料及其相關屬性。使用 HERE Data Hub 的好處是,您只需要專注在維護地圖資料的工作流程上面,因為 HERE Data Hub 是雲端服務,所以您不用自己解決儲存空間的問題,也不用擔心頻寬或穩定性,您可以在上面建立您的地圖資料,也可以上傳既有的地圖檔案,如 Shapefile 檔、GeoJSON 檔、甚至 CSV 檔(必須具有經緯度欄位)到 HERE Data Hub,結合 HERE Studio,您可以快速製作網路地圖,也可以用 API 的形式發布並且與您的網頁、應用程式相結合。
如果您有空間資料或地圖資料必須找空間存放並發布,甚至提供多人同時讀寫並即時更新,HERE Data Hub 絕對是最好的選擇,而且 HERE 也提供了有限的免費服務,您只要申請一個免費的 HERE 開發者帳號,就可以開始製作並發布您的地圖。
HERE Studio 的主要功能在於用簡單快速的方式製作一個網路地圖。
2019年的年底,我幫路殺社製作了一個路殺地圖(官方報導、中央社報導、公視報導、新頭殼報導),其中有四個圖層。
主要的工作流程大概是:
最後完成的地圖在此:https://aquawill.github.io/taiwan_roadkill_map/
首先請開啟 HERE 開發者網站:https://developer.here.com/ ,並按下畫面中央的「Get started for free」或右上角的「Sign up」來申請帳號。
在申請表中,請填入姓名、email、密碼,選取國家或地區名稱並依照圖片輸入安全碼,按下最下方的「Register for a HERE account」。
接著,您可以選擇輸入公司名稱或電話號碼(也可留空),但一定要勾選「I Agree to the Terms and Conditions」,並按下下方的「Start Coding」。
另外,也別忘了到信箱裡面收取確認信(主旨為「Welcome to HERE」),並且按下信件中的Confirm your email來完成整個手續。
如果您看到如下圖這樣的頁面,代表帳號申請成功,日後只要用這個帳號就可以進到此頁面來管理您的 HERE API/SDK 相關設定。
首先,請開啟HERE Studio:https://studio.here.com/ ,輸入您剛剛申請的 email 與密碼之後,按下「Sign in」。
接著輸入您的出生年月日之後按下「Continue」。
等待幾秒鐘之後就會進到 HERE Studio,並且會有簡單的導覽說明,可以按下畫面中的箭頭來看導覽,也可以按下「Skip」跳過。
雖然畫面中其實已經可以建立專案了,但目前我們並沒有上傳任何的地圖資料,因此我們必須先在這裡暫停一下。
首先,請開啟此網頁:https://scidm.nchc.org.tw/dataset/nhi-maskdata
這是國網中心的開放資料平台,我們要取得的是「健保特約機構口罩剩餘數量明細清單(含地理加值)(10mis/update)」這個資料集。依照上面的說明,這個資料集是每十分鐘動態更新一次,資料集的內容為健保特約機構(通常是藥局)的口罩剩餘數量,格式為 csv 。
上面有兩個 csv 檔,第一個是沒有經緯度的,第二個是有經緯度的。雖然從地址查詢經緯度也不是難事(HERE 也提供了批次大量地址轉換成經緯度的 API),但我們在這裡還是使用有經緯度的比較省事一點。請選擇第二筆資料(檔名中有 geo)的,按下右邊的「探索」,之後按「下載」。
檔案下載完之後,我們就先開啟來看一下內容是什麼。您可以使用 OpenOffice Calc,或是 Notepad++/Visual Studio Code/Sublime 來開啟。反而不建議用 Excel,因為編碼的關係(此檔案使用 UTF-8 編碼),可能開起來會是亂碼。
以OpenOffice Calc為例,開啟檔案前請先確認正確的編碼(此檔案使用 UTF-8 編碼)以及使用逗號分隔。
檔案開啟之後,我們可以觀察到這個資料集為一個典型的具有欄位的表格,並有以下欄位:
其中 latitude 為緯度,longitude 為經度,這兩個欄位剛好是我們需要的,也是把資料繪製在地圖上必備的。這邊要注意的是,如果要把 csv 檔案上傳到 HERE Data Hub 一定要有經緯度,經緯度可接受的欄位名稱是:
緯度:
經度:
資料集內容(特別是最重要的經緯度欄位)確認無誤後,我們就可以準備把這個資料集上傳到 HERE Data Hub。
我們回到剛剛 HERE Studio 的頁面,請選擇 Create new project。按下去之後就會進到一個空白地圖頁面。
您可以輸入專案名稱與說明,並且按下「+Data」的按鈕。
因為目前您沒有任何的地圖資料,因此他直接要求您上傳一個新的。您可以把剛剛下載的「scidm-maskdata_geo.csv」直接拖進去,或是按下「Browse files」找到這個檔案並開啟。
開啟檔案之後就會開始上傳,畫面也會顯示進度。
等上傳完之後,按下右下角的「Add 1 dataset」。
等待一兩秒之後,剛剛上傳的資料集就會顯示在地圖上。
接著我們先來設定底圖的樣式。我們可以看到這個專案除了一個圖層「Scidm-maskdata_geo」之外,還有一個「Base Map」,這就是底圖的設定。我們可以選擇不同風格的底圖,甚至還有衛星影像可以使用。
接著,請按下我們剛剛加入的資料集「Scidm-maskdata_geo」,這邊就會進到樣式設定的頁面,按下「Points」,會出現「Default point style」,點下去之後就會出現樣式設定的選項。
以這樣的點狀地圖來說,我們可以使用形狀(圓形或方形),圖示(Studio 內建的)以及文字標籤,這三者可以並存,也可以單獨存在。
按下顏色框之後會出現顏色選擇器,可以選擇顏色以及透明度,您也可以直接在下方的文字框輸入 Hex 或 RGBA 色碼,您也可以在地圖上即時看到變化。
下方的 Hexbin 是付費功能,因此無法使用,不過沒關係,因為我們之後可以用別的方式產生。
調整完圖案的樣式之後,我們可以按下 Points 旁邊的小箭頭把選項隱藏起來。
接著我們來調整按下圖示之後會跳出的卡片。您可以看到這邊會把全部欄位名稱都列出來,請用滑鼠把要顯示的欄位按住往上拖曳,到上方放開。不要顯示的部分就拖到下面放開,您也可以用拖曳的方式調整顯示順序。在調整的過程中,您也可以點選地圖上面的圖示來看看顯示的方式是否是您需要的。按下左上角的「Back」,可以返回設定頁。
可以看到原本顯示的是「Address_clean」、「Color」,我們這邊改成「醫事機構名稱」、「醫事機構地址」、「醫事機構電話」、「成人口罩剩餘數」、「兒童口罩剩餘數」、「來源資料時間」。
卡片內容確認無誤後,我們可以加入版權宣告(Attribution),如果您的資料集是需要版權宣告的,請務必加上。
大功告成,最後按下「Publish」旁邊的開關,就可以把地圖發布出去了。按下「View Map」來看看成果如何。
新的地圖開啟,這個地圖以及網址就可以用來分享在社群軟體上,或是傳送給其他人來進行瀏覽。不過左上角的圖例區似乎有點礙眼,我們來試試看隱藏起來。
回到地圖編輯頁面,按下「Continue Editing」。
接著按下「Publish」旁邊的齒輪按鈕,會開啟選項頁。
然後把 Legends 旁的選取框取消。在這邊您也可以修改地圖的標題與說明。
回到地圖頁面,發現圖例已經不見了,畫面變得簡潔許多。
開啟左上角的「SHOW INFORMATION ON HOVER」,就會在游標劃過圖示的時候顯示卡片。
以上就發布了一個自製的口罩地圖,如果操作步驟熟練的話,不用五分鐘就完成了。非常的方便快速。右上角的輸入框也可以用來查詢地點,並將地圖移動到該地點。
從以上的操作步驟來看,我們可以給一些總結:
HERE Data Hub 使用網頁上傳的方式非常的方便,而且跟 Studio 整合,可以快速的把地圖加入專案中,且地圖的樣式自訂很方便,但是缺點是自訂的選項稍嫌陽春了點,不僅沒辦法選擇上傳自己喜歡的圖示,也沒辦法作到比較多的變化,例如不同的比例尺顯示不同的資料等等。
HERE Studio 的優點就在於不需要懂任何的程式設計,就可以快速的把地圖資料發布在網路上;而 HERE Data Hub 提供的是一個快速簡便的儲存空間,您等於是把您的地圖資料託管在 Data Hub 上面,然後透過 Studio 快速產生一個可用的地圖,要克服這些缺點當然是可能的,不過這就必須要透過一些程式開發的方式才能作到,我們之後也會提到這個部份。
另外,我們在這個專案中使用的資料集是每十分鐘更新一次,但在目前這個專案中,因為我們只下載了一次,所以目前這個網路地圖是靜態的。這點其實也是有辦法改進的,因為 HERE Data Hub 提供了 CLI (Command Line Interface / 命令列介面)以及 Restful API 的存取方式,因此您可以設計一個小程式定時的去下載最新的資料集,然後透過 CLI 或 Restful API 的方式去修改或取代 Data Hub 儲存的資料,用這樣的方式就可以做出一個動態更新的地圖。
我們接下來就會介紹 HERE CLI 與 Data Hub API。
快速建構地圖服務(一) - 認識 HERE Studio / Data Hub
快速建構地圖服務(二) - 認識 HERE Data Hub CLI / API
快速建構地圖服務(三) - 使用 QGIS 玩轉 HERE Data Hub
快速建構地圖服務(四) - 當 Leaflet JS 遇見 Data Hub
快速建構地圖服務(五) - 整合 HERE 地點搜尋 API
快速建構地圖服務(六)- HERE Waypoints Sequence 路徑最佳排序
快速建構地圖服務(七)- 認識 HERE Routing API - 路徑規劃
快速建構地圖服務(八)- 認識 Matrix Routing
快速建構地圖服務(九)- Isoline Routing
快速建構地圖服務(十)- HERE Tour Planning 物流路徑預排與成本精算
快速建構地圖服務(十一)- HERE Route Matching GPS 軌跡分析
快速建構地圖服務(十二)- HERE Custom Locations 地圖資料倉儲與查詢
快速建構地圖服務(十三)- HERE Geofencing 地理圍籬
快速建構地圖服務(十四)- HERE Custom Routes 自建路網 + Vector Tile 向量圖磚 + Map Image API 靜態地圖
快速建構地圖服務(十五)- HERE Positioning 網路定位服務