banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 16 September 2015 16:17

Nekultra
Participant occasionnel
Lieu: France
Date d'inscription: 21 Oct 2013
Messages: 18

Etiquette OpenGeo / Geoserver

Bonjour,
Je suis actuellement en train d'essayer la suite OpenGeo et je voudrais savoir si il était possible de réaliser un contrôle d'affichage des étiquettes en fonction du niveau d'échelle.
Par exemple, afficher les étiquette à seulement [1 : 15 000]. J'ai épluché la doc SLD et Geoserver...sans grand résultat. C'est faisable avec les couches mais rien sur les étiquettes pour ce type de réalisation.

Si quelqu'un a des infos, des bouts de code, des extension ou d'autres astuces  je suis intéressé ! smile

Merci !

Hors ligne

 

#2 Mon 21 September 2015 15:54

JF BEHM
Participant actif
Lieu: toulouse
Date d'inscription: 9 Aug 2013
Messages: 126
Site web

Re: Etiquette OpenGeo / Geoserver

Bonjour,
avez-vous regardé du côté du "cookbook" SLD :http://docs.geoserver.org/latest/en/use … yled-label ?

Cordialement,


Jean-François Behm, formateur SIG, jf.behm@texte-a-enlever.idgeo.fr, formations@texte-a-enlever.idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique  42, avenue de Général de Croutte - 31100 toulouse

Hors ligne

 

#3 Wed 23 September 2015 13:39

Nekultra
Participant occasionnel
Lieu: France
Date d'inscription: 21 Oct 2013
Messages: 18

Re: Etiquette OpenGeo / Geoserver

Bonjour,
Merci de votre réponse, j'ai pu différents tutoriels et réaliser ce type d'affichage, les "cookbook" m'ayant servi également. 
Pour la solution, le script SLD fonctionne avec différents niveaux de règles :
- entre niveau [1:1] et [1:25000] = Afficher étiquettes + style de couche
- niveaux  > [1:25000] = Afficher seulement le style de la couche

Ci-dessous un exemple de script SLD appliqué sur une couche des quartiers de Rennes (source : Open Data Rennes) :

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/St … .xsd" xmlns:se="http://www.opengis.net/se">
  <NamedLayer>
    <se:Name>Quartiers_label_No_scale</se:Name>
    <UserStyle>
      <se:Name>Quartiers_label_No_scale</se:Name>
      <se:FeatureTypeStyle>
        <se:Rule>
          <se:Name>Single symbol</se:Name>
          <se:MinScaleDenominator>68248</se:MinScaleDenominator>
          <se:MaxScaleDenominator>200000000</se:MaxScaleDenominator>
          <se:PolygonSymbolizer>
            <se:Fill>
              <se:SvgParameter name="fill">#badd69</se:SvgParameter>
            </se:Fill>
            <se:Stroke>
              <se:SvgParameter name="stroke">#809848</se:SvgParameter>
              <se:SvgParameter name="stroke-width">0.26</se:SvgParameter>
              <se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
            </se:Stroke>
          </se:PolygonSymbolizer>
        </se:Rule>
        <se:Rule>
          <se:Name>Single symbol</se:Name>
          <se:MinScaleDenominator>1</se:MinScaleDenominator>
          <se:MaxScaleDenominator>68248</se:MaxScaleDenominator>
          <se:PolygonSymbolizer>
            <se:Fill>
              <se:SvgParameter name="fill">#badd69</se:SvgParameter>
            </se:Fill>
            <se:Stroke>
              <se:SvgParameter name="stroke">#809848</se:SvgParameter>
              <se:SvgParameter name="stroke-width">0.26</se:SvgParameter>
              <se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
            </se:Stroke>
          </se:PolygonSymbolizer>
          <se:TextSymbolizer>
            <se:Label>
                <ogc:PropertyName>NOM</ogc:PropertyName>
            </se:Label>
          </se:TextSymbolizer>
       </se:Rule>
      </se:FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>


A noter que le style de base a été réalisé via Qgis avec l'enregistrement de style et modifier manuellement avec l'ajout de :
- <se:MinScaleDenominator> pour déterminer les échelles
- une seconde section <se:Rule> pour la seconde règle à un niveau différent

Le "se" dans les balises <se:XXXX> sont générées par Qgis. Non obligatoires pour le fonctionnement SLD.

Plus simple que le SLD, le YSLD sans les balises, plus simple à écrire et comprendre : http://boundlessgeo.com/2014/12/ysld/

Dernière modification par Nekultra (Wed 23 September 2015 13:48)

Hors ligne

 

Pied de page des forums

Powered by FluxBB