网站首页 > 教程文章 正文
前段时间分享了《如何让矢量瓦片配图神器maputnik支持 geoserver》,文章中的解决方案是,通过修改maputnik源码,在界面上增加tms协议选项,从而让maputnik支持geoserver发布的矢量瓦片。
前两天工作时,又有了新发现,不修改maputnik源码,也能让它支持geoserver矢量瓦片。
原理如下:
- maputnik本质上是mapboxgl style文件的编辑器,style文件是个json格式数据。
- mapboxgl本身是支持geoserver tms协议矢量瓦片的,在style文件中进行相关配置就可以实现。
- maputnik中的地图使用mapboxgl实现,不支持geoserver是因为界面上没有配置tms协议的选项,导致无法生成包含tms协议配置的style文件。
- maputnik支持style文件的导入、导出、编辑功能,我们可以在配置geoserver数据源后,导出style文件,在style文件中手工添加tms协议相关配置,再导回maputnik,从而让它支持geoserver矢量瓦片。
具体操作方法如下:
- 打开maputnik,配置geoserver数据源。
- 把style文件下载到本地。
- 打开下载的style文件,在source中找到刚添加的geoserver数据源,手动添加tms协议选项。
- 重新导入style文件。
- 后续添加的geoserver图层就能显示了。
和之前修改源码的方案比较:
- 这次的方案简单灵活,普适性强,后续再遇到这种mapboxgl支持但maputnik不支持的问题,都可以使用这种方式快速解决。
- 修改源码的方案对于react框架不熟的同学可能比较吃力,但如果解决了,后续使用就会很方便,一劳永逸。
总结:
- style 文件是 maputnik 和 mapboxgl 连接的唯一纽带。
- maputnik 本质上是一个mapboxgl style 文件的编辑器。
- maputnik 没有覆盖到 style 文件的所有选项,导致它不支持geoserver的矢量瓦片。
- maputnik 没有覆盖到的选项,可以通过导入、导出功能,手工编辑 style 文件来实现。
原文地址:http://gisarmory.xyz/blog/index.html?blog=maputnikGeoserverVectorTiles2
关注《GIS兵器库》, 第一时间获得更多高质量GIS文章。
本文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名《GIS兵器库》(包含链接: http://gisarmory.xyz/blog/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
猜你喜欢
- 2025-01-23 ArcGIS Enterprise 10.6 (Windows)安装及部署图解
- 2025-01-23 GeoPandas轻松绘制交互式在线地图
- 2025-01-23 分布式海量空间数据处理的数据引擎-GeoMesa
- 2025-01-23 基于TDengine+GeoServer时空大数据云平台
- 2025-01-23 GIS数据协议——OGC数据服务规范(gis是什么数据和什么数据的综合体)
- 2025-01-23 CAD图DWG解析WebGIS可视化技术分析总结
- 2025-01-23 25个在线地图瓦片URL分享(globalmapper瓦片地图生成)
- 2025-01-23 20个在线地图瓦片URL分享(地图瓦片下载工具)
- 2025-01-23 30个在线地图瓦片URL分享(瓦片 地图)
- 2025-01-23 小白一星期搞定GIS Demo(下)(gis小程序)
- 05-11阿里开源MySQL中间件Canal快速入门
- 05-11MyBatis插件开发实战:手写一个分页插件
- 05-11Flask数据库——SQLAlchemy
- 05-11MySQL 到 Hazelcast Cloud 实时数据同步实操分享
- 05-11sqlmap 详解
- 05-11一篇文章让你学会Elasticsearch中的查询
- 05-11Mysql性能优化这5点你知道吗?简单却容易被初学者忽略!
- 05-11Spring Boot 实现 MySQL 读写分离技术
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)