Geoserver - 禁用具有多个图层的 WMS 服务的根图层

Geoserver - disable root layer for WMS service with multiple layers

提问人:Danek 提问时间:11/17/2023 最后编辑:Ian TurtonDanek 更新时间:11/18/2023 访问量:13

问:

如何在具有多个图层的 WMS 服务(工作空间)中移除/禁用根图层?

Geoserver 允许用户从只有一个图层的 WMS 服务中删除/禁用根图层(该图层是根图层)。

https://docs.geoserver.org/main/en/user/data/webadmin/layers.html

(参见“功能中的根层”部分)

当您有一个图层(QGIS和GetCapabilities响应的屏幕)时,这工作正常

WMS service with 1 layer and with NO root layer

但是,当您向同一工作空间添加更多图层时,它不起作用

WMS service with 2 layers and with root layer

是否有任何选项可以移除/禁用 WMS 服务(工作区)中服务于 1 个以上图层的根图层?

我也尝试过修改特定的工作区“根层”设置(禁用选项“始终在功能中包含根层”并清理了“标题”和“摘要”字段),但没有结果。

我正在使用安装在远程 linux 服务器 (Ubuntu 22.04.1) 上的 Geoserver ver 2.23.2

Web GIS GeoServer WMS

评论

0赞 Ian Turton 11/18/2023
我认为如果你有多个层,它们必须在某个东西中
0赞 Danek 11/20/2023
通常就是这样,听起来很合乎逻辑:)但是我有一个特定的 ESRI 模块(卷帘地图工具),我想在其中添加由 geoserver 提供的此类数据,并且该模块要求我在顶层(作为根图层)上提供图层,而不是作为组中的图层。解决方法是为每个图层创建单独的工作区,但问题是我有相当多的图层要服务,因此这样我的地理服务器工作区结构就会一团糟。

答:

0赞 Ian Turton 11/20/2023 #1

据我所知,GeoServer WMS中只有一个可能的设置来控制功能中的顶级元素,该功能位于手册中的WMS服务页面中:

也可以设置标志。默认情况下,此选项处于选中状态,但可以取消设置,以便仅当尚不存在单个顶级图层元素时,根图层才包含在功能中。这对于允许与某些对两个或多个图层树级别不满意的 WMS 客户端兼容非常有用。可以在层或请求级别覆盖此默认设置。Always include Root Layer in capabilities

如果这不能解决问题,您需要要求GeoServer增强功能或尝试修复客户端。

评论

0赞 Danek 11/20/2023
不幸的是,此设置(始终包含根图层..)仅在您只有一个图层时才有效。在两层或莫拉层的情况下,即使未检查渗出,它也不起作用
0赞 Ian Turton 11/20/2023
我担心会是这样