本文範例程式碼已上傳至我的
Github
倉庫https://github.com/CNFeffery/DataScienceStudyNotes
大家好我是費老師,在日常研發地圖類應用的場景中,為了在地圖上快速載入大量的向量要素,且方便快捷的在前端處理向量的樣式,且向量資料可以攜帶對應的若干屬性欄位,目前主流的做法是使用向量切片(vector tiles)的方式將向量資料釋出為服務進行呼叫:
而可用於釋出向量切片服務的工具,主流的有geoserver
、tippecanoe
等,但是使用起來方式比較繁瑣,且很容易遇到效能瓶頸。
除此之外,PostGIS
中也提供了ST_AsMVT
等函數可以直接通過書寫SQL
來生成向量切片資料,但是需要額外進行服務化的開發封裝,較為繁瑣。
而我在最近的工作中,接觸到由maplibre
開源的高效能向量切片伺服器martin
( https://github.com/maplibre/martin ),它基於Rust
進行開發,官方宣傳其效能快到瘋狂(Blazing fast),而在我實際的使用體驗中也確實如此,在今天的文章中我就將為大家分享有關martin
釋出向量切片地圖服務的常用知識