转自:https://www.cnblogs.com/shitao/archive/2012/11/02/2749685.html
Scale dependent rules:在地图放大时逐步显示细节、图层隐藏
- 使用MinScaleDenominator和MaxScaleDenominator控制图层的显示级别:
<sld:Name>Simple</sld:Name> <sld:MinScaleDenominator>10000.0</sld:MinScaleDenominator> <sld:MaxScaleDenominator>75000</sld:MaxScaleDenominator> <sld:LineSymbolizer> <sld:Stroke> <sld:CssParameter name="stroke">#7F7F7F</sld:CssParameter> <sld:CssParameter name="stroke-width">2.0</sld:CssParameter> </sld:Stroke> </sld:LineSymbolizer> </sld:Rule>
在1:7500和1:10000之间样式如下
<sld:Rule> <sld:Name>Inner</sld:Name> <sld:MaxScaleDenominator>10000.0</sld:MaxScaleDenominator> <sld:LineSymbolizer> <sld:Stroke> <sld:CssParameter name="stroke">#7F7F7F</sld:CssParameter> <sld:CssParameter name="stroke-linecap">round</sld:CssParameter> <sld:CssParameter name="stroke-linejoin">round</sld:CssParameter> <sld:CssParameter name="stroke-width">17.0</sld:CssParameter> </sld:Stroke> </sld:LineSymbolizer> </sld:Rule> <sld:Rule> <sld:Name>Outer</sld:Name> <sld:MaxScaleDenominator>10000.0</sld:MaxScaleDenominator> <sld:LineSymbolizer> <sld:Stroke> <sld:CssParameter name="stroke">#FFFFFF</sld:CssParameter> <sld:CssParameter name="stroke-linecap">round</sld:CssParameter> <sld:CssParameter name="stroke-linejoin">round</sld:CssParameter> <sld:CssParameter name="stroke-width">14.0</sld:CssParameter> </sld:Stroke> </sld:LineSymbolizer> </sld:Rule>
在1:10000以下为:
- 图案、填充于连接号:面填充图案
<sld:PolygonSymbolizer> <sld:Fill> <sld:GraphicFill> <sld:Graphic> <sld:ExternalGraphic> <sld:OnlineResource xlink:type="simple" xlink:href="./img/landmarks/area/forest.png" /> <sld:Format>image/png</sld:Format> </sld:ExternalGraphic> </sld:Graphic> </sld:GraphicFill> </sld:Fill> </sld:PolygonSymbolizer>
TTF字体:
标注
- 点:
<sld:TextSymbolizer> <sld:Label> <ogc:PropertyName>FULLNAME</ogc:PropertyName> </sld:Label> <sld:Font> <sld:CssParameter name="font-family">Arial</sld:CssParameter> <sld:CssParameter name="font-size">12.0</sld:CssParameter> <sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">normal</sld:CssParameter> </sld:Font> <sld:LabelPlacement> <sld:PointPlacement> <sld:AnchorPoint> <sld:AnchorPointX> <ogc:Literal>0.5</ogc:Literal> </sld:AnchorPointX> <sld:AnchorPointY> <ogc:Literal>1.0</ogc:Literal> </sld:AnchorPointY> </sld:AnchorPoint> <sld:Displacement> <sld:DisplacementX> <ogc:Literal>0.0</ogc:Literal> </sld:DisplacementX> <sld:DisplacementY> <ogc:Literal>-10.0</ogc:Literal> </sld:DisplacementY> </sld:Displacement> <sld:Rotation> <ogc:Literal>0.0</ogc:Literal> </sld:Rotation> </sld:PointPlacement> </sld:LabelPlacement> <sld:Halo> <sld:Radius> <ogc:Literal>1.5</ogc:Literal> </sld:Radius> <sld:Fill> <sld:CssParameter name="fill">#FFFFFF</sld:CssParameter> </sld:Fill> </sld:Halo> <sld:Fill> <sld:CssParameter name="fill">#000033</sld:CssParameter> </sld:Fill> <sld:Priority>200000</sld:Priority> <sld:VendorOption name="autoWrap">100</sld:VendorOption> </sld:TextSymbolizer>
- 线:
<sld:TextSymbolizer> <sld:Label> <ogc:PropertyName>LABEL_NAME</ogc:PropertyName> </sld:Label> <sld:Font> <sld:CssParameter name="font-family">Arial</sld:CssParameter> <sld:CssParameter name="font-size">12.0</sld:CssParameter> <sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">normal</sld:CssParameter> </sld:Font> <sld:LabelPlacement> <sld:LinePlacement/> </sld:LabelPlacement> <sld:Halo> <sld:Radius> <ogc:Literal>1.5</ogc:Literal> </sld:Radius> <sld:Fill> <sld:CssParameter name="fill">#FFFFFF</sld:CssParameter> </sld:Fill> </sld:Halo> <sld:Fill> <sld:CssParameter name="fill">#333333</sld:CssParameter> </sld:Fill> <sld:Priority>500</sld:Priority> <sld:VendorOption name="followLine">true</sld:VendorOption> <sld:VendorOption name="repeat">250</sld:VendorOption> <sld:VendorOption name="group">yes</sld:VendorOption> <sld:VendorOption name="maxDisplacement">100</sld:VendorOption> </sld:TextSymbolizer>
- 面:
<sld:TextSymbolizer> <sld:Label> <ogc:Literal>Boulder</ogc:Literal> </sld:Label> <sld:Font> <sld:CssParameter name="font-family">Arial</sld:CssParameter> <sld:CssParameter name="font-size">14.0</sld:CssParameter> <sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">normal</sld:CssParameter> </sld:Font> <sld:LabelPlacement> <sld:PointPlacement> <sld:AnchorPoint> <sld:AnchorPointX> <ogc:Literal>0.0</ogc:Literal> </sld:AnchorPointX> <sld:AnchorPointY> <ogc:Literal>0.5</ogc:Literal> </sld:AnchorPointY> </sld:AnchorPoint> <sld:Rotation> <ogc:Literal>0</ogc:Literal> </sld:Rotation> </sld:PointPlacement> </sld:LabelPlacement> <sld:Fill> <sld:CssParameter name="fill">#000000</sld:CssParameter> </sld:Fill> <sld:VendorOption name="maxDisplacement">200</sld:VendorOption> <sld:VendorOption name="Group">true</sld:VendorOption> </sld:TextSymbolizer>
- 标注障碍(labelObstacle):
<sld:MaxScaleDenominator>100000</sld:MaxScaleDenominator> <VendorOption name="labelObstacle">true</VendorOption> <sld:PointSymbolizer> <sld:Graphic> <sld:ExternalGraphic> <sld:OnlineResource xlink:type="simple" xlink:href="./img/landmarks/airport.p.16.png" /> <sld:Format>image/png</sld:Format> </sld:ExternalGraphic> </sld:Graphic> </sld:PointSymbolizer>