web GIS神器,一行命令快捷構(gòu)建精靈圖服務(wù)

添加微信號 " CNFeffery "
備注"數(shù)據(jù)分析"加入技術(shù)交流群
?1 簡介本文示例代碼已上傳至我的
?Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes
大家好我是費老師,martin作為快速發(fā)展中的新一代開源「高性能」地圖服務(wù)框架,在之前的兩篇文章中,我已為大家分別介紹過使用martin快速發(fā)布「矢量切片地圖服務(wù)」(如何發(fā)布具有超高性能的地圖服務(wù))以及「字體切片服務(wù)」(一行命令快捷構(gòu)建在線地圖字體切片服務(wù))的相關(guān)教程。
而在基于Maplibre、Mapbox等高性能地圖框架構(gòu)建地圖應(yīng)用時,使用一整張集成了多個圖片信息的精靈圖(Sprite)來代替「單獨請求」各個圖標文件,可以在地圖應(yīng)用需要渲染「類型眾多」的圖標時,大幅度提升相關(guān)資源的網(wǎng)絡(luò)請求加載速度(精靈圖示例如下):
而想將原始的眾多圖片,轉(zhuǎn)換為類似上圖所示的一整張精靈圖并附帶生成對應(yīng)的索引信息,傳統(tǒng)的方式都比較繁瑣。而在今天的文章中,費老師我就將為大家介紹如何基于martin,僅通過一行命令就搞定從精靈圖動態(tài)生成,到部署為直接可用服務(wù)的全過程??~
本文演示所使用的martin版本為0.13.0:
有關(guān)martin的環(huán)境配置、安裝及版本升級,請移步我先前的相關(guān)文章,這里不再贅述。
直接使用martin命令,我們只需要通過參數(shù)--sprite來指定存放精靈圖原始文件的路徑即可,下面舉個實際案例,我在設(shè)施點目錄下存放了若干個svg格式的圖標文件:
在此基礎(chǔ)上,只需要執(zhí)行martin --sprite ./設(shè)施點命令,就直接啟動了相關(guān)的服務(wù):
默認參數(shù)下,訪問http://127.0.0.1:3000/catalog,即可看到有關(guān)精靈圖的相關(guān)資源目錄信息:
其中,sprites下的鍵名即為對應(yīng)精靈圖的id,據(jù)此,我們可以訪問來查看對應(yīng)的目標精靈圖:
而訪問則可以看到「高精度版本」的目標精靈圖:
將后綴名更換為json則可以直接獲取到相對應(yīng)的精靈圖索引信息:
而在命令中使用多個--sprite參數(shù)來指定多個路徑,即可同時架起多個獨立的精靈圖服務(wù),非常的方便:
在此基礎(chǔ)上,我們就可以直接在Maplibre、Mapbox等地圖框架中直接使用了,下面是一個簡單的地圖應(yīng)用示例,全部數(shù)據(jù)及源碼你可以在「文章開頭的倉庫地址」中找到,按照requirements.txt使用pip安裝相關(guān)依賴后,直接python app.py即可啟動該應(yīng)用:
以上就是本文的全部內(nèi)容,歡迎在評論區(qū)與我進行討論~
加入知識星球 【我們談?wù)摂?shù)據(jù)科學】
600+ 小伙伴一起學習!
· 推薦閱讀 ·
