我是GeoServer的新手,我正在尝试在现有 Map 上添加图例 . 我不确定在哪里添加图例XML文件?
在GeoServer用户手册中,他们简要介绍了图例,但不是很清楚:http://docs.geoserver.org/stable/en/user/advanced/wmsdecoration.html我认为应该在Web Map 服务页面(WMS)中添加图例XML文件 . 但我试图在页面上搜索关键词如传奇或其他东西,但我找不到它 . 我正朝着正确的方向前进吗?
我是GeoServer的新手,我正在尝试在现有 Map 上添加图例 . 我不确定在哪里添加图例XML文件?
在GeoServer用户手册中,他们简要介绍了图例,但不是很清楚:http://docs.geoserver.org/stable/en/user/advanced/wmsdecoration.html我认为应该在Web Map 服务页面(WMS)中添加图例XML文件 . 但我试图在页面上搜索关键词如传奇或其他东西,但我找不到它 . 我正朝着正确的方向前进吗?
2 回答
您指的是WMS叠加装饰 .
在帖子中包含的链接http://docs.geoserver.org/stable/en/user/advanced/wmsdecoration.html中,它提供了模仿您引用的屏幕截图所需的说明 .
从本质上讲,你:
创建一个描述文件,就像帖子中提供的一样
将此文件复制到Geoserver上数据目录中存在的
layouts
文件夹(具体路径因安装而异)使用查询字符串参数对wms图层进行工艺请求,以指示服务器您要查看具有指定叠加层的图层 . 即
&format_options=layout:foo
到请求参数 .这将叠加层嵌入层本身 . 这与Jose的答案形成对比,后者涉及额外的HTTP请求(可以在
<img href=""/>
标签中引用) .在任何一种情况下,图例组件都可以通过在图层请求中应用样式来影响 . 这些通常用SLD编码 . 有关的信息可用here
==编辑01 ==有关参考,可在此处找到数据目录的路径:
这是服务器上安装geoserver的路径,数据目录所在的位置 . Structure of Data Directory链接详细介绍了此文件夹中的内容以及每个项目的用途 .
我认为您正在寻找的请求是GetLegendGraphic . 使用此请求,您要求Geoserver返回与图层的默认SLD或请求中指定的SLD相对应的图像 .
这是您可以在Geoserver文档中找到的示例请求:
http://localhost:8080/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=topp:states&legend_options=fontName:Times%20New%20Roman;fontAntiAliasing:true;fontColor:0x000033;fontSize:14;bgColor:0xFFFFEE;dpi:180
有关您可以在请求中指定的更多信息和所有参数:http://docs.geoserver.org/latest/en/user/services/wms/get_legend_graphic/legendgraphic.html
如果您正在寻找获取SLD文件内容而不是图像以在应用程序中处理它的请求,则需要执行GetStyle请求 .
我希望有所帮助 .