GIS开发记录(二)完成的地图默认显示为灰色,不显示省名等,GeoServer提供style用于设置地图显示分割
1. 查看Layer使用的Style: 点击左边的[Layers], 点击右边列表 Layer
点击Editor Layer页面的[Publishing],查看属性”WMS Setting" 的 "Default Style",即为目前使用的地图风格。
2. 增加新的Style: 点击左边的[Styles],点击右边的[Add a new style] 增加一个新的Style。 GeoServer官方例子:SLD Cookbook
3. 修改province地图的背景颜色和省界颜色
<Rule> <PolygonSymbolizer> <Fill> <CssParameter name="fill"> <ogc:Literal>#F4DBA5</ogc:Literal> </CssParameter> <CssParameter name="fill-opacity"> <ogc:Literal>1.0</ogc:Literal> </CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#C59D57</CssParameter> <CssParameter name="stroke-width">1</CssParameter> </Stroke> </PolygonSymbolizer> </Rule>
fill:地图填充颜色,stroke:省界颜色
4. 显示省名:
<Rule> ... <TextSymbolizer> <Label> <ogc:PropertyName>NAME</ogc:PropertyName> </Label> <VendorOption name="group">yes</VendorOption> <VendorOption name="goodnessOfFit">0.01</VendorOption> <LabelPlacement> <PointPlacement auto="true"/> </LabelPlacement> </TextSymbolizer> </Rule>
ogc:PropertyName:需要在地图上显示的字段
VendorOption name="group":是否显示唯一一个标注
goodnessOfFit:设置显示标注比例
可以通过手动修改对比地图显示效果区别
5. 整个Province Style代码:
<?xml version="1.0" encoding="ISO-8859-1"?> <StyledLayerDescriptor version="1.0.0" 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" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> <NamedLayer> <Name>area landmarks</Name> <UserStyle> <Title>Province BgColor</Title> <Abstract>Province bg polygon fill without a border</Abstract> <FeatureTypeStyle> <Rule> <PolygonSymbolizer> <Fill> <CssParameter name="fill"> <ogc:Literal>#F4DBA5</ogc:Literal> </CssParameter> <CssParameter name="fill-opacity"> <ogc:Literal>1.0</ogc:Literal> </CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#C59D57</CssParameter> <CssParameter name="stroke-width">1</CssParameter> </Stroke> </PolygonSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>NAME</ogc:PropertyName> </Label> <VendorOption name="group">yes</VendorOption> <VendorOption name="goodnessOfFit">0.01</VendorOption> <LabelPlacement> <PointPlacement auto="true"/> </LabelPlacement> </TextSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>
地图显示效果: