#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é !
Merci !
Hors ligne
#2 Mon 21 September 2015 15:54
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@, idgeo.frformations@ 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