日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

(数据科学学习手札155)基于martin为在线地图构建字体切片服务

發(fā)布時(shí)間:2023/11/23 windows 44 coder
生活随笔 收集整理的這篇文章主要介紹了 (数据科学学习手札155)基于martin为在线地图构建字体切片服务 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文示例代碼已上傳至我的Github倉(cāng)庫(kù)https://github.com/CNFeffery/DataScienceStudyNotes

1 簡(jiǎn)介

  大家好我是費(fèi)老師,在之前的一篇文章(基于martin的高性能矢量切片地圖服務(wù)構(gòu)建)中我為大家介紹過(guò)martin的安裝與使用,它是由maplibre開(kāi)源維護(hù)的新一代高性能地圖服務(wù)框架,底層基于rust,使得其可以以遠(yuǎn)勝于geoserver等傳統(tǒng)地圖服務(wù)框架的效率,進(jìn)行矢量切片地服務(wù)圖的發(fā)布。

  而martin除了構(gòu)建矢量切片地圖服務(wù)的核心功能外,還兼具了其他地圖服務(wù)常用功能。今天的文章中,我就將為大家介紹如何使用martin快捷構(gòu)建自定義字體切片服務(wù)。

2 利用martin構(gòu)建自定義字體切片服務(wù)

  maplibremapbox等框架在構(gòu)建在線地圖應(yīng)用時(shí),如果需要在地圖中使用自定義字體,由于字體文件尤其是中文等字體體積較大,出于應(yīng)用資源加載速度優(yōu)化的考慮,不會(huì)接受完整的字體文件,而是需要自行將原始的字體文件轉(zhuǎn)換為pbf切片的形式,并構(gòu)建相應(yīng)的web服務(wù),供地圖應(yīng)用自動(dòng)按需訪問(wèn)使用相應(yīng)切片資源,這一套過(guò)程在過(guò)去,實(shí)現(xiàn)起來(lái)還是比較繁瑣。

  而martin0.10.0版本開(kāi)始提供快捷地字體切片服務(wù)功能,使得我們只需要一行命令即可搞定上述的所有過(guò)程??。

  首先我們執(zhí)行cargo install martin --force對(duì)martin進(jìn)行覆蓋更新,譬如我之前的martin版本為0.8.7

  版本更新后來(lái)到0.11.0

  接著我們只需要在本地準(zhǔn)備好otfttfttc等常見(jiàn)格式的字體文件,接著執(zhí)行利用martin命令的--font參數(shù)進(jìn)行字體源的定義,可以接受單個(gè)字體文件,也可以接受路徑用于批量識(shí)別路徑下所有字體文件,還可以通過(guò)多個(gè)--font參數(shù)分別定義若干字體源規(guī)則,下面的示例中我們以識(shí)別目標(biāo)路徑下所有字體文件為例:

/home/feffery/.cargo/bin/martin --font .

  就這么簡(jiǎn)單,我們就啟動(dòng)了自定義字體切片服務(wù),默認(rèn)訪問(wèn)本機(jī)的http://127.0.0.1:3000/catalog地址,即可查看到已成功注冊(cè)的各字體切片服務(wù)信息,其中fonts下各個(gè)鍵名,就可以作為字體名稱在地圖應(yīng)用中進(jìn)行配置:

  以maplibre為例,按照我們示例服務(wù)的地址,為地圖應(yīng)用設(shè)置glyphshttp://127.0.0.1:3000/font/{fontstack}/{range}后,對(duì)于maplibre要額外為地圖實(shí)例設(shè)置localIdeographFontFamily參數(shù)為false,接著按照symbol型圖層參數(shù)配置要求設(shè)置好text-font等參數(shù)即可。

  下面我們純Python編寫(xiě)一個(gè)非常簡(jiǎn)單的應(yīng)用(完整源碼見(jiàn)本文開(kāi)頭倉(cāng)庫(kù)),其中使用到feffery-maplibre,是由我開(kāi)源維護(hù)的用于在Dash應(yīng)用中實(shí)現(xiàn)高性能在線地圖的組件庫(kù),其中展示了點(diǎn)線面各常見(jiàn)要素對(duì)應(yīng)的文字標(biāo)簽形式在不同字體下的效果:

  更多資料請(qǐng)參考martin官方文檔https://maplibre.org/martin/37-sources-fonts.html


  以上就是本文的全部?jī)?nèi)容,歡迎在評(píng)論區(qū)與我進(jìn)行討論~

總結(jié)

以上是生活随笔為你收集整理的(数据科学学习手札155)基于martin为在线地图构建字体切片服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。