WFS是OGC通用标准服务,在属性数据查询方面有很好的优势,在ArcGIS官方文档中有如下描述:
您可以发布符合开放地理空间联盟 (OGC) 的网络要素服务 (WFS) 规范的服务。WFS 是通过 Web 提供地理要素服务的开放规范。
为何使用 WFS 服务?
在通过 WFS 服务提供数据的情况下,任何使用 Web 服务的应用程序均可访问地图或企业级地理数据库中的地理要素。与返回地图图像的 OGC Web 地图服务 (WMS) 不同,WFS 服务返回的是带有几何和属性信息的实际要素,客户端可以将这些要素与属性用于任何类型的地理空间分析。WFS 服务也支持过滤器,由此用户可以在数据上执行空间查询和属性查询。
技术注意事项
- 您所创建的 WFS 服务兼容 WFS 1.1 规范。而且,也支持基于只读操作的 WFS 1.0 规范。
- WFS 服务使用地理标记语言 (GML) 对要素数据进行编码。GML 仅仅是一种使用 XML 表示地理信息的方法。由 ArcGIS Server WFS 服务所使用的 GML 遵循简单要素专用标准。要了解有关 GML 的详细信息,请参阅 ArcGIS 帮助中的 ArcGIS 中的 GML 支持概述。
如何创建 WFS 服务
有两种方法可以创建 WFS 服务:从地图或从企业级地理数据库中创建。
从地图创建 WFS 服务
可通过将 ArcMap 文档发布到 ArcGIS Server 来创建 WFS 服务。当提示您选择发布时要启用的功能时,请选中 WFS。这将创建一个任何 WSF 客户端都可用于访问此服务的 URL。有关如何通过地图创建 WFS 服务的详细说明,请参阅教程:发布 WFS 服务。
地图文档仅仅是 WFS 服务中所使用的图层的规范。在图层级别定义的符号系统、查询定义以及字段别名将不会传输到 WFS 服务,因为该服务的目的在于显示数据中的要素。要通过 OGC 规范显示地图的可视属性,请使用 WMS 服务。
当从地图文档发布 WFS 服务时,请牢记以下事项:
-
如果希望 WFS 服务支持编辑事务 (WFS-T),那么地图中所有图层的源数据都必须来自同一企业级地理数据库;否则,地图中可包含来自多个源的图层。
-
地图中两个或两个以上的图层不能引用同一个要素类或拥有相同的名称。否则,您可能会收到工作空间项目或名称重复错误消息。
-
图层的名称是从 WFS 返回的类型名称。
-
要通过 WFS 服务发布数据,则必须在企业级地理数据库中注册数据。
-
因为 WFS 仅适用于要素,所以会从服务中排除地图中的所有栅格图层。
-
WFS 服务不支持虚拟类(如连接、关联、x/y 事件、路径、coverage 或基于 ArcGIS Data Interoperability 扩展模块的图层)。
如果您将源地图文档用于除了发布 WFS 服务之外的其他多种用途,则可能需要一份地图文档的副本,此副本将作为 WFS 服务的源文档。然后,您可以更改副本,使其达到以上要求而不影响您的原始地图文档。
通过企业级地理数据库创建 WFS 服务
另一种创建 WFS 服务的方法是从企业级地理数据库着手,然后将地理数据库作为地理数据服务进行发布。当提示您选择发布时要启用的功能时,请选中 WFS。这将创建一个任何 WSF 客户端都可用于访问此服务的 URL。有关如何通过企业级地理数据库创建 WFS 服务的详细说明,请参阅教程:发布 WFS 服务。
当从地理数据服务创建 WFS 服务时,连接用户有权访问的所有要素类都将在该服务中显示。同样,该服务中仅显示在企业级地理数据库中注册的要素类、表以及视图。
通过企业级地理数据库创建 WFS 服务允许您编辑要素、读取要素以及对其进行查询。
WFS地图文档仅仅是 WFS 服务中所使用的图层的规范。在图层级别定义的符号系统、查询定义以及字段别名将不会传输到 WFS 服务,因为该服务的目的在于显示数据中的要素。
如果地图或企业级地理数据库中的要素类使用的空间参考不能以 EPSG(欧洲石油测绘组)编码表示,则将使用 WGS84 作为该要素类的空间参考。WFS 服务将会忽略地图或企业级地理数据库中使用未知空间参考系统的要素类。
所以需要为数据服务设置空间坐标参考信息;