Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 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

 

Pied de page des forums

Powered by FluxBB