geoserver样式浅析1

    xiaoxiao2025-07-15  15

    样式的结构

    <?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://ju.6miu.com/read-1300704.html
    最新回复(0)