WFS(OpenGIS® Web Feature Service)当前版本是 1.1.0。WFS 标准定义了一些操作,这些操作允许用户在分布式的环境下通过 HTTP 对空间数据进行查询、编辑等操作。
WFS 服务要求服务的接口必须由 XML 描述,另外数据交互必须由 GML 进行,数据过滤采用CQl 18 语言。
当一个客户端想要访问 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 操作。
OGC Common Query Language,参考《OGC Catalogue Service 2.0.2》标准的 6.2 章节。