編寫地圖樣式定義及使用 MapLibre GL JS 渲染地圖
上一篇文章中,我們建立了 Tiles Server,這篇文章是本系列的最後一篇,會把 MVT 的結果在網頁上繪製成地圖。
上一篇文章中,我們建立了 Tiles Server,這篇文章是本系列的最後一篇,會把 MVT 的結果在網頁上繪製成地圖。
上一篇文章中,我們了解了 OSM 資料的內容,以及如何將他們導入到 PostGIS 資料庫中供我們使用。現在我們將利用這些資料建立我們的 Vector Tiles API server。
PostgreSQL 提供了不需要實體 Table 的諮詢鎖功能,我們可以自行根據需求定義鎖的用處,並且會自動在 Session 或 Transaction 結束時自動釋放鎖。
這篇文章會把 OpenStreetMap 的圖資資料載入 Postgres 資料庫中,以利我們後續建立 Tile Server 使用。
OpenStreetMap(OSM) 是開放授權的開源圖資,像 Wikipedia 一樣,任何人都可以編輯貢獻資料。只要在您的服務中標明資料來源,OSM 的資料是基於 ODbL 免費使用的。
OSM 的資料包含 nodes (建築、出入口等等)、ways (路線、區域等等)以及 relations。例如下面這是中山南路的其中一段資料,他表明了路線經過的點(nodes),以及這段路線的名稱,路線種類等等。
最近開了個新坑,因為想要用自己的資料來製作線上地圖,Google Maps 等服務能自訂的項目並沒有很多,這個系列的文章會在沒有依賴外部服務的 狀態下(當然圖資還是得由供應商取得),建立自己的地圖,包含後端的圖資料庫以及前端的渲染。
我們可以在 TypeScript 的 tsconfig.json 設定 comilerOptions.sourceMap = true
來產生 Source Map 檔案,這個檔案可以讓 VS Code、Chrome debugger 等工具把編譯後的 JS 檔案對應回去原始碼 (TS)。
不過如果收到 Production 上回應的 Error Stacks,想要找到對應在 TS 的程式位置,有沒有辦法快速的找到呢?
Instance metadata 是 AWS 對你的 EC2 提供的資訊,包含 Host Name, Public IP ... 等等的資訊都可以從 Metadata Service 獲取。每個 EC2 中都能存取到位於 169.254.169.254
的 API,這個位址是 Link-local address,只有從 EC2 內部才可以存取的到。例如,我們可以由下面這個 API 獲得目前的 Public IP:
curl http://169.254.169.254/latest/meta-data/public-ipv4
一般來說,證書頒發機構 (certificate authority, CA) 不會用真正的根憑證 (Root Certificate) 來簽發給使用者的憑證,畢竟終端使用者這麼多,放在線上每天簽屬風險太大。相對的,CA 會使用根憑證先簽發一張憑證,再用這張憑證來簽發給大家的憑證,這張憑證就稱為「中繼憑證」(或中間憑證,Intermediate Certificate)。
我最近看到 好和弦在談論 LBRY,覺得是個很有趣的想法,於是稍微研究了一下官方的 Spec,整理一篇文章來談談 LBRY 的技術內容。
這幾個禮拜托 YFI 的福,幣圈又開始熱絡了起來,身邊的朋友也開始加入市場,這篇文章分享一個發生在身邊的慘案,最後的結果是錢包裡面所有的錢全部被轉走。 如果您的錢包已經遭遇不測,請不用往下看了,這篇文章沒有提供處理方法,請節哀 😥。