geoserver样式浅析1
目录
样式的结构
<?xml version="1.0" encoding="UTF-8"?>
<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>xx</Name>
<UserStyle>
<Title>Default Line</Title>
<Abstract>..........</Abstract>
<FeatureTypeStyle>
<Rule>
<Name>xx</Name>
<Title>xx</Title>
<Abstract>..........</Abstract>
<!-- 需要自己补充 -->
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
点线面的基本xml写法
点
<!-- 在补充的地方加上 -->
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>square</WellKnownName><!--形状>
<Fill>
<CssParameter name="fill">#000000</CssParameter><!--颜色-->
</Fill>
</Mark>
<Size>6</Size><!--大小-->
</Graphic>
</PointSymbolizer>
线
<!-- 在补充的地方加上 -->
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#0000FF</CssParameter><!--边界颜色-->
<CssParameter name="stroke-width">3</CssParameter><!--边界宽度-->
</Stroke>
</LineSymbolizer>
面
<!-- 在补充的地方加上 -->
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#AAAAAA</CssParameter><!--填充颜色-->
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter><!--边界颜色-->
<CssParameter name="stroke-width">1</CssParameter><!--边界宽度-->
</Stroke>
</PolygonSymbolizer>
特殊样式添加
多重样式叠加
在基本xml上添加多个相同的xxSymbolizer可形成叠加效果
借助外界图案使用
以svg为例,先把所需要的xx.svg保存到geoserver的默认data文件夹下的styles中。
在Fill标签下添加:
<GraphicFill>
<Graphic>
<ExternalGraphic>
<Onlineresource xlink:type="simple" xlink:href="xx.svg"/>
<Format>image/svgh+xml</Format>
</ExternalGraphic>
</Graphic>
</GraphicFill>
特殊符号添加
把WellKnownName中的内容改为shape://xxx即可
添加标注
<!--在xxSymbolizer后面定义标注样式-->
<TextSymbolizer>
<Label>
<ogc:PropertyName>length</ogc:PropertyName><!--所显示的字段名-->
</Label>
<Font>
<CssParameter name="font-family">Arial</CssParameter><!--定义字体-->
<CssParameter name="font-size">12</CssParameter><!--字体大小-->
<CssParameter name="font-style">normal</CssParameter><!--格式-->
<CssParameter name="font-weight">italyc</CssParameter><!--粗细-->
</Font>
<!--设置标注位置-->
<LabelPlacement>
<xxPlacement><!--你用的是什么Symbolizer就是什么placement-->
<AnchorPoint>
<AnchorPointX>0</AnchorPointX>
<AnchorPointY>0</AnchorPointY>
</AnchorPoint>
<Displacement>
<DisplacementX>2</DisplacementX>
<DisplacementY>5</DisplacementY>
</Displacement>
</xxPlacement>
</LabelPlacement>
<Fill>
<CssParameter name="fill">#000000</CssParameter><!--设置字体颜色-->
</Fill>
</TextSymbolizer>
转载自:https://blog.csdn.net/u013323965/article/details/52208340