7.1. 概述

WFS(OpenGIS® Web Feature Service)当前版本是 1.1.0。WFS 标准定义了一些操作,这些操作允许用户在分布式的环境下通过 HTTP 对空间数据进行查询、编辑等操作。

WFS 服务要求服务的接口必须由 XML 描述,另外数据交互必须由 GML 进行,数据过滤采用CQl 18 语言。

7.2. 种类与操作

当一个客户端想要访问 WFS 服务时,一般会涉及到以下的流程:

1. 通过操作获取 WFS 服务支持的操作和要素类(Feature Type,可以理览为 WFS 中的数据集)。

2. (可能)通过操作获取 WFS 服务支持的要素类的定义。

3. 客户端发送某个操作的请求。

4. WFS 服务处理请求。

5. WFS 服务返回处理的结果和状态。

上面几个步骤中所提到的“操作”包括:

1. GetCapabilities(获取服务中的要素类及支持的操作)

2. DescribeFeatureType(描述要素类的信息)

3. GetFeature(获取要素)

4. GetGmlObject(通过 XLink 获取 GML 对象)

5. Transaction(创建、更新、删除数据的事务操作)

6. LockFeature(在事务过程中锁定要素)

但是,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的

操作不同,WFS 可以分为 3 类:

1. Basic WFS(就是最常被提及的 WFS,必须支持 GetCapabilities/ DescribeFeatureType GetFeature 操作,在功能上意味着提供一个叧读的数据服务)

2. XLink WFS(必须在 Basic WFS 基础上加上 GetGmlObject 操作)

3. Transaction WFS(也有称为 WFS-T,必须在 Basic WFS 基础上加上 Transaction 操作以支持编辑数据,另外也可以加上 GetGmlObject/LockFeature 操作)关于服务涉及的基本元素,可以参考前面的章节:《服务涉及的基本元素》。

注意,在后面的内容中,服务的操作叧介绉 Basic WFS 和 Transaction WFS 中需要实现的操作,也就是说 GetCapabilities、DescribeFeatureType、 GetFeature 和 Transaction 操作。

18

OGC Common Query Language,参考《OGC Catalogue Service 2.0.2》标准的 6.2 章节。