#1 Sat 13 April 2013 16:56
- tiolebucheron
- Participant actif
- Lieu: Rouen
- Date d'inscription: 26 Mar 2006
- Messages: 147
SLD dynamique - besoin d'avis
Bonjour
J'ai besoin de conseil, je vais partir d'un cas concret pour expliquer.
J'ai une couche de données (postgres) avec deux champs
pour le premier champ je veux faire une analyse en modifiant la trame
pour le deuxième champ je veux faire une analyse en modifiant la couleur.
Les combinaisons sont trop nombreuses pour les gérer manuellement.
ex la couche 1 est le type de support (livre revue tablette feuille carnet...)
la couche 2 est le thème auquel se rapport le support (histoire, géographie, physique,.....)
"livre d'histoire" => "rayure horizontal - rouge"
"livre de physique" => "rayure horizontal - bleu"
Je pense que via la SLD on peut faire ce type d'analyse, avez vous des exemples?
Après au niveau de la légende, je pensais faire une légende pour la couche 1 avec toutes les trames et une couche 2 avec toutes les couleurs.
Qu'en pensez vous? Avec vous vu déjà des exemples concrets de ce type?
Merci pour vos idées.
Tio
Hors ligne
#2 Sat 13 April 2013 23:45
Re: SLD dynamique - besoin d'avis
Bonjour,
SLD ne supporte pas les hachures en tant que telle.
Geoserver dispose d'une extension du SLD (donc hors standard) qui le fait http://suite.opengeo.org/recipes/#sld/p … tchingfill
Le moyen d'avoir des hachures via SLD (en restant dans le standard donc par exemple Mapserver et Geoserver) est d'avoir une image contenant un pattern et de la répéter http://suite.opengeo.org/recipes/#sld/p … raphicfill
L'inconvénient est que cela implique d'utiliser des images de hachures assez nombreuses si ces hachures doivent aussi changer de couleur ou d'espacement.
Un moyen potentiel de répondre à votre question est d'utiliser une image png pour les hachures qui soit transparente et d'autre part avec un autre style de faire un aplat.
J'ai fait un petit test mais le rendu n'est pas parfait
Url de test
http://v2.suite.opengeo.org/geoserver/w … HEIGHT=256
Url du SLD
http://www.analysesig.net/test_sld_hatching.xml
N'ayant pas trop poussé les expérimentations, je vous conseille de lire la doc officielle SLD pour aller plus loin http://www.opengeospatial.org/standards/sld et consulter les exemples http://mapserver.org/ogc/sld.html, http://docs.geoserver.org/latest/en/use … -cookbook/ et https://wiki.state.ma.us/confluence/dis … ptor+-+SLD
Cordialement
ThomasG
Hors ligne
#3 Wed 17 April 2013 11:40
- tiolebucheron
- Participant actif
- Lieu: Rouen
- Date d'inscription: 26 Mar 2006
- Messages: 147
Re: SLD dynamique - besoin d'avis
Merci pour toutes ces informations
Je rajoute un site avec un exemple. La méthode est de faire plusieurs sld:FeatureTypeStyle (1 par analyse)
http://genuchten.blogspot.fr/2012/11/ap … ields.html
J'ai en effet utilisé l'extension de Geoserver pour les hachures.
Code:
<?xml version="1.0" encoding="UTF-8"?> <sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0"> <sld:NamedLayer> <sld:UserStyle> <sld:Name>sld_peuplement</sld:Name> <sld:FeatureTypeStyle> <sld:Rule> <sld:Name>Feuillus</sld:Name> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>nattype</ogc:PropertyName> <ogc:Literal>FEU</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <sld:PolygonSymbolizer> <sld:Fill> <sld:CssParameter name="fill">#3333FF</sld:CssParameter> <sld:CssParameter name="fill-opacity">0.8</sld:CssParameter> </sld:Fill> <sld:Stroke> <sld:CssParameter name="stroke">#3333FF</sld:CssParameter > <sld:CssParameter name="stroke-width">0.5</sld:CssParameter > </sld:Stroke> </sld:PolygonSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> <sld:FeatureTypeStyle> <sld:Rule> <sld:Name>Chêne</sld:Name> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>esstype</ogc:PropertyName> <ogc:Literal>CHX</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <sld:PolygonSymbolizer> <sld:Fill> <sld:GraphicFill> <sld:Graphic> <sld:Mark> <sld:WellKnownName>shape://horline</sld:WellKnownName> <sld:Stroke> <sld:CssParameter name="stroke">#808000</sld:CssParameter> <sld:CssParameter name="stroke-width">0.5</sld:CssParameter > </sld:Stroke> </sld:Mark> <sld:Size>8</sld:Size> </sld:Graphic> </sld:GraphicFill> </sld:Fill> <sld:Stroke> <sld:CssParameter name="stroke">#808000</sld:CssParameter > <sld:CssParameter name="stroke-width">0.5</sld:CssParameter > </sld:Stroke> </sld:PolygonSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> </sld:UserStyle> </sld:NamedLayer> </sld:StyledLayerDescriptor>
Dernière modification par tiolebucheron (Wed 17 April 2013 11:41)
Hors ligne
#4 Wed 17 April 2013 21:11
- supernul
- Participant actif
- Date d'inscription: 31 Jan 2010
- Messages: 103
Re: SLD dynamique - besoin d'avis
Bonsoir,
si le développement touche le développement web, la solution passe peut-être par la génération du SLD (qui est un fichier XML) à partir d'un langage serveur comme php.
Hors ligne