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 Thu 25 July 2013 14:42

rikidude
Juste Inscrit !
Date d'inscription: 25 Jul 2013
Messages: 1

SLD Geoserver filter MinScaleDenominator

Bonjour,

J'ai créer un SLD pour l'affichage d'une couche polygonal. Cependant, lorsque le filtre par AREA est activé (dans la 2e règle), la propriété du MinScaleDenominator n'est plus respecté et je ne comprend pas pourquoi. Rien ne s'affiche en dessous du MinScale=1050000, et à partir du MaxScaleDenominator=1050000, la première règle s'applique. Si j'enlève la partie MinScaleDenominator, le filtre par AREA fonctionne, mais je ne veux pas la voir si l'échelle est plus petite que 1050000. Si j'enlève la partie <ogc:Filter>, le SLD fonctionne bien, mais je n'ai pas mon filtre par AREA. Dans les deux cas, lorsque je clique sur "valider" Geoserver me dit que le code est OK.

Voici le code:

Code:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>Attribute-based polygon</Name>
    <UserStyle>
      <Title>PRODUCTION</Title>
      <FeatureTypeStyle>
        <Name>name</Name>
        <FeatureTypeName>Feature</FeatureTypeName>
        <Rule>
          <MaxScaleDenominator>1050000</MaxScaleDenominator>
          <PolygonSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Fill>
              <CssParameter name="fill">#50a9d4</CssParameter>
            </Fill>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsGreaterThan>
               <ogc:Function name="area">
                 <ogc:PropertyName>geom</ogc:PropertyName>
               </ogc:Function>
               <ogc:Literal>20</ogc:Literal>
            </ogc:PropertyIsGreaterThan>
          </ogc:Filter>
          <MinScaleDenominator>1050000</MinScaleDenominator>
          <PolygonSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Fill>
              <CssParameter name="fill">#000</CssParameter>
            </Fill>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Merci pour votre soutient.

Geoserver v2.3.3

Hors ligne

 

Pied de page des forums

Powered by FluxBB