一行命令快捷构建在线地图字体切片服务

简介: 一行命令快捷构建在线地图字体切片服务

1 简介

大家好我是费老师,在之前的一篇文章(如何发布具有超高性能的地图服务)中我为大家介绍过martin的安装与使用,它是由maplibre开源维护的新一代高性能地图服务框架,底层基于rust,使得其可以以远胜于geoserver等传统地图服务框架的效率,进行矢量切片地图服务的发布。

martin除了构建矢量切片地图服务的核心功能外,还兼具了其他地图服务常用功能。今天的文章中,我就将为大家介绍如何使用martin快捷构建自定义字体切片服务。

7845cdaffbef7e5aeaa525f187d9eec5.png

2 利用martin构建自定义字体切片服务

maplibremapbox等框架在构建在线地图应用时,如果需要在地图中使用自定义字体,由于字体文件尤其是中文等字体体积较大,出于应用资源加载速度优化的考虑,不会接受完整的字体文件,而是需要自行将原始的字体文件转换为pbf切片的形式,并构建相应的web服务,供地图应用自动按需访问使用相应切片资源,这一套过程在过去,实现起来还是比较繁琐。

martin0.10.0版本开始提供快捷的字体切片服务功能,使得我们只需要一行命令即可搞定上述的所有过程😎。

首先我们执行cargo install martin --forcemartin进行覆盖更新,譬如我之前的martin版本为0.8.7

8dc1fa89ab9f54b70423ccdc91307c4a.png

版本更新后来到0.11.0

65e4478f709162baf263000a0537d32f.png

接着我们只需要在本地准备好otfttfttc等常见格式的字体文件,接着执行利用martin命令的--font参数进行字体源的定义,可以接受单个字体文件,也可以接受路径用于批量识别路径下所有字体文件,还可以通过多个--font参数分别定义若干字体源规则,下面的示例中我们以识别目标路径下所有字体文件为例:

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

adf6eadd0812b71ac33b0ae44331cd12.png

就这么简单,我们就启动了自定义字体切片服务,默认访问本机的http://127.0.0.1:3000/catalog地址,即可查看到已成功注册的各字体切片服务信息,其中fonts下各个「键名」,就可以作为「字体名称」在地图应用中进行配置:

03c09c6aaf22da09dc84c290cdfb9232.png

maplibre为例,按照我们示例服务的地址,为地图应用设置glyphshttp://127.0.0.1:3000/font/{fontstack}/{range}后,对于maplibre要额外为地图实例设置localIdeographFontFamily参数为false,接着按照symbol型图层参数配置要求设置好text-font等参数即可。

目录
打赏
0
3
3
0
66
分享
相关文章
蚂蚁百灵大模型推出20亿参数遥感模型SkySense
【2月更文挑战第13天】蚂蚁百灵大模型推出20亿参数遥感模型SkySense
534 1
蚂蚁百灵大模型推出20亿参数遥感模型SkySense
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
这篇文章介绍了在Vue 3 + TypeScript + Vite开发环境中解决找不到`.vue`文件模块或其类型声明错误的两种方法:使用VSCode的TypeScript Vue Plugin (Volar)插件或手动在`env.d.ts`文件中声明`*.vue`模块类型。
1618 1
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)
Google Colab,全名Colaboratory,是由谷歌提供的免费的云平台,可以使用pytorch、keras、tensorflow等框架进行深度学习。其GPU为Tesla T4 GPU,有很强的算力,对于刚入门机器学习或深度学习的用户,这个平台是不二之选。
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)
nuxt项目:css相关插件加载顺序问题【extract-css-chunks-webpack-plugin】
nuxt项目:css相关插件加载顺序问题【extract-css-chunks-webpack-plugin】
387 0
阿里巴巴联合汉仪重磅推出五款人工智能字体:汉仪天真体、英雄体等
众所周知传统做字的人力成本非常之高,如果全靠人类设计师来完成,一套标准字库从设计到完成需要一年多的时间。
13156 0
web GIS神器,一行命令快捷构建精灵图服务
web GIS神器,一行命令快捷构建精灵图服务
114 1
ERP系统中的工作流管理与自动化
【7月更文挑战第25天】 ERP系统中的工作流管理与自动化
583 2
ERP系统中的工作流管理与自动化
"告别蜗牛速度!解锁批量插入数据新姿势,15秒狂插35万条,数据库优化就该这么玩!"
【8月更文挑战第11天】在数据密集型应用中,高效的批量插入是性能优化的关键。传统单条记录插入方式在网络开销、数据库I/O及事务处理上存在明显瓶颈。批量插入则通过减少网络请求次数和数据库I/O操作,显著提升效率。以Python+pymysql为例,通过`executemany`方法,可实现在15秒内将35万条数据快速入库,相较于传统方法,性能提升显著,是处理大规模数据的理想选择。
458 5
使用Arcgis pro做流域分析(河网+集水区)
【8月更文挑战第10天】使用ArcGIS Pro进行流域分析包括河网与集水区提取。首先准备DEM及河流数据,然后在软件中加载。若无河网数据,可用“Fill”填洼、“Flow Direction”计算流向、“Flow Accumulation”计算累积量,并通过“Stream Definition”定义河流。集水区分析则使用“Watershed”工具确定特定点的流域范围。最后,通过符号化展示结果,并结合其他数据深入分析流域特性。注意数据质量与参数选择以保证分析准确性。
1220 1
STM32CubeMX ADC采集光照和电压
STM32CubeMX ADC采集光照和电压
1043 3
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等