Transformations de la géométrie

Cet article Voir la façon dont GeoServer fournit un certain nombre de fonctions de filtrage qui permettent en fait de manipuler des géométries en les transformant en quelque chose de différent : c’est ce que nous appelons * transformations de géométrie en SLD *.

Extraction des sommets

  1. L’utilisation de compétences acquises dans le : Réf:’ ajout de styles <geoserver.add_style>’ section, créez un style nommé : guilabel: « mainrd_transform » à l’aide de la SLD suivant :</geoserver.add_style>

    <?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>Roads and vertices</Name>
        <UserStyle>
          <FeatureTypeStyle>
            <Rule>
              <LineSymbolizer>
                <Stroke />
              </LineSymbolizer>
              <PointSymbolizer>
                <Geometry>
                  <ogc:Function name="vertices">
                    <ogc:PropertyName>the_geom</ogc:PropertyName>
                  </ogc:Function>
                </Geometry>
                <Graphic>
                  <Mark>
                    <WellKnownName>circle</WellKnownName>
                    <Fill>
                      <CssParameter name="fill">#FF0000</CssParameter>
                    </Fill>
                  </Mark>
                  <Size>6</Size>
                </Graphic>
              </PointSymbolizer>
            </Rule>
          </FeatureTypeStyle>
        </UserStyle>
      </NamedLayer>
    </StyledLayerDescriptor>
    

    Note

    La fonction ‘’ sommets ‘’ retourne un multipoint avec tous les sommets de la géométrie d’origine

  2. L’utilisation de compétences acquises dans le : Réf:’ ajout de styles <geoserver.add_style>’ section, de modifier le style de la couche ‘’ Mainrd’’ et d’ajouter ‘’ mainrd_transform’’ comme un style alternatif (indice, sélectionner le ‘’ mainrd_transform’’ de style dans la première liste ci-dessous « styles disponibles » et puis utilisez la flèche droite pour le déplacer dans les styles « sélectionnés »):</geoserver.add_style>

../../../_images/tx_secondary_style.png

Ajouter le style de mainrd_transform comme un style secondaire pour Mainrd

  1. Utilisez le lien Aperçu pour afficher la couche Mainrd, puis ouvrez la boîte options et choisissez le style alternatif depuis le menu déroulant :

    ../../../_images/sld_transform2.png

    Extraction et montrant les sommets d’une géométrie

Tampon de ligne

  1. Compétences acquises dans la section geoserver.addstyle, créez un nouveau style : guilabel: « mainrd_buffer » à l’aide de la SLD suivant

    <?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>Roads and vertices</Name>
            <UserStyle>
                  <FeatureTypeStyle>
                    <Rule>
                          <PolygonSymbolizer>
                            <Geometry>
                                  <ogc:Function name="buffer">
                                    <ogc:PropertyName>the_geom</ogc:PropertyName>
                                    <ogc:Literal>200</ogc:Literal>
                                  </ogc:Function>
                            </Geometry>
                             <Fill>
                                  <CssParameter name="fill">#7F7F7F</CssParameter>
                                  <CssParameter name="fill-opacity">0.3</CssParameter>
                            </Fill>
                          </PolygonSymbolizer>
                          <LineSymbolizer>
                            <Stroke />
                          </LineSymbolizer>
                    </Rule>
                  </FeatureTypeStyle>
            </UserStyle>
          </NamedLayer>
    </StyledLayerDescriptor>
    

    Note

    La fonction ‘’ tampon ‘’ construit un polygone de tous les points qui sont à l’intérieur la distance spécifiée à partir de la géométrie d’origine.

  2. Comme nous l’avons fait précédemment, modifiez le style de la couche ‘’ Mainrd’’ et ajoute ‘’ mainrd_buffer’’ comme un autre style :

../../../_images/tx_secondary_style_buffer.png

Ajouter le style de mainrd_buffer comme un style secondaire pour Mainrd

  1. Utilisation du ‘ aperçu de la carte <http: localhost:8083/geoserver/mappreview.do=”“>’ _ pour avoir un aperçu du nouveau style.</http:>

    ../../../_images/sld_transform1.png

    Extraction de début et la fin d’une ligne