2016-12-21 4 views
0

Ich bin Neuling in Geoserver (Geoserver 2.10.0 in Tomcat 9 + Apache 2.14, auf Win 10 Pro x64) und seit einiger Zeit versucht, Straßen-Etiketten als Schilde für Autobahnen zu stylen, Principal Hwy ...Geoserver SLD-Stil - Beschriftungslinien mit Schilden

Checked GeoServer Trainings/SLD-Referenzen/Kochbuch kann aber kein "echtes Leben" Beispiel mit vollständigen Code finden.

gemacht und Export SLD für Linienstile mit QGIS 2.18.1, aber da Etiketten nicht unterstützt werden, OSGB SLD als Quellcode verwendet:

https://github.com/OrdnanceSurvey/Strategi-stylesheets/blob/master/ESRI%20Shapefile%20stylesheets/GeoServer%20stylesheets%20(SLD)/Full%20Colour%20style/motorway.sld#L348

und copy/paste TextSymbolizer .. ./TextSymbolizer Teil des Codes in Bezug auf Etikett Schilde in Geoserver sLD Datei -

(auch Original-Code mit se :, ogc :, se bearbeiten: SvgParameter)

<se:FeatureTypeStyle> 
    <se:Rule> 
     <se:Name>MARKED_TR labels</se:Name> 
     <se:Description> 
     <se:Title>MARKED_TR</se:Title> 
     </se:Description> 
     <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"> 
     <ogc:PropertyIsEqualTo> 
      <ogc:PropertyName>GRMN_TYPE</ogc:PropertyName> 
      <ogc:Literal>MARKED_TR</ogc:Literal> 
     </ogc:PropertyIsEqualTo> 
     </ogc:Filter> 
     <se:MaxScaleDenominator>250000</se:MaxScaleDenominator> 
    <se:TextSymbolizer> 
     <se:Label> 
     <ogc:PropertyName>NAME_UTF</ogc:PropertyName> 
     </se:Label> 
     <se:Font> 
     <se:SvgParameter name="font-family">Arial</se:SvgParameter> 
     <se:SvgParameter name="font-size">9</se:SvgParameter> 
     <se:SvgParameter name="font-weight">bold</se:SvgParameter> 
     </se:Font> 
     <se:LabelPlacement> 
      <se:PointPlacement> 
      <se:AnchorPoint> 
       <se:AnchorPointX>0.5</se:AnchorPointX> 
       <se:AnchorPointY>0.5</se:AnchorPointY> 
      </se:AnchorPoint> 
      <se:Displacement> 
       <se:DisplacementX>0</se:DisplacementX> 
       <se:DisplacementY>0</se:DisplacementY> 
      </se:Displacement> 
      </se:PointPlacement> 
     </se:LabelPlacement> 
     <se:Fill> 
     <se:SvgParameter name="fill">#FFFFFF</se:SvgParameter> 
     </se:Fill> 
     **<se:Graphic>** 
     <se:Mark> 
      <se:WellKnownName>square</se:WellKnownName> 
      <se:Fill> 
      <se:SvgParameter name="fill">#009FB8</se:SvgParameter> 
      </se:Fill> 
     </se:Mark> 
     <se:Size>6</se:Size> 
     </se:Graphic> 
     <se:Priority>450</se:Priority> 
     <se:VendorOption name="graphic-resize">stretch</se:VendorOption> 
     <se:VendorOption name="graphic-margin">2.3</se:VendorOption> 
     <se:VendorOption name="maxDisplacement">200</se:VendorOption> 
     <se:VendorOption name="repeat">500</se:VendorOption>  
     <se:VendorOption name="spaceAround">10</se:VendorOption> 
     <se:VendorOption name="group">yes</se:VendorOption> 
    </se:TextSymbolizer>   
    </se:Rule> 
    </se:FeatureTypeStyle> 

Leider Geoserver Validation gibt Fehler wie in Screenshot gezeigt:

Geoserver screenshot

Antwort

0

Ihr Code wird nicht überprüft, da es sich um eine Erweiterung des SLD Standardschema ist. Wenn Sie submit drücken und die Karte sehen, sehen Sie, dass es gut funktioniert.

+0

Thx für die Antwort, leider funktioniert es nicht. –

+0

alles wird richtig angezeigt ... font/position/orientation ... außer dem Schild selbst –

Verwandte Themen