2 votos

Cambiar el título de la decoración de la leyenda del Geoservidor

El título de la leyenda de la rampa de color es el nombre de la capa. Me pregunto si puedo anular esto y establecer el título explícitamente. Por ejemplo, digamos que quiero cambiar el título de la rampa de color de "Índice de primavera, Anomalía diaria - Anomalía de la hoja" a simplemente "Anomalía de la hoja".

Actualmente Este es el resultado WMS que estoy recibiendo:

enter image description here

Como puede ver, en el título de la capa aparece "Spring Index, Daily Anomaly - Leaf Anomaly":

enter image description here

Este es mi diseño:

<layout>
  <decoration type="text" affinity="bottom,left" offset="26,20">
    <option name="message" value="Difference from average in the timing of the Start of Spring, as estimated through an index of early-leafing plants"/>
    <option name="font-size" value="15"/>
    <option name="font-bold" value="true"/>
    <option name="font-family" value="Arial"/>
    <option name="halo-radius" value="4"/>
  </decoration>
  <decoration type="text" affinity="bottom,left" offset="26,0">
    <option name="message" value="Results Provisional  (www.usanpn.org/data/spring)"/>
    <option name="font-size" value="15"/>
    <option name="font-italic" value="true"/>
    <option name="font-family" value="Arial"/>
    <option name="halo-radius" value="4"/>
  </decoration>
  <decoration type="legend" affinity="bottom,right" offset="4,-55" size="auto"/>
</layout>

Aquí está mi colorramp sld:

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>days</Name>
    <UserStyle>
      <Name>days</Name>
      <Title>Days Difference</Title>
      <FeatureTypeStyle>
        <Rule>
          <RasterSymbolizer>
            <Opacity>1.0</Opacity>
            <ColorMap>         
              <ColorMapEntry color="#FFFFFF" quantity="-9999" label="Day Difference" opacity="0.0"/>
              <ColorMapEntry color="#67001f" quantity="-20"   label="20 Days Early"/>
              <ColorMapEntry color="#b2182b" quantity="-8"    label="8 Days Early"/>
              <ColorMapEntry color="#d6604d" quantity="-6"    label="6 Days Early"/>
              <ColorMapEntry color="#f4a582" quantity="-4"    label="4 Days Early"/>
              <ColorMapEntry color="#fddbc7" quantity="-2"    label="2 Days Early"/>
              <ColorMapEntry color="#f7f7f7" quantity="0"     label="No Difference"/>
              <ColorMapEntry color="#d1e5f0" quantity="2"     label="2 Days Later"/>
              <ColorMapEntry color="#92c5de" quantity="4"     label="4 Days Late"/>
              <ColorMapEntry color="#4393c3" quantity="6"     label="6 Days Late"/>
              <ColorMapEntry color="#2166ac" quantity="8"     label="8 Days Late"/>
              <ColorMapEntry color="#053061" quantity="20"    label="20 Days Later"/>
            </ColorMap>
          </RasterSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

3voto

Cole Weis Puntos 8

Acabo de encontrar la respuesta indagando en la fuente LegendDecoration que se encuentra aquí: https://fossies.org/dox/geoserver-2.8.2/LegendDecoration_8java_source.html

La solución es establecer la opción sldTitle en "true" de la siguiente manera:

<decoration type="legend" affinity="bottom,right" offset="4,-55" size="auto">
    <option name="sldTitle" value="true"/>
  </decoration>

Entonces el título vendrá del atributo title en su estilo sld (en mi caso cambió el título a "Diferencia de días" según el sld de abajo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>days</Name>
    <UserStyle>
      <Name>days</Name>
      <Title>Days Difference</Title>

Si sldTitle no está definido, Geoserver extrae el título del título de la capa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X