WMS供应商参数¶
WMS供应商参数是由实现定义以提供增强功能的非标准请求参数。Geoserver支持各种特定于供应商的参数。
一般供应商选项¶
这些供应商选项可用于所有操作。
内容--处置¶
这个 content-disposition
参数指示Web浏览器如何处理返回的内容。语法为::
content-disposition=<disposition>
哪里 content-disposition =attachment
指示浏览器将内容保存到磁盘。
哪里 content-disposition=inline
要求浏览器显示内容。注意:当被要求显示非常大的内容时,这可能会带来性能问题。
文件名¶
这个 filename
参数提供浏览器保存文件(例如保存到下载文件夹)时建议的文件名。语法为::
filename=<file>
文件名使用的一个示例是::
filename=features.json
将服务输出另存为文件时,供应商选项 filename
用于提供所用的文件名。
获取能力请求¶
格式¶
这个 format
参数可用于以特定格式请求功能文档。如果不支持请求的格式,将使用默认格式。
示例请求:
备注
当前此参数只能用于请求WMS 1.1.1功能文档编码 text/xml
如果与其他WMS版本或其他格式一起使用,它将不起作用。
命名空间¶
这个 namespace
参数导致WMS GetCapabilities 要筛选的响应仅包含特定命名空间中的层。语法为::
namespace=<namespace>
在哪里? <namespace>
是命名空间前缀。
警告
使用无效的名称空间前缀不会导致错误,但返回的功能文档将不包含层,只包含层组。
备注
这只影响功能文档,而不影响其他请求。即使指定了名称空间,其他WMS操作仍将处理所有层。
生根层¶
这个 rootLayer
参数可用于请求功能文档包含或不包含顶级根层容器。默认情况下,此顶级根始终作为配置的层和组的父级包含。可以在服务(WMS)级别或层/组级别更改默认值。
使用此参数,当结果文档具有单个top元素(例如具有嵌套子元素的单个组)时,可以排除默认根。为此,请使用 假 价值。
参数还可用于覆盖在WMS或层/组级别定义的内容。例如,如果将服务配置为排除根元素,则可以使用 rootLayer=true .
示例请求:
XML Post示例:
<?xml version="1.0" encoding="UTF-8"?>
<ogc:GetCapabilities xmlns:ogc="http://www.opengis.net/ows"
xmlns:gml="http://www.opengis.net/gml"
version="1.1.1" service="WMS" rootLayer="false">
</ogc:GetCapabilities>
GetMap请求¶
角¶
这个 angle
参数围绕其中心顺时针旋转输出映射。语法是::
angle=<x>
在哪里? <x>
是要旋转的度数。
使用batik生成器(默认设置)时,所有栅格格式、PDF和SVG都支持地图旋转。
缓冲区¶
这个 buffer
参数指定在 GetMap
和 GetFeatureInfo
操作。语法是::
buffer=<bufferwidth>
在哪里? <bufferwidth>
缓冲区的宽度(像素)。
在 GetMap 操作,缓冲包括位于请求边界框之外,但其样式足够厚,可以在地图区域内看到的功能。
在 GetFeatureInfo 操作时,缓冲会在请求的位置周围创建一个“搜索半径”。对于与搜索区域相交的要素,将返回要素信息。这在使用Openlayers映射(例如由 层预览 page)因为它可以使您轻松地精确单击一个点,以便返回适当的功能信息。
在这两个操作中,geoserver尝试计算 buffer
通过检查每个层的样式自动设置值。对所有活动符号进行评估,并使用最大符号的大小(即最大点符号、最粗线符号)。如果出现以下情况,则无法计算自动缓冲区大小:
SLD包含指定为功能属性值的大小
SLD包含外部图形,未显式指定其大小
在这种情况下,将使用以下默认值:
0像素 GetMap 请求
5像素 GetFeatureInfo 请求(可通过
org.geoserver.wms.featureinfo.minBuffer
系统变量,例如,添加-Dorg.geoserver.wms.featureinfo.minBuffer=10
使最小缓冲区为10像素)
如果这些值不够大,则可以使用显式参数。
cql_filter¶
这个 cql_filter
参数与标准相似 filter
参数,但是过滤器是使用ECQL(扩展公共查询语言)表示的。与OGC XML过滤器相比,ECQL提供了一种更紧凑和可读的语法。有关详细信息,请参阅 ECQL参考 和 cql和ecql 辅导的。
如果在 layers
参数,然后可以为每个层指定一个单独的筛选器,用分号分隔。语法是::
cql_filter=filter1;filter2...
一个简单的cql过滤器的例子是:
cql_filter=INTERSECTS(the_geom,%20POINT%20(-74.817265%2040.5296504))
排序依据¶
这个 sortBy
参数允许使用与WFS 1.0相同的语法控制地图中显示的要素/栅格的顺序,即:
&sortBy=att1 A|D,att2 A|D, ...
对于单层请求&sortBy=(att1Layer1 A|D,att2Layer1 A|D, ...)(att1Layer2 A|D,att2Layer2 A|D, ...)...
请求多层时
使用时应小心,因为它对栅格图层、矢量图层和图层组具有不同的行为。特别地:
- 为了 栅格层 ,
sortBy
映射到阅读器可能公开的“排序”读取参数(图像马赛克公开此类参数)。在图像拼接中,这会导致排序中发现的第一个颗粒显示在顶部,然后其他颗粒也会随之出现。因此,对卫星图像的零散拼图进行排序,使最新的图像显示在顶部,并假设时间属性被称为ingestion
在马赛克索引中,规范将&sortBy=ingestion D
. - 为了 矢量层 ,
sortBy
映射到向量数据源中的sort by子句,然后使用普通的“painter model”规则进行绘制,因此首先绘制返回的第一个项,然后绘制上面的所有其他项。因此,要对一组事件点进行排序,以便在顶部绘制最新的事件,并且假设该属性在向量层中称为“日期”,则规范将&sortBy=date
或&sortBy=date A
(默认为升序)。 - 为了 图层组 ,排序规范将复制到所有内部层,因此规范必须对所有内部层都有效,否则将报告错误。在这种情况下,可以将空规范用于层组,例如,
layers=theGroup,theLayer&sortBy=(),(date A)
埃恩¶
这个 env
参数定义可以在SLD变量替换中使用的替换值集。语法是::
env=param1:value1;param2:value2;...
见 SLD中的变量替换 更多信息。
特征ID¶
这个 featureid
参数按功能ID筛选,这是为所有功能指定的唯一值。可以通过逗号分隔FeatureID来选择多个功能,如本例所示:
featureid=states.1,states.45
滤波器¶
WMS规范只允许有限的数据过滤。geoserver增强了WMS过滤能力,以匹配WFS提供的过滤能力。这个 filter
参数可以指定OGC XML筛选器的列表。列表用括号括起来: ( ) .在GET请求中使用时,XML标记括号必须是URL编码的。
如果在 layers
然后可以为每个层指定单独的过滤器。
在GET请求中编码的OGC筛选器的示例如下:
filter=%3CFilter%20xmlns:gml=%22http://www.opengis.net/gml%22%3E%3CIntersects%3E%3CPropertyName%3Ethe_geom%3C/PropertyName%3E%3Cgml:Point%20srsName=%224326%22%3E%3Cgml:coordinates%3E-74.817265,40.5296504%3C/gml:coordinates%3E%3C/gml:Point%3E%3C/Intersects%3E%3C/Filter%3E
GET请求中的OGC过滤器编码标准2.0的示例如下:
filter=%3Cfes%3AFilter%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%22%20xmlns%3Awfs%3D%22http%3A%2F%2Fwww.opengis.net%2Fwfs%22%20xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%22%20xmlns%3Afes%3D%22http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%22%3E%3Cfes%3APropertyIsLike%20wildCard%3D%22*%22%20singleChar%3D%22.%22%20escapeChar%3D%22!%22%3E%3Cfes%3AValueReference%3ENAME%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E*United*%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AFilter%3E
OGC过滤器编码标准2.0的示例::
<fes:Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:wfs="http://www.opengis.net/wfs" xmlns="http://www.opengis.net/fes/2.0" xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsLike wildCard="*" singleChar="." escapeChar="!"><fes:ValueReference>NAME</fes:ValueReference><fes:Literal>*United*</fes:Literal></fes:PropertyIsLike></fes:Filter>
format_options¶
这个 format_options
是特定格式参数的容器。语法是::
format_options=param1:value1;param2:value2;...
支持的格式选项包括:
antialias
(值=on
,off
,text
):控制栅格输出中抗锯齿渲染的使用。callback
:指定jsonp响应格式的回调函数名(默认为parseResponse
)dpi
: sets the rendering DPI (dots-per-inch) for raster outputs. The OGC standard output resolution is 90 DPI. If you need to create high resolution images (e.g for printing) it is advisable to request a larger image size and specify a higher DPI. In general, the image size should be increased by a factor equal totargetDPI/90
, with the target dpi set in the format options. For example, to print a 100x100 image at 300 DPI request a 333x333 image with the DPI value set to 300:&width=333&height=333&format_options=dpi:300
layout
:指定要使用的布局名称。布局用于添加圆规和图例等装饰。此功能将在 WMS装饰 部分。quantizer
(值=octree
,mediancut
):控制用于生成PNG8图像的颜色量化器。geoserver 2.2.0提供了两个量化器,一个叫做octree
它不处理半透明和更慢但更精确的rgba量化器mediancut
.默认情况下,第一个用于不透明图像,而第二个则在客户端要求透明图像时启用。 (transparent=true
)。此供应商参数可用于手动强制使用特定量化器。timeout
:为getmap请求应用超时值。如果超时,则取消getmap请求并返回错误。超时值将是此格式选项的最小值,并且在 WMS配置 .值为零表示没有超时。kmattr
(值=true
,false
):确定由geoserver返回的kml是否应包含可单击属性。此参数主要影响Google Earth渲染。legend
(值=true
,false
):kml可以添加图例。kmscore
(值=介于0
强制栅格输出和100
强制矢量输出):参数设置地理服务器应将kml数据呈现为矢量还是栅格。此参数主要影响Google Earth渲染。kmltitle
:参数设置kml标题。kmlrefresh
(值=大于0
或expires
):强制网络链接在刷新模式下以秒为间隔重新加载。当指定Expires时,只要缓存过期头中指定的时间已过,客户端将刷新。可以在“发布”选项卡“设置HTTP缓存时间”下的“层配置”中设置缓存时间。此参数主要影响Google Earth渲染,取决于客户是否尊重此参数。使用第二个间隔是更可靠的选择。kmlvisible
(值=true
,false
):指示所选层是否默认为启用。默认行为已启用。此参数主要影响Google Earth渲染。advancedProjectionHandling
(值=true
,false
):启用禁用高级投影处理(如果在GUI中启用)。如果在GUI中禁用该选项,则该选项无效。mapWrapping
(值=true
,false
):启用禁用连续映射包装(如果在GUI中启用)。如果在GUI中禁用该选项,则该选项无效。如果advancedProjectionHandling
已禁用。decorationsOnly
(值=true
,false
):默认禁用。当value为true时,它允许为不呈现地图的请求获取透明大小的图像,但它会保持应用装饰(如果存在)。
MaxFeatures和StartIndex¶
参数 maxFeatures
和 startIndex
可以一起使用以提供“分页”支持。分页在诸如kml爬行之类的情况下很有用,在这种情况下,当有大量特性时,需要能够分段检索地图。
这个 startindex=n
参数指定在功能的有序列表中开始呈现的索引。 n
必须是正整数。
这个 maxfeatures=n
参数设置对呈现的功能数量的限制。 n
必须是正整数。与一起使用时 startindex
,呈现的功能将是从 startindex
价值。
请注意,并非所有层都支持分页。对于以这种方式查询的层,底层功能源必须支持分页。这通常是数据库(如PostGIS)的情况。
调色板¶
有时(出于速度和带宽的原因)建议对返回映射的位深度进行缩小采样。这样做的方法是使用有限的调色板创建图像,并将其保存在 palettes
地理服务器数据目录中的目录。然后可以指定 palette
表单参数:
palette=<image>
在哪里? <image>
是调色板图像的文件名(不带扩展名)。要强制使用Web安全调色板,请使用语法 palette=safe
.有关详细信息,请参阅 调色板图像
财产名称¶
这个 propertyName
参数指定响应中包含哪些属性 GetFeatureInfo
操作。语法与WFS中的相同 GetFeature
操作。对于单层请求,语法为:
propertyName=name1,...,nameN
对于多个层,语法为::
propertyName=(nameLayer11,...,nameLayer1N)...(name1LayerN,...,nameNLayerN)
属性的性质取决于层类型:
对于向量层,名称指定特征属性。
对于栅格图层,名称指定标注栏。
对于级联的WMS层,名称指定由远程服务器返回的GML属性。
瓦片¶
当使用瓦片客户机(如Openlayers)时,元瓦片可防止重复标签的问题。当使用meta-tiling时,图像会被渲染,然后分割成较小的图块(默认情况下为3x3模式),然后才能使用。为了使meta-tiling工作,tile大小 must 设置为256x256像素, tiled
和 tilesorigin
必须指定参数。
这个 tiled
参数控制是否使用元瓦片。语法是::
tiled=[true|false]
要调用元瓦片,请使用 tiled=true
.
替里索林¶
这个 tilesorigin
元瓦片还需要参数。语法是::
tilesorigin=x,y
在哪里? x
和 y
是瓦片网格系统左下角(“原点”)的坐标。
Openlayers示例¶
在Openlayers中,指定 tilesorigin
直接引用地图范围。
警告
如果动态修改地图范围,则 tilesorigin
必须相应地更新每个元瓦片层的。
以下代码显示如何指定元瓦片参数:
1 var options = {
2 ...
3 maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
4 ...
5 };
6 map = new OpenLayers.Map('map', options);
7
8 tiled = new OpenLayers.Layer.WMS(
9 "Layer name", "http://localhost:8080/geoserver/wms",
10 {
11 srs: 'EPSG:4326',
12 width: 391,
13 styles: '',
14 height: 550,
15 layers: 'layerName',
16 format: 'image/png',
17 tiled: true,
18 tilesorigin: map.maxExtent.left + ',' + map.maxExtent.bottom
19 },
20 {buffer: 0}
21 );
鳞片法¶
这个 scaleMethod
参数控制几何服务器计算比例分母的方式两个可能的值是:
OGC
(默认):比例分母根据OGC SLD规范计算,其中为实现互操作性而采用简化公式
Accurate
:使用完整表达式根据地理位置计算比例分母考虑到地球椭球形状的数据
这两种方法倾向于返回在赤道附近彼此相当接近的值,但当纬度接近两极时,它们确实会产生较大的差异。
插入¶
这个 interpolations
参数允许选择特定的重采样(插值)方法。它可以用于 GetMap
操作。
如果在 layers
参数,然后可以为每个层指定单独的插值方法,用逗号分隔。语法是::
interpolations=method1,method2,...
方法<n>值可以是以下值之一:
最近邻
bilinear
bicubic
如果相关层必须使用默认方法,则为空。
该参数允许重写全局 WMS栅格渲染选项 设置(参见 WMS Settings 更多信息),以及特定于层的 默认插值法 发布参数(请参见 Layers 有关更多信息),请逐层查看。
削减¶
这个 clip
参数可用于使用由有效WKT字符串表示的多边形掩码剪裁WMS响应。
这里有两个例子,第一个使用WKT,第二个使用EWKT:
clip=POLYGON((-14.50804652396198 55.579454354599356,34.53492222603802 55.579454354599356,34.53492222603802 32.400173313532584,-14.50804652396198 32.400173313532584,-14.50804652396198 55.579454354599356))
clip=srid=900913;POLYGON ((-1615028.3514525702 7475148.401208023, 3844409.956787858 7475148.401208023, 3844409.956787858 3815954.983140064, -1615028.3514525702 3815954.983140064, -1615028.3514525702 7475148.401208023))
备注
无论WMS版本如何,WKT的轴顺序都必须是东/北。对于具有复杂特征的图层,当前将忽略此参数。