首页 文章

在GeoServer上添加图例

提问于
浏览
1

enter image description here

我是GeoServer的新手,我正在尝试在现有 Map 上添加图例 . 我不确定在哪里添加图例XML文件?

在GeoServer用户手册中,他们简要介绍了图例,但不是很清楚:http://docs.geoserver.org/stable/en/user/advanced/wmsdecoration.html我认为应该在Web Map 服务页面(WMS)中添加图例XML文件 . 但我试图在页面上搜索关键词如传奇或其他东西,但我找不到它 . 我正朝着正确的方向前进吗?

2 回答

  • 1

    您指的是WMS叠加装饰 .

    在帖子中包含的链接http://docs.geoserver.org/stable/en/user/advanced/wmsdecoration.html中,它提供了模仿您引用的屏幕截图所需的说明 .

    要在GetMap请求中使用装饰,管理员必须首先配置装饰布局 . 这些布局存储在GeoServer数据目录中名为layouts的子目录中,作为XML文件,每个布局一个文件 . 每个布局文件必须具有扩展名.xml . 一旦定义了布局foo.xml,用户就可以通过向请求参数添加&format_options = layout:foo来请求它 .

    从本质上讲,你:

    • 创建一个描述文件,就像帖子中提供的一样

    • 将此文件复制到Geoserver上数据目录中存在的 layouts 文件夹(具体路径因安装而异)

    • 使用查询字符串参数对wms图层进行工艺请求,以指示服务器您要查看具有指定叠加层的图层 . 即 &format_options=layout:foo 到请求参数 .

    这将叠加层嵌入层本身 . 这与Jose的答案形成对比,后者涉及额外的HTTP请求(可以在 <img href=""/> 标签中引用) .

    在任何一种情况下,图例组件都可以通过在图层请求中应用样式来影响 . 这些通常用SLD编码 . 有关的信息可用here

    ==编辑01 ==有关参考,可在此处找到数据目录的路径:
    enter image description here
    这是服务器上安装geoserver的路径,数据目录所在的位置 . Structure of Data Directory链接详细介绍了此文件夹中的内容以及每个项目的用途 .

  • 2

    我认为您正在寻找的请求是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请求 .

    我希望有所帮助 .

相关问题