#1 Wed 10 July 2013 11:08
- Philippine
- Juste Inscrit !
- Date d'inscription: 6 May 2013
- Messages: 2
[Geoserver]affichage des labels en fonction du zoom
Bonjour à tous,
dans le cadre de mon stage je dois publier des WMS dans Geoserver. J'ai notamment un shape qui représente des parcelles et il faut que je fasse apparaître le nom des parcelles. Ces petites parcelles s'étendent sur une très grande surface et j'ai un problème d'afficahge des étiquettes lorsqu'on visualise le shape dans son ensemble : les étiquettes n'apparaissent qu'après avoir zoomé considérablement sur les éléments du shape.
J'ai donc voulu créer des "Rules" dans le fichier de style associé à mon shape, qui permettent de gérer l'affichage des étiquettes en fonction du niveau de zoom, voici un extrait du code pour deux niveaux de zoom :
Code:
<UserStyle> <FeatureTypeStyle> <Rule> <Name>XXLarge</Name> <Title>guyafor_less15000</Title> <MaxScaleDenominator>15000</MaxScaleDenominator> <PolygonSymbolizer> <Fill> <CssParameter name="fill" >#ff5500</CssParameter> <CssParameter name="fill-opacity" >1</CssParameter> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke" >#ffffff</CssParameter> <CssParameter name="stroke-width" >0.4</CssParameter> <CssParameter name="stroke-opacity" >1</CssParameter> </Stroke> </LineSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>Name</ogc:PropertyName> </Label> <Font> <CssParameter name="font-family" >Arial</CssParameter> <CssParameter name="font-weight" >normal</CssParameter> <CssParameter name="font-weight" >normal</CssParameter> <CssParameter name="font-size" >12</CssParameter> </Font> <LabelPlacement> <PointPlacement> <AnchorPoint> <AnchorPointX> 0.5 </AnchorPointX> <AnchorPointY> 0.5 </AnchorPointY> </AnchorPoint> </PointPlacement> </LabelPlacement> <Halo> <Fill> <CssParameter name="fill">#00FFFF</CssParameter> <CssParameter name="fill-opacity">0.8</CssParameter> </Fill> </Halo> </TextSymbolizer> </Rule> <Rule> <Name>XLarge</Name> <Title>guyafor_15000to30000</Title> <MinScaleDenominator>15000</MinScaleDenominator> <MaxScaleDenominator>30000</MaxScaleDenominator> <PolygonSymbolizer> <Fill> <CssParameter name="fill" >#ff5500</CssParameter> <CssParameter name="fill-opacity" >1</CssParameter> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke" >#ffffff</CssParameter> <CssParameter name="stroke-width" >0.4</CssParameter> <CssParameter name="stroke-opacity" >1</CssParameter> </Stroke> </LineSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>Name</ogc:PropertyName> </Label> <Font> <CssParameter name="font-family" >Arial</CssParameter> <CssParameter name="font-weight" >normal</CssParameter> <CssParameter name="font-weight" >normal</CssParameter> <CssParameter name="font-size" >20</CssParameter> </Font> <LabelPlacement> <PointPlacement> <AnchorPoint> <AnchorPointX> 0.5 </AnchorPointX> <AnchorPointY> 0.5 </AnchorPointY> </AnchorPoint> </PointPlacement> </LabelPlacement> <Halo> <Fill> <CssParameter name="fill">#00FFFF</CssParameter> <CssParameter name="fill-opacity">0.8</CssParameter> </Fill> </Halo> </TextSymbolizer> </Rule>
Le problème est que lorsque j'applique ce style à ma couche, cela ne change absolument rien! pourtant dans la légende, geoserver m'indique bien le nom des différentes règles que j'ai créées mais ne semble pas les appliquer.
est-ce que quelqu'un aurait une piste...?
Merci d'avance
Philippine
Hors ligne