GetFeature 请求 |
GetFeature 操作的主要请求参数如下表所示:
表1 GetFeature& GetFeatureWithLock 操作请求主要参数
请求参数 | 是否必需 | 描述 |
VERSION=version |
是 |
请求版本号。 默认为“1.0.0”。 |
SERVICE=WFS |
是 |
服务类型。 默认为“WFS”。 |
REQUEST=GetFeature|GetFeatureWithLock |
是 |
请求名称。 请求 GetFeature 操作,请求名称需要设为“GetFeature”或者“GetFeatureWithLock”。 GetFeatureWithLock 跟 GetFeature 相似,只是如果使用 GetFeatureWithLock,则会对被选择的要素上锁,比如在修改要素时。 |
PROPERTYNAME=property_list |
否 |
特性列表。 用来列举查询中被选择的要素特性。 参数列表规则参考 请求参数规则。“*”字符能够表示所有被检索的特性。在每一个 FEATUREID 或 TYPENAME 列表和 PROPERTYNAME 列表形成1:1的映射。缺省值表示所有特性都可以获得。 当 WFS 服务遇到没有选择要素的全部必要特性的查询时,WFS 将会在内部扩大特性列表以保证其包含所有必要特性名,所以,一个 WFS 客户端获取的特性值可能比请求的要多。 如果没有指定特性名称,要素的所有特性将返回。 |
FEATUREVERSION=ALL|N |
否 |
要素版本。 如果支持要素版本,“All”表示获取一个要素的所有版本。整数值“N”表示获取一个要素的第 N 个版本。没有值,表示提取最近的要素版本信息。 版本号从1开始,1是最老的版本,如果版本值大于指定的最大版本号,那么将返回最新的版本。查询默认的操作时返回最新的版本。 不支持分版本的系统可以忽略此参数,并返回它所拥有的唯一版本。 目前 SuperMap iServer 不支持该参数。 |
MAXFEATURES=N |
否 |
最大要素个数。 MAXFEATURES 参数值设置为一个正整数,用来表示 WFS 对请求响应的最大要素个数。如果没有设置该参数的值,将默认最多返回2000个要素,此默认值可以在 WFS 接口中设置,详见WFS_服务接口。 |
TYPENAME=type_list |
是 |
要素类型列表。 参数列表规则参考 请求参数规则。 如果已经指定了 FEATUREID 参数,则 TYPENAME 可选。 |
FEATUREID=feature_id |
否 |
要素标识符。 通过要素标识符来获取要素枚举列表。 该参数与 FILTER 和 BBOX 参数相斥。 |
FILTER=filter |
否 |
过滤器。 Filter 参数用来设置查询限制条件。空间的或非空间的限制条件都可以进行设置。 该参数的设置遵照过滤器编码规范。 如果使用过滤器参数,对于每一个在 TYPENAME 参数列表中的要素类型必须规定过滤器。单个以过滤器参数编码的过滤器以英文圆括号表示,“(”和“)”。 使用该参数必须要 TYPENAME 参数。 该参数与 FEATUREID 和 BBOX 参数相斥。 目前支持的操作有 DWithin、Beyond、Contains、Crosses、Disjoint、Intersects、Distance 等,请参见 FilterType。目前不支持 FeatureId、Function、Geometry。 请参见FILTER 示例。 |
BBOX=minx,miny,maxx,maxy |
否 |
边界框。 在 FEATUREID 或者 FILTER 环境下,客户端可以指定边界框。 使用该参数必须要 TYPENAME 参数。 该参数与 FEATUREID 和 FILTER 参数相斥。 请参见 边界框。 |
OUTPUTFORMAT=outputformat |
否 |
结果集输出格式。 默认为“GML2”。 其他格式(包括非 XML 和二进制的格式)也可以支持,只要在 Capabilities 文档中进行声明即可。 目前 SuperMap iServer 发布的 WFS 服务支持默认的 GML2 格式和 json 格式。 |
GetFeature 操作的请求方式如下:
<ServiceRoot>?SERVICE=WFS&VERSION=version&REQUEST=GetFeature&TYPENAME=type_list
ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置。
例如,本机 SuperMap iServer WFS 1.0.0 服务启动成功之后,访问 GetFeature 操作的 URI 是:http://localhost:8090/iserver/services/data-world/wfs100?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=World:Capitals&MAXFEATURES=5,这里设置 MAXFEATURES=5,只返回 World:Capitals 中的前5个要素。
该请求示例的响应结果请参见 响应示例。