Caminho gráfico externo do Geoserver SLD

8
<Rule>
    <PointSymbolizer>
     <Graphic>
       <ExternalGraphic>
         <OnlineResource
           xlink:type="simple"
           xlink:href="glass.png" />
         <Format>image/png</Format>
       </ExternalGraphic>
       <Size>28</Size>
     </Graphic>
   </PointSymbolizer>
</Rule>

Eu quero usar gráficos externos em minhas camadas. Estilizei com o painel de administração do geoserver. Mas gráficos externos não estão funcionando. Coloquei minha imagem na pasta / var / www / geoserver / data / styles .

Eu tentei algumas opções href, mas não funcionou.

  • xlink: href = "glass.png"
  • xlink: href = "file: ///glass.png"
  • xlink: href = "/ var / www / geoserver / glass.png"

Eu acho outra questão.

boliwe
fonte
1
Seu SLD é muito semelhante ao "burg.sld", que é usado na camada de demonstração "tiger: poi". Parece haver duas maneiras de dar tamanho, mas o seu caminho também está correto. Tente usar o símbolo png em vez de "burg02.svg" para o tigiger: poi e verifique com a pré-visualização da camada que ele está sendo usado. Altere Estilos WMS para "burg" nas opções estendidas da visualização da camada. / Var / www / geoserver / data é seu data_dir? Seu último xlink com caminho completo parece ter um erro de digitação - / dados / ausente no caminho.
user30184

Respostas:

5

Verifique se você criou a definição de estilo dentro de uma área de trabalho.

Se você estiver nessa situação, precisará colocar a imagem png no diretório $ GEOSERVER_DATA_DIR / wokspaces / {Name} / styles ou em qualquer subdiretório.

ou seja, se você enviar a imagem para o diretório:

$ GEOSERVER_DATA_DIR / workspaces / {yourWorkspace} /styles/images/earthquake.png

Seu sld deve ficar assim

        <Rule>
          <Title>Red flag</Title>
          <PointSymbolizer>
            <Graphic>
              <ExternalGraphic>
                <OnlineResource xlink:type="simple" xlink:href="images/earthquake.png" />
                <Format>image/png</Format>
              </ExternalGraphic>
              <Size>
                <ogc:Literal>20</ogc:Literal>
              </Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
Juan Jaraices
fonte
4

Esta é a modificação do burg.sld que acompanha o geoserver. Eu forneci earthquake.png no diretório styles de GEOSERVER_DATA_DIRECTORY.

  <?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>redflag</Name>
        <UserStyle>
          <Name>burg</Name>
          <Title>A small red flag</Title>
          <Abstract>A sample of how to use an SVG based symbolizer</Abstract>

          <FeatureTypeStyle>
            <Rule>
              <Title>Red flag</Title>
              <PointSymbolizer>
                <Graphic>
                  <ExternalGraphic>
                    <OnlineResource xlink:type="simple" xlink:href="earthquake.png" />
                    <Format>image/png</Format>
                  </ExternalGraphic>
                  <Size>
                    <ogc:Literal>20</ogc:Literal>
                  </Size>
                </Graphic>
              </PointSymbolizer>
            </Rule>

          </FeatureTypeStyle>
        </UserStyle>
      </NamedLayer>
    </StyledLayerDescriptor>
kinkajou
fonte