WFS 服务
在本主题中
您可以发布符合开放地理空间联盟 (OGC) 的网络要素服务 (WFS) 规范的服务。WFS 是通过 Web 提供地理要素服务的开放规范。
为何使用 WFS 服务?
在通过 WFS 服务提供数据的情况下,任何使用 Web 服务的应用程序均可访问地图或企业级地理数据库中的地理要素。与返回地图图像的 OGC Web 地图服务 (WMS) 不同,WFS 服务返回的是带有几何和属性信息的实际要素,客户端可以将这些要素与属性用于任何类型的地理空间分析。WFS 服务也支持过滤器,由此用户可以在数据上执行空间查询和属性查询。
技术注意事项
- 您所创建的 WFS 服务兼容 WFS 1.1 和 2.0 规范。而且,也支持基于只读操作的 WFS 1.0.0 规范。
- WFS 服务使用地理标记语言 (GML) 对要素数据进行编码。GML 仅仅是一种使用 XML 表示地理信息的方法。由 ArcGIS Server WFS 服务所使用的 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 服务允许您读取、查询和编辑要素。
注:
如果地图或企业级地理数据库中的要素类使用的空间参考不能以 EPSG(欧洲石油测绘组)编码表示,则将使用 WGS84 作为该要素类的空间参考。WFS 服务将会忽略地图或企业级地理数据库中使用未知空间参考系统的要素类。
配置 WFS 服务属性
WFS 服务的属性将反映在其功能文件中。如果使用系统生成的功能文件发布 WFS 服务(默认),则建议您填充 WMS 服务属性。有关可设置的每个 WFS 服务属性的信息,请参阅 WFS 服务的可用属性。此外,以下主题包括有关如何到达可设置 WFS 服务属性的位置的说明:
使用外部功能文件设置 WFS 属性
定义 WFS 服务的元数据的另一方法是使用一个外部功能文件。这样即可针对您的要素类型添加除了默认值以外的其他投影。默认值包括图层或要素类的坐标系以及 WGS84 (EPSG 4326)。有关详细信息,请参阅对 WFS 服务使用外部功能文件。
WFS 服务的安全性
WFS 服务向 WFS 客户提供 ArcGIS Server 地图或地理数据服务。您可通过控制 WFS 服务的父地图或地理数据服务的安全来管理 WFS 服务的安全性。如果拒绝某一特定角色(如规划人员)访问地图,则无论通过 SOAP、REST 还是 WFS 接口,规划人员都将无法访问该地图。
ArcGIS Server 支持多种不同的身份验证方案。预期通过 OGC 接口访问的服务应使用 HTTP Basic 或 HTTP Digest 进行安全性设置。大多数 OGC 客户端(非 Esri 客户端和 Esri 客户端)都能够识别并使用这些广泛应用的标准身份验证方案。