如何让 Geoserver 正确提供 MB Vector Tiles

Posted

技术标签:

【中文标题】如何让 Geoserver 正确提供 MB Vector Tiles【英文标题】:How to get Geoserver to correctly serve up MB Vector Tiles 【发布时间】:2022-01-02 01:44:21 【问题描述】:

我有提供 MapBox 矢量图块的 geoserver (v2.18.1)。它工作得很好,数据正在返回并在客户端上呈现。我已经安装了 MBTiles 插件。

我遇到的问题是包含每个图块日期的 protobuf 响应的大小非常大。有些超过 2mb - 即使打开了 GZip 压缩。在 OpenLayers 中渲染时,应用程序开始陷入困境 - 更不用说带宽使用了。

我注意到其他在线服务(即https://api.maptiler.com)的磁贴大小低于 200kb。这是一个巨大的差异。

有没有办法配置 Geoserver 来根据缩放级别过滤返回给客户端的数据?例如,在低缩放级别排除地名。我尝试过应用 MB Style 文档,但这似乎不起作用。

是否可以在将 Vector 数据返回给客户端之前对其进行服务器端过滤?

【问题讨论】:

【参考方案1】:

是的,与您的图层关联的 SLD 文件是服务器端过滤器。 虽然不使用符号,但规则正在驱动您在缩放级别上看到的内容。

【讨论】:

谢谢。只是为了澄清。 MB 样式是图层组还是每个单独的图层? (我们没有使用 XML SLD。)。 所以您使用的是“样式组”定义?我想这应该是一样的,但我从未尝试过。但是,如果您在 Internet 上选择现有的 MB 样式,它们将无法工作......它们应该应用于客户端,并且数据已经过滤,因此通常它们缺少可以修剪数据的过滤器(它们不需要它,他们通常收到的数据已经被修剪)。 我现在可以正常工作了。我所做的是创建多个图层组,每个图层组都包含相关图层。每个图层组都应用了一种样式来过滤数据。最后,我创建了一个图层组,它将所有这些图层组组合成一个图层组。 (图层组的图层组)这样,每个图块可以发出一个请求。

以上是关于如何让 Geoserver 正确提供 MB Vector Tiles的主要内容,如果未能解决你的问题,请参考以下文章

新人求助如何在geoserver上发布地图让其他计算机也能访问

如何在fedora系统中,让geoserver服务开机启动??

如何使用 Tomcat 在 Geoserver 上提供 https?

如何使用 Vuelayers 与 GeoServer 提供的 WMS 瓦片层进行交互?

如何在 Gensim 的 Word2Vec 中正确使用 get_keras_embedding()?

使用 Cesium 在 Geoserver 上无法获取(找不到正确的 url)Tile 层