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规范要求文档返回至少一个图层。

注意

 

此筛选器与虚拟服务有关

PreviousWFS输出格式

转载自:https://blog.csdn.net/neimeng0/article/details/79913536

You may also like...