Pages: 1
- Sujet précédent - SLD pour symbologie bivariée (ou autre méthode, je suis preneur) - Sujet suivant
#1 Wed 20 February 2013 08:55
- supernul
- Participant actif
- Date d'inscription: 31 Jan 2010
- Messages: 103
SLD pour symbologie bivariée (ou autre méthode, je suis preneur)
Bonjour à tous,
Je tente de créer un SLD utilisant deux attributs de ma donnée initiale : un attribut en valeur absolue et un autre en valeur relative
Quand je réalise un SLD pour chaque attribut, j'obtiens la symbologie recherchée :
- un dégradé de couleurs (vert -> rouge) pour mon attribut relatif (=sat10)
- une largeur variable pour mon attribut absolu (=flot10)
Cependant quand je crée le SLD pour créer une symbologie (tailleur + couleur) je n'obtiens pas le résultat souhaité.
Voici deux extrêmes de SLD que j'ai essayé (seulement des extraits, j'en suis à plus de 500 lignes actuellement) :
Code:
<Rule> <Filter> <And> <PropertyIsGreaterOrEqualTo> <PropertyName>flot10</PropertyName> <Literal>937.5</Literal> </PropertyIsGreaterOrEqualTo> <And> <PropertyIsGreaterOrEqualTo> <PropertyName>Sat10</PropertyName> <Literal>0.60</Literal> </PropertyIsGreaterOrEqualTo> <PropertyIsLessThan> <PropertyName>Sat10</PropertyName> <Literal>0.80</Literal> </PropertyIsLessThan> </And> </And> </Filter> <LineSymbolizer> <Geometry> <PropertyName>center-line</PropertyName> </Geometry> <Stroke> <CssParameter name="stroke">#FF6600</CssParameter> <CssParameter name="stroke-width">8.0</CssParameter> </Stroke> </LineSymbolizer> </Rule>
Code:
<Rule> <Filter> <PropertyIsGreaterOrEqualTo> <PropertyName>flot10</PropertyName> <Literal>937.5</Literal> </PropertyIsGreaterOrEqualTo> <PropertyIsGreaterOrEqualTo> <PropertyName>Sat10</PropertyName> <Literal>0.60</Literal> </PropertyIsGreaterOrEqualTo> <PropertyIsLessThan> <PropertyName>Sat10</PropertyName> <Literal>0.80</Literal> </PropertyIsLessThan> </Filter> <LineSymbolizer> <Geometry> <PropertyName>center-line</PropertyName> </Geometry> <Stroke> <CssParameter name="stroke">#FF6600</CssParameter> <CssParameter name="stroke-width">8.0</CssParameter> </Stroke> </LineSymbolizer> </Rule>
J'ai essayé avec qgis de générer un SLD mais j'obtiens le même résultat : un SLD non fonctionnel
Si vous voyez l'erreur que je n'ai pas vu ou si vous utilisez une autre méthode, je suis preneur.
Merci de votre aide.
Message aussi posté sur forumsig.
Dernière modification par supernul (Wed 20 February 2013 08:55)
Hors ligne
#2 Thu 21 February 2013 15:50
- supernul
- Participant actif
- Date d'inscription: 31 Jan 2010
- Messages: 103
Re: SLD pour symbologie bivariée (ou autre méthode, je suis preneur)
Solution trouvée ! Elle n'est pas élégante mais elle fonctionne, c'est le principal.
Je code dans le mapfile la symbologie bivariée (vive le ctrl+C/V/H pour aller plus vite) et je crée un SLD non conforme. Dans mon js qui affecte les SLD en fonction de la solution choisie, je fais comme si tout les fichiers étaient fonctionnels.
lorsque qu'openlayers affecte un SLD non conforme sur le mapfile, le SLD n'est pas pris en compte et la symbologie du mapfile est utilisée. Dans les autres cas, la symbologie définie dans le SLD est employée.
Peut-être que mapscript serait une solution plus élégante.
Reste maintenant à racheter un ordi et un disque dur et tout reprogrammer. Le mien vient de mourir lamentablement.
Hors ligne
Pages: 1
- Sujet précédent - SLD pour symbologie bivariée (ou autre méthode, je suis preneur) - Sujet suivant