SLD 风格化图层描述器(Styled Layer Descriptor),是2005年OGC提出的一个标准,这个标准在一定条件下允许WMS服务器对地图可视化的表现形式进行扩展。在没有SLD之前,只能使用一些已经在服务器上规定好的样式来对地图进行可视化。而当使用了实现了SLD标准之后,它允许我们从客户端来对地图进行定义自己的样式,分级显示等操作,极大的扩展了地图可视化的灵活性。
该SLD-规范是采用XML定义地图显示样式,通过自定义SLD来配置地图图层渲染的可视化风格,可以设置过滤器,自定义图例等。rule是SLD最重要的一个元素,因为她允许根据给定的某个参数(使用过滤器)对数据集进行分类,所有的与分类有关的重要参数都必须在rule元素中设置。
对于使用SLD来进行地图的自定义样式,则必须结合使用SE(Symbology Encoding)这个标准。SE是OGC的另一个标准,这个也是基于XML模式定义的,这个标准允许我们自定义不同的符号样式来表达地图上不同的要素。SLD文件使用这种语言,这样在地图渲染时地图服务可以解释由用户定义的样式。
Geoserver中,定义图层的样式,需要配置xml的图层样式,在Geoserver中自带一些配置好的图层样式,这不同于arcmap中,直接根据可视化的界面设置样式,不过在arcgis也支持sld样式,毕竟是ogc的标准。
sld配置,点、线、面是不一样的,配置里的参数也是不一样,具体可参照Geoserver的官方文档说明,开源工具udig配置sld样式也比较方便。
在Geoserver的开发中,我们可以动态生成一个图层样式,通过程序传递给geoserver后台,根据前端的参数,动态改变图层的样式,从而使前端显示的图层样式不同。