span8
span4
使用OGC Web Feature Service (WFS)为空间数据提供了可访问性,这意味着任何可以使用Web服务的应用程序现在都可以访问地理信息。WFS服务可以返回带有几何图形和属性的特性,还支持过滤器,允许用户执行空间和属性查询。在浏览完本指南之后,您将在FME服务器上拥有一个功能强大的WFS服务,并能够为您自己的空间数据集提供服务。
注意:这个工作区包含Python。FME 2019将标志着与Python 2.7兼容的逐步淘汰过程的开始。更多信息,请阅读Python 2.7弃用。
Python 2.7 Deprecation Warning显示在FME Workbench 2018.1中
对于本教程,设置WFS所需的全部内容是附加的工作空间和您选择的数据。您的数据可以来自各种来源,从一个复杂的数据库(例如。一个简单的形状文件。
所附的下载包已准备好发布到FME服务器,并设置为从所包含的sample SpatiaLite数据库读取和服务层。在修改工作空间以提供您自己的数据之前,您可能希望发布样例并在所需的WFS客户机中测试它。
GenericWFS开放。fmw in Workbench and follow the steps below:
使用导航器找到FeatureReader转换器
将数据集更改为数据所在的路径
在导航面板中找到用户参数下的私有参数部分:
修改导航器中的私有参数以适合您的数据
使用导航器的书签部分来查找工作区的一部分。
使用AttributeValueMapper设置每个特性的标题和摘要。
将工作区发布到FME服务器上的数据流服务。
让FME服务器上的fmeguest角色访问WFS所在的存储库。
有许多方法可以确保您的WFS服务正常运行。下面列出的是一个简单的基于web浏览器的方法,但是由于WFS是一个标准,您可以使用多种工具。例如,像ArcGIS、Autodesk IMS和QGIS这样的软件包有连接到WFS服务的方法,而且在FME Workbench中还有一个WFS阅读器。
浏览器:
要验证您的WFS服务,请使用GetCapabilites请求。生成的XML流将提供关于服务可用功能的信息,包括哪些功能类型可用。
如有需要,请在浏览器的地址栏输入以下资料:
http://
如果你正确地设置了你的服务,你会收到一个XML字符串:
使用getcapability请求测试WFS服务是否正在正确运行。
在发布到FME服务器之前测试您的工作区修改要快得多。但是,在这个实例中,工作空间需要一些只有FME Server才会提供的信息。因此,为了正确地测试工作空间,我们可以用这些信息手动地提供FME工作台。下一节将讨论如何测试GET和POST请求。
在响应GET请求时,工作空间使用调用它的URL来确定响应哪种类型的请求,以及返回哪些层和WFS版本。为了在FME Workbench中成功地运行这个工作区,我们需要提供示例url。
工作空间响应三种不同类型的请求(GetCapabilities、describe befeaturetype和GetFeature),因此我们需要每个请求的一个示例来完整地测试它。
获取这些示例URL的最简单方法是将初始工作空间发布到示例存储库中,然后使用直接URL在FME工作台的WFS阅读器中运行该工作空间。
在FME服务器web界面中,导航到GenericWFS工作区并单击它。在Run Workspace页面中有一个高级部分,您可以在这里找到直接的URL。
直接的URL位置在高级部分
返回到FME工作台并打开一个空白工作区。添加一个WFS阅读器,并为数据集复制上面的这个URL。
打开参数…在约束条件下>功能类型检查选择所有按钮。您还可以在此窗口中定义WFS版本。
在WFS读取器参数中选择特性类型
运行工作空间,然后检查日志窗口中的行
搜索三个WFS GET请求url
返回到GenericWFS。逐步检测文件。要测试工作区,您可以在Navigator窗口的用户参数>FME服务器参数>FME服务器请求URI下输入这些url。
一次只能测试一个请求。此外,在URL中,您可能需要修改TYPENAME=<>参数,使其仅包含源数据中可用的参数。这个参数相当于在WFS阅读器的约束中暴露特性类型。
将GET url作为FME_SERVER_REQUEST_URI参数添加,并修改TYPENAME语法
每个请求的输出将被写到与工作空间相同的文件夹中,该文件夹的文件名为return.xml。
生成用于测试的POST请求稍微复杂一些,首先需要根据在FME服务器上的作业日志文件中创建的信息创建XML文件。然后将使用此文件的内容,而不是上面所示的GET请求示例中的直接url。
从一个空白画布开始,并像前面那样添加一个WFS阅读器。但是,这一次在参数中…公开连接属性并检查preferred HTTP Post选项。
最好启用HTTP Post
FME服务器运行工作区,然后返回到Web界面,这里选择工作>完成,您应该看到运行WFS FME工作台引发了读者:最后三份工作——一个工作运行的三个请求:GetCapabilities, DescribeFeatureType和GetFeature秩序。
FME服务器完成任务网页
为了满足WFS POST请求,我们需要从日志文件中提取xml片段,并将它们提取到前面创建的useParameters.xml文件中。FME总是将getcapability作为一个GET请求提交,因此我们将只查看最后两个作业。您可以使用以下XML创建自己的POST GetCapabilites请求(根据需要更改版本):
在作业日志中搜索xml_fragment
单击第二个作业以打开作业对话框,从这里可以在web页面的日志中搜索(Ctrl+F)或下载日志文件。搜索xml_fragment并复制尖括号<>中的所有文本。
在文本编辑器中选择New并将文件作为useParameters.xml保存在与工作空间相同的位置。现在从日志文件中选择XML文本(可能跨越几行)并将其复制到useParameters.xml文件中。
在useParameters.xml中保存来自describe befeaturetype和GetFeature的xml_fragment
重复这个过程DescribeFeatureType和GetFeature工作日志测试POST请求——在最初的工作区工作应该成功运行生产输出文件为每个请求,而不需要指定FME_SERVER_REQUESR_URI作为让我们做功能。
测试完成后,应该在将工作空间发布到FME服务器之前删除useParameters.xml文件。
本教程创建的WFS服务包含以下操作:
过滤可用于使用GetFeature操作对WFS服务数据执行查询。这个工作空间支持以下过滤器:
属性过滤器:
空间过滤器:
筛选选项在genericWFS中的位置。逐步工作区。
示例属性过滤语法:
BikePathName 海边
在GET请求中使用的过滤器:
http://
空间过滤器语法示例:
BBOX = -71.4, 42.3, -71.1, 42.6
完整的要求:
http://
以下是可连接到WFS服务的第三方客户端名单:
OGC网站:WFS标准
FME格式:WFS读者
WFS教程:激发WFS教程
故障排除:故障排除WFS错误
这里使用的数据来源于由温哥华的城市不列颠哥伦比亚省。它包含在开放政府许可下的信息-温哥华。
©2019安全亚搏在线软件公司法律