前段时间分享了如何让矢量瓦片配图神器 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 框架不熟的同学可能比拟吃力,但如果解决了,后续应用就会很不便,一劳永逸。
- docker 版本的 maputnik,无奈批改源码,只能应用这次的计划解决。
总结:
- style 文件是 maputnik 和 mapboxgl 连贯的惟一纽带。
- maputnik 实质上是一个 mapboxgl style 文件的编辑器。
- maputnik 没有笼罩到 style 文件的所有选项,导致它不反对 geoserver 的矢量瓦片。
- maputnik 没有笼罩到的选项,能够通过导入、导出性能,手工编辑 style 文件来实现。
<br/>
<br/>
原文地址:http://gisarmory.xyz/blog/index.html?blog=maputnikGeoserverVectorTiles2
关注《GIS 兵器库》,第一工夫取得更多高质量 GIS 文章。
本文章采纳 常识共享署名 - 非商业性应用 - 雷同形式共享 4.0 国内许可协定 进行许可。欢送转载、应用、从新公布,但务必保留文章署名《GIS 兵器库》(蕴含链接:http://gisarmory.xyz/blog/),不得用于商业目标,基于本文批改后的作品务必以雷同的许可公布。