GeoServer WFS文档翻译-WFS查询语法格式 5
目录
WFS供应商参数
WFS供应商参数是由实现定义的非标准请求参数,以提供增强的功能。GeoServer支持各种供应商特定的WFS参数。
CQL过滤器
在WFS GetFeature GET请求中,cql_filter
可以使用该参数以ECQL(扩展公共查询语言)格式指定过滤器。与OGC XML过滤器相比,ECQL提供更紧凑,更易读的语法。
有关完整的详细信息,请参阅ECQL参考和CQL和ECQL教程。
以下示例说明了GET请求OGC过滤器:
filter=<Filter xmlns:gml=”http://www.opengis.net/gml”><Intersects><PropertyName>the_geom</PropertyName><gml:Point srsName=”4326″><gml:coordinates>-74.817265,40.5296504</gml:coordinates></gml:Point></Intersects></Filter>
filter=
<Filter
xmlns:gml="http://www.opengis.net/gml">
<Intersects>
<PropertyName>the_geom</PropertyName>
<gml:Point srsName="4326">
<gml:coordinates>-74.817265,40.5296504</gml:coordinates>
</gml:Point>
</Intersects>
</Filter>
使用ECQL,相同的过滤器将被定义如下:
cql_filter = INTERSECT (the_geom ,%20 POINT %20 (- 74.817265 %2040.5296504 ))
格式选项
该format_options
参数是格式特定的其他参数的容器。语法是:
format_options = param1 :value1 ; param2 :value2 ; ...
支持的格式选项是:
callback
(默认为parseResponse
) – 指定JSONP响应格式的回调函数名称id_policy
(默认为true
) – 为JSON输出格式指定id生成。要在输出中包含要素ID,请使用属性名称,或者true
用于要素ID生成。避免使用功能标识完全使用false
。
重新投影
由于WFS 1.1.0和2.0.0都支持数据重新投影,因此GeoServer可以将数据存储在一个投影中,并在另一个投影中返回GML。虽然不是规范的一部分,但GeoServer也支持使用WFS 1.0.0。提交WFS GetFeature GET请求时,可以添加此参数以指定重投影SRS,如下所示:
srsName = < srsName >
<srsName>
例如,投影的代码表示为EPSG:4326
。对于POST请求,您可以将相同的代码添加到Query
元素。
XML请求验证
当涉及到XML请求的有效性时,GeoServer不如WFS规范严格。要强制传入的XML请求有效,请使用以下参数:
strict=[true|false]
此参数的默认选项是false
。
例如,以下请求无效:
<wfs:GetFeature service = “WFS” version = “1.0.0”
xmlns:wfs = “http://www.opengis.net/wfs” >
<query typeName = “topp:states” />
</ wfs:GetFeature >
该请求无效,原因有两个:
- 该
Query
元素应作为前缀wfs:
。 - 名称空间前缀尚未映射到名称空间URI。
也就是说,该请求仍然会被默认处理。strict=true
但是,使用参数执行上述命令会导致错误。正确的语法应该是:
<wfs:GetFeature service = “WFS” version = “1.0.0”
xmlns:wfs = “http://www.opengis.net/wfs”
xmlns:topp = “http://www.openplans.org/topp” >
<wfs:Query typeName = “topp:states” />
</ wfs:GetFeature>
GetCapabilities命名空间过滤器
WFS GetCapabilities请求可能被过滤,只返回与特定名称空间相对应的层,方法是将该<namespace>
参数添加到请求中。
注意
此参数仅影响GetCapabilities请求。
要应用此过滤器,请将以下代码添加到您的请求中:
namespace = < namespace >
虽然提供无效的名称空间不会导致任何错误,但返回的GetCapabilities文档将不包含任何图层信息。
警告
使用此参数可能导致您的GetCapabilities文档无效,因为WFS规范要求文档返回至少一个图层。
转载自:https://blog.csdn.net/neimeng0/article/details/79913536