(数据科学学习手札158)基于martin为在线地图快速构建精灵图服务

本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

  大家好我是费老师,martin作为快速发展中的新一代开源高性能 地图服务框架,在之前的两篇文章中,我已为大家分别介绍过使用martin快速发布矢量切片地图服务 ( https://www.cnblogs.com/feffery/p/17581158.html )以及字体切片服务 ( https://www.cnblogs.com/feffery/p/17846899.html )的相关教程。

  而在基于Maplibre、Mapbox等高性能地图框架构建地图应用时,使用一整张集成了多个图片信息的精灵图 (Sprite )来代替单独请求 各个图标文件,可以在地图应用需要渲染类型众多的图标时,大幅度提升相关资源的网络请求加载速度(精灵图示例如下):

  而想将原始的众多图片,转换为类似上图所示的一整张精灵图并附带生成对应的索引信息,传统的方式都比较繁琐。而在今天的文章中,费老师我就将为大家介绍如何基于martin,仅通过一行命令就搞定从精灵图动态生成,到部署为直接可用服务的全过程😎~

2 利用martin快速构建精灵图服务

  本文演示所使用的martin版本为0.13.0:

  有关martin的环境配置、安装及版本升级,请移步我先前的相关文章,这里不再赘述。

  直接使用martin命令,我们只需要通过参数--sprite来指定存放精灵图原始文件的路径即可,下面举个实际案例,我在设施点目录下存放了若干个svg格式的图标文件:

  在此基础上,只需要执行martin --sprite ./设施点命令,就直接启动了相关的服务:

  默认参数下,访问http://127.0.0.1:3000/catalog,即可看到有关精灵图的相关资源目录信息:

  其中,sprites下的键名即为对应精灵图的id,据此,我们可以访问http://127.0.0.1:3000/sprite/精灵图id.png来查看对应的目标精灵图:

  而访问http://127.0.0.1:3000/sprite/精灵图id@2x.png则可以看到高精度版本的目标精灵图:

  将后缀名更换为json则可以直接获取到相对应的精灵图索引信息:

  而在命令中使用多个--sprite参数来指定多个路径,即可同时架起多个独立的精灵图服务,非常的方便:

  在此基础上,我们就可以直接在Maplibre、Mapbox等地图框架中直接使用了,下面是一个简单的地图应用示例,全部数据及源码你可以在文章开头的仓库地址 中找到,按照requirements.txt使用pip安装相关依赖后,直接python app.py即可启动该应用:


  以上就是本文的全部内容,欢迎在评论区与我进行讨论~

相关推荐
总要学点什么1 天前
第96篇:三维数据加载-城市建筑白模样式+着色器——让色带按体量上色,最白的那档却涂不上去
前端·gis·webgl·cesium·着色器·空间分析·白模
总要学点什么2 天前
第97篇:三维数据加载-城市建筑白模自定义着色器——让一条光带沿高度扫上去,快慢却由帧率说了算
前端·gis·webgl·cesium·着色器·空间分析·白模
总要学点什么3 天前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
我喜欢就喜欢4 天前
倾斜摄影 OSGB 进 Cesium 对不齐?先核 SRS、原点偏移和瓦片路径
gis·cesium·倾斜摄影·osgb·3d tiles
vjmap5 天前
MCP 实战:在 WorkBuddy 里一句话让 AI 生成红军长征地图动画(唯杰 AI 地图动画 MCP 接入教程)
aigc·gis·mcp
我才是银古6 天前
6 小时做一部 10 分钟纪录片:DeepSeek 4.1 Flash + DeepSeek Harness 的完整制片记录
gis·deepseek·dsh
vjmap7 天前
AI 智能体调用绘图工具画矢量地图:唯杰 AI 地图绘制上线,支持 MCP 接入 Cursor、Claude Code
gis·agent·mcp
我喜欢就喜欢7 天前
点云 LAS/LAZ 按 shp 范围裁剪:PDAL pipeline、坐标系对齐与空洞检查
gis·点云·测绘·las·pdal
阿琳a_8 天前
b-map-viewer:面向 Vue 3 的地图可视化 SDK,从接入到展示再到交互分析
前端·javascript·vue.js·gis·数据可视化·地图
总要学点什么10 天前
第92篇:三维特效-圆(逐渐消逝)——从圆心开始,让一个洞把整片光啃到只剩外圈
gis·webgl·cesium·空间分析·1024程序员节