geoserver阅读笔记----working with sld

使用SLD工作

本节介绍如何创建,查看和解决在GeoServer中SLD的style问题。

创建

GeoServer的配备在其目录中定义的一些基本款式。 任何数量的新的样式可以被添加到目录。 样式也能够从外部指定的服务器,或者以定义一个完整的地图,或使用库模式扩展服务器样式目录。

目录样式

目录中的样式可以查看,编辑,并通过验证Web菜单管理界面 下面的styles。 它们也可以被创建并通过REST访问样式(styles)的API。

目录样式由一个的StyledLayerDescriptor包含一个<NamedLayer>元素,它包含一个<UserStyle>元素指定样式的文档。 层名称将被忽略,因为样式可以被应用于许多不同的层中。

每次用的GeoServer登记层(的FeatureType)必须有与之关联的至少一个目录的风格,这是默认的样式呈现层。 任意数量的额外的样式可以用一个层相关联。 这使得层有相应的风格张扬的WMS GetCapabilities操作的文件。 图层的样式可以通过改变图层的页面的Web管理界面 。

 

 为它的Geo​​Server添加一个层和一个样式的同时,样式应先加入,以使新的层可以与样式立即关联。

外部样式

样式可以以多种方式在外部服务器上被定义:

  • 通过Internet访问的SLD文件可以通过SLD = 被设置在WMS 的GetMap 参数的url用GET请求
  • 一个SLD文件可以用wms中的GetMap设置并用SLD_BODY = style参数进行GET请求。 该SLD XML必须是URL编码。
  • 一个StyledLayerDescriptor元素可以包含一个WMS 的GetMap 的POST请求的XML文档中。

在所有这些情况下,如果未提供与WMS 的参数,然后在地图上的内容完全是由存在于外部的SLD的各层和样式定义。 如果这些参数存在,则在库模式 下进行渲染工作(styling)。

外部样式可以定义风格数据的新的层,通过使用SLD InlineFeature元件提供的特征数据。 这可以用于实现动态特征高亮,例如。

外部造型可以动态客户端应用程序产生,这提供了一种强有力的方式,为客户控制的造型效果。

图书馆模式

图书馆模式的外部定义的样式将被视为一个样式库 ,它作为一个扩展的服务器样式目录。 当使用样式 WMS参数被指定图层和样式发生库模式,并附加定型外部使用的上一节中描述的方法之一提供。 在渲染过程中的外部样式文件中的样式优先于目录样式。

样式查找在库模式下的工作情况如下:

  • 列表中的每个层,施加的样式是任意的样式列表中指定的指定样式(如果存在的话),或该层的默认样式
  • 对于命名的样式,如果永恒的样式文件有一个<NamedLayer> ... <UserStyle>与匹配层的名称和样式名称,然后使用它。 否则,样式名称中搜索的目录。 如果没有找到,则会出现错误。
  • 对于默认的样式,外部的样式文件中进行搜索,找到与该层名称的<NamedLayer>元素。 如果它包含一个<UserStyle>具有那么该样式所使用的值1 <ISDEFAULT>元素。 否则,该层的默认服务器样式(必须存在)被使用。

通常它是更简单和更高性能的使用方式从服务器的目录。 但是,如果需要的样式包含许多层的地图,且其中只有少数人需要有自己的风格定义外部库模式可能是有用的。

查看

一旦一个样式已与层相关联,将所得的层数据的呈现可以通过查看预览层 ( Layer Preview)。 最方便的输出格式使用的是内置的OpenLayers查看工具。 样式可以修改,而认为是开放的,它们的效果是明显的,只要在地图视图平移或缩放。 备选的款式可以通过在样式 WMS请求参数,指定他们进行查看。

查看合成多种样式的层的作用,有几种方法可供选择:

  • 创建一个图层组使用所需要的图层图层组页面,并进行预览。 非默认的样式可以为图层如果需要指定。
  • 提交WMS 的GetMap GET请求参数中指定多个图层,并在样式参数对应的样式(如非默认的样式是必需的)。
  • 提交一个含有一个WMS 的GetMap POST请求StyledLayerDescriptor元素指定服务器层,内联的数据的可选的层,并且是命名目录样式或用户定义的造型为每个层。

故障排除

SLD是一种类型的编程语言,而不是象在创建网页或构建脚本。 因此,可能出现的问题,可能需要排除故障。

语法错误

为了最大限度地减少在创建的SLD当语法错误,推荐使用,其被设计以XML(可如在GeoServer的用户界面中提供的样式编辑器 )工作的一个文本编辑器。 XML编辑器可以发现语法错误,提供语法高亮和(有时)内置错误检查更容易。

在GeoServer的样式编辑器允许验证对SLD XML模式文档。 这不是强制性的,但建议保存样式前做。

语义错误

语义错误无法通过验证SLD被抓,但显示时的样式在地图渲染应用。 这大部分的时间会导致无显示功能(空白地图)地图,但有些错误会阻止从地图绘制的。

在一个SLD修复语义错误的最简单的方法就是尝试找出错误。 如果SLD长有许多规则和过滤器,尝试暂时删除其中的一些,看看这些错误消失。

在某些情况下,服务器会产生一个WMS异常文件,它可以帮助识别错误。 另外,值得一检查服务器日志,看是否有错误信息已被记录。

viewer(地图视窗)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值