geosolutions-it / MapStore2-C028

Sistema Informativo Territoriale del Comune di Bolzano
Other
2 stars 8 forks source link

CSS Styles in GeoServer #185

Closed tdipisa closed 3 years ago

tdipisa commented 3 years ago

Below what reported by the client:

in occasione dell'aggiornamento di Geoserver (test) è possibile verificare che tutti i pacchetti necessari siano installati e configurati correttamente per la gestione degli stili con CSS. Stiamo lavorando ad un progetto per la ridefinizione delle sezioni elettorali ed abbiamo anche necessità di definire uno stile "particolare"

Questo è esempio che ho preparato per dati elettorale

image.png

e questo è lo stile : non so se ci sono altre soluzioni per vedere i dati ripetitivi ... (terza e quarta cifra)

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/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>Elettorale</Name>
    <UserStyle>
      <FeatureTypeStyle>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsBetween>
              <ogc:PropertyName>SEZIONE</ogc:PropertyName>
                <ogc:LowerBoundary>
                  <ogc:Literal>1</ogc:Literal>
                </ogc:LowerBoundary>
                <ogc:UpperBoundary>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:UpperBoundary>             
            </ogc:PropertyIsBetween>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                   <CssParameter name="fill">
                     <ogc:Function name="Recode">
                       <ogc:Function name="strTrim">
                         <ogc:PropertyName>SEZIONE</ogc:PropertyName>
                       </ogc:Function>

                       <ogc:Literal>1</ogc:Literal>
                       <ogc:Literal>#6495ED</ogc:Literal>

                       <ogc:Literal>2</ogc:Literal>
                       <ogc:Literal>#B0C4DE</ogc:Literal>

                       <ogc:Literal>3</ogc:Literal>
                       <ogc:Literal>#00FFFF</ogc:Literal>

                       <ogc:Literal>4</ogc:Literal>
                       <ogc:Literal>#9ACD32</ogc:Literal>

                       <ogc:Literal>5</ogc:Literal>
                       <ogc:Literal>#00FA9A</ogc:Literal>

                       <ogc:Literal>6</ogc:Literal>
                       <ogc:Literal>#FFF8DC</ogc:Literal>

                       <ogc:Literal>7</ogc:Literal>
                       <ogc:Literal>#F5DEB3</ogc:Literal>

                       <ogc:Literal>8</ogc:Literal>
                       <ogc:Literal>#F4A460</ogc:Literal>

                       <ogc:Literal>9</ogc:Literal>
                       <ogc:Literal>#87CEEB</ogc:Literal>

                       <ogc:Literal>10</ogc:Literal>
                       <ogc:Literal>#FF0000</ogc:Literal>
                     </ogc:Function>
                   </CssParameter>                 
                </Fill>
              </Mark>
              <Size>6</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>

        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>SEZIONE</ogc:PropertyName>-
              <ogc:PropertyName>TOTPERSONE</ogc:PropertyName>-
              <ogc:PropertyName>TOTSEZIONE</ogc:PropertyName>-
              <ogc:PropertyName>AIRESEZIONE</ogc:PropertyName>
            </Label>
            <Font>
              <CssParameter name="font-family">Arial</CssParameter>
              <CssParameter name="font-size">12</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
            </Font>    
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>0.5</AnchorPointX>
                  <AnchorPointY>0.0</AnchorPointY>
                </AnchorPoint>
                <Displacement>
                  <DisplacementX>0</DisplacementX>
                  <DisplacementY>2</DisplacementY>
                </Displacement>
              </PointPlacement>
            </LabelPlacement>           
            <Fill>
              <CssParameter name="fill">#000000</CssParameter>
            </Fill>
          </TextSymbolizer>         
        </Rule>       
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>

poi ho provato a fare un CSS

/* @title violet point */
* {
    mark: symbol(square);
    mark-size: 6px;
    :mark {
        fill: #3300ff;
    }
}

ma mi da sempre questo errore

image.png