Chemin graphique externe du 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>

Je souhaite utiliser des graphiques externes sur mes calques. J'ai stylé avec le panneau d'administration geoserver. Mais les graphiques externes ne fonctionnent pas. J'ai mis mon image dans le dossier / var / www / geoserver / data / styles .

J'ai essayé quelques options href mais n'ai pas fonctionné.

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

Je pense qu'un autre problème.

boliwe
la source
1
Votre SLD ressemble beaucoup à "burg.sld" qui est utilisé dans la couche de démonstration "tiger: poi". Il semble y avoir deux façons de donner de la taille, mais la vôtre est également correcte. Essayez d'utiliser votre symbole png au lieu de "burg02.svg" pour tiger: poi et vérifiez avec l'aperçu du calque qu'il est utilisé. Changez les styles WMS en "burg" à partir des options étendues de l'aperçu des calques. / Var / www / geoserver / data est-il votre répertoire de données? Votre dernier xlink avec chemin complet semble avoir une faute de frappe - / data / manquant dans le chemin.
user30184

Réponses:

5

Vérifiez si vous avez créé la définition de style dans un espace de travail.

Si vous êtes dans cette situation, vous devez placer l'image png dans le répertoire $ GEOSERVER_DATA_DIR / wokspaces / {Name} / styles ou dans un sous-répertoire.

c'est-à-dire si vous téléchargez l'image dans le répertoire:

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

Votre sld doit ressembler à ceci

        <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
la source
4

Il s'agit d'une modification de burg.sld qui accompagne geoserver. J'ai fourni earthquake.png dans le répertoire des 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
la source