#1 Sun 05 August 2012 20:25
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Problème étiquettes labels GeoServer HTML
Bonjour,
je débute tout juste (et tout seul) sur GeoServer, j'ai bien le début de traduction de GeoOrchestra (et merci !) mais découvre le HTML (et rame un peu).
J'ai des polygones importés à partir de shapes, et qui s'affichent très bien dans un nouvel onglet de mon navigateur, quand je clique sur "Prévisualisation des couches/Open layers".
Ceux-ci possèdent des attributs (qui s'affichent également proprement), dont la colonne "NOM". C'est d'elle que je souhaite importer mes étiquettes.
J'essaie maintenant tout simplement de leur mettre ces étiquettes, mais sans succès...
Je crois avoir compris le principe du SLD et des "Styles", et je crois qu'on y implémente également le code pour les labels. J'ai testé plusieurs code dans succès.
Classiquement, je me disais que ça ressemblerait à ça :
Code:
<Label> <ogc:PropertyName>NOM</ogc:PropertyName> </Label>
Mais c'est visiblement plus compliqué. Je ne parle pour l'instant bien uniquement d'étiquettes touts bêtes.
Si quelqu'un peut m'aider, merci d'avance !
Hors ligne
#2 Mon 06 August 2012 11:20
Re: Problème étiquettes labels GeoServer HTML
Bonjour,
Peux tu poster ton sld un peu plus complet s'il te plait ?
Normalement il faut ajouter un élément <TextSymbolizer> qui contient plusieurs éléments (Geometry, Lalbel, Font, Fill, etc.) Voir le standard page 49 pour un exemple.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Mon 06 August 2012 13:06
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Problème étiquettes labels GeoServer HTML
Ok, voici mon sld, duquel effectivement il semble manquer beaucoup de choses concernant la partie "Label" et "TextSymbolizer" :
Code:
<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <NamedLayer> <Name>default_polygon</Name> <UserStyle> <Title>Default Polygon</Title> <Abstract>A sample style that draws a polygon</Abstract> <FeatureTypeStyle> <Rule> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#40FF40</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#FFFFFF</CssParameter> <CssParameter name="stroke-width">2</CssParameter> </Stroke> </PolygonSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>nom</ogc:PropertyName> </Label> </TextSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>
Merci d'avance de prendre un peu de votre temps !
Dernière modification par Georgie (Mon 06 August 2012 23:14)
Hors ligne
#4 Mon 06 August 2012 23:14
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Problème étiquettes labels GeoServer HTML
Mais finalement, le même code appliquée à un autre import d'un fichier shape téléchargé sur GeOrchestra, en remplaçant uniquement
Code:
<ogc:PropertyName>nom</ogc:PropertyName>
par
Code:
<ogc:PropertyName>name</ogc:PropertyName>
fonctionne !
Cela n'est donc sans doute pas lié à mon code, mais plutôt à l'import ou au fichier shape original. Comme si GeoServer ne reconnaissait pas les données attributaires de mon shape, alors même qu'elles apparaissent dans la prévisualisation Open Layers.
Avec cette nouvelle piste, quelqu'un a-t-il une idée ?
Mon shape sort d'Arcgis, a été converti en WGS 84, et l'import dans GeoServer supporte de nombreux codes agissant sur les vecteurs, mais pas sur les données attributaires. Un rapport avec la norme OGC ?
Autre chose si ça peut aider : m'ai signifié le refus du code par le lancement du téléchargement d'un fichier wms au moment où je clique sur la prévisualisation Open Layers.
Voilà, je planche encore. La documentation de GeOrchestra m'aide autant qu'elle me tourmente !
Dernière modification par Georgie (Mon 06 August 2012 23:15)
Hors ligne
#5 Tue 07 August 2012 00:13
- Georgie
- Participant assidu
- Date d'inscription: 28 May 2011
- Messages: 232
Re: Problème étiquettes labels GeoServer HTML
Résolu !
Apparemment dans mon dernier post, j'avais à la fois tort et raison, c'était lié à mon code mais aussi à ces normes OGC, qui n'accepteraient, je crois, que certains noms génériques en guise de nom de champs, du moins sur GeoServer.
Hors de question, donc, d'appeler un champ "Nom" si l'on souhaite l'utiliser sur GeoServer. Il faudra le renommer, ou le dupliquer puis le renommer, en "name". Et la casse semble importante.
Ce qui nous donne, pour de simples étiquettes, un TextSymbolizer qui va ressembler à ça :
Code:
<TextSymbolizer> <Label> <ogc:PropertyName>name</ogc:PropertyName> </Label> </TextSymbolizer>
Hors ligne