按比例缩放的geoserver组合样式编写

原创 2016年05月30日 19:01:50

在编写地图样式的时候可以根据地图数据的某个属性决定要显示的图标样式,根据地图比例尺决定地图图标的大小。但是如何既根据属性显示图标样式同时又根据比例尺决定图标大小呢?

正常的逻辑肯定是双层for循环的思路,即两层<rule>。但是用这种方式geoserver会报错。那就只有把双层for循环改成单层循环了,即只用一层rule.

<?xml version="1.0" encoding="ISO-8859-1"?>
<sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">
    <sld:UserLayer>
        <sld:LayerFeatureConstraints>
            <sld:FeatureTypeConstraint/>
        </sld:LayerFeatureConstraints>
        <sld:UserStyle>
            <sld:Name>dianstyle</sld:Name>
            <sld:Title/>
            <sld:FeatureTypeStyle>
                <sld:Name>group 0</sld:Name>
                <sld:FeatureTypeName>Feature</sld:FeatureTypeName>
                <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>
                <sld:SemanticTypeIdentifier>colorbrewer:unique:paired</sld:SemanticTypeIdentifier>
                <sld:Rule>
                    <sld:Name>电梯口big</sld:Name>
					<sld:Title>diantikou1</sld:Title>					           
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                                <ogc:PropertyName>type</ogc:PropertyName>
                                <ogc:Literal>1</ogc:Literal>
                        </ogc:PropertyIsEqualTo>                            
                    </ogc:Filter>
					<sld:MaxScaleDenominator>200.0</sld:MaxScaleDenominator>         
                    <sld:PointSymbolizer>
                        <sld:Graphic>
                            <sld:ExternalGraphic>
                              <sld:OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="dianti.png"/>
                                <sld:Format>image/png</sld:Format>
                            </sld:ExternalGraphic>
                            <sld:Size>32</sld:Size>
                        </sld:Graphic>
                    </sld:PointSymbolizer>
                </sld:Rule>
				<sld:Rule>
                    <sld:Name>电梯口mediam</sld:Name>
					<sld:Title>diantikou2</sld:Title>		                                 
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                                <ogc:PropertyName>type</ogc:PropertyName>
                                <ogc:Literal>1</ogc:Literal>
                        </ogc:PropertyIsEqualTo>                            
                    </ogc:Filter>
					<sld:MinScaleDenominator>200.0</sld:MinScaleDenominator>
                    <sld:MaxScaleDenominator>400.0</sld:MaxScaleDenominator>     
                    <sld:PointSymbolizer>
                        <sld:Graphic>
                            <sld:ExternalGraphic>
                              <sld:OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="dianti.png"/>
                                <sld:Format>image/png</sld:Format>
                            </sld:ExternalGraphic>
                            <sld:Size>26</sld:Size>
                        </sld:Graphic>
                    </sld:PointSymbolizer>
                </sld:Rule>
				<sld:Rule>
                    <sld:Name>电梯口small</sld:Name>
					<sld:Title>diantikou3</sld:Title>					        
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                                <ogc:PropertyName>type</ogc:PropertyName>
                                <ogc:Literal>1</ogc:Literal>
                        </ogc:PropertyIsEqualTo>                            
                    </ogc:Filter>
					 <sld:MinScaleDenominator>600.0</sld:MinScaleDenominator>  
                    <sld:PointSymbolizer>
                        <sld:Graphic>
                            <sld:ExternalGraphic>
                              <sld:OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="dianti.png"/>
                                <sld:Format>image/png</sld:Format>
                            </sld:ExternalGraphic>
                            <sld:Size>20</sld:Size>
                        </sld:Graphic>
                    </sld:PointSymbolizer>
                </sld:Rule>             
           </sld:FeatureTypeStyle>
        </sld:UserStyle>
    </sld:UserLayer>
</sld:StyledLayerDescriptor>


GeoServer中利用SLD配图之矢量图层配图

1 背景 我们在ArcMap中可以直接通过symbol功能对图层进行定制化配图。但是,如果我们将配好图的shp图层在GeoServer中发布时,会发现图层样式完全丢失了。其实原因很简单,用Arc...
  • sinat_32349327
  • sinat_32349327
  • 2016年08月31日 14:11
  • 2167

geoserver中sld设置

geoserver是应用很广的地图服务器,但是如何在geoserver中设置随着比例尺变化而变化的地图样式呢?这就要自己写geoserver的sld了 。 下面的样式是为室内地图的面要素设置的,该面要...
  • longshengguoji
  • longshengguoji
  • 2015年12月22日 20:24
  • 3281

Geoserver数据发布中的参数设置

Geoserver中数据发布的第一步是添加数据存储。以shapefile为例,首先添加新的数据存储。选择shapefile数据类型。指定数据所在工作空间,默认为cite空间,可修改;输入数据源名称,用...
  • gangonglv2278
  • gangonglv2278
  • 2017年12月06日 15:17
  • 91

ARCGIS构建影像金字塔文件提高geoserver发布影像后的加载效率

Geoserver发布数据时若数据较大,会出现图层加载非常缓慢的现象。通常会通过切片提高加载效率。我们在发布米级TIFF影像后加载速度很慢,进行切片操作后显示的速度有所提升但不显著。后来尝试通过ARC...
  • gangonglv2278
  • gangonglv2278
  • 2017年11月21日 11:17
  • 78

geoserver中图层显示比例问题,设置某图层在规定比例尺内显示。

关于geoserver中如何控制某个图层在规定比例尺范围内显示??这个问题我已经纠结了很久,也搜了很多资料,始终没有找到办法。 今天看到GeoServer 2.0.2\data_dir\styles...
  • wxljmy
  • wxljmy
  • 2013年04月17日 18:28
  • 2026

GeoServer配置图层按比例尺显示和隐藏

本文介绍如何在GeoServer中发布的图层如WMS图层按比例尺进行显示或隐藏,以及根据这个特性扩展进行不同比例尺下显示不用的样式的设置方法。 一、按比例尺进行显示或隐藏 GeoServer在发布...
  • zy332719794
  • zy332719794
  • 2016年06月23日 18:36
  • 2670

gdal_translate数据转换解决影像在Geoserver发布后不同比例尺下颜色变化问题

16位的栅格影像(Geotiff格式)在Geoserver中发布后,使用Openlayer显示,可能会出现在不同缩放级别下(不同比例尺下)同一位置的颜色发生变化的情况。这是因为Geoserver为了显...
  • gangonglv2278
  • gangonglv2278
  • 2017年12月14日 14:15
  • 41

Geoserver 和 Openlayers 学习笔记

摘自:http://www.cnblogs.com/itolssy/archive/2008/08/03/1259273.html Geoserver & Openlayers 学习笔记 ...
  • hsg77
  • hsg77
  • 2013年07月19日 16:14
  • 10513

Geoserver的样式一(点的样式之文本编辑)

主要实现了geoserver中点元素的样式规则:
  • f1520107395
  • f1520107395
  • 2014年03月16日 12:35
  • 1011

Geoserver style使用(三)——按属性和缩放级别渲染矢量图层

Geoserver style可将矢量图层渲染为按属性分类显示、按缩放级别区别显示。按属性分类显示按属性显示可以进行唯一值渲染,即一个值对应一种样式(填充颜色、边线宽度等),也可以进行分段渲染,即某一...
  • gangonglv2278
  • gangonglv2278
  • 2017年12月14日 16:27
  • 51
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:按比例缩放的geoserver组合样式编写
举报原因:
原因补充:

(最多只允许输入30个字)