span8
span4
XML是一种允许用户跨web服务交换数据的标记语言。在FME服务器中,可以使用数据流服务发布工作空间,以便轻松创建web应用程序来流处理存储为XML的空间数据。
下面的示例展示了如何创建一个工作区,该工作区接受空间数据并将其写入XML,然后将其发布到FME服务器,以生成一个直接URL,该URL可用于在web服务中传输数据。本教程的第二部分将概述GML格式的数据流服务OGC规范用于用XML表示地理数据。
按照下面的说明创建一个工作空间,它将用XML写出数据,然后使用数据流服务将数据发布到FME服务器。如果您想跳到第8步,可以使用这个工作空间的完整版本。
XML文档通常至少包含两个组件:
1.创建城市名称属性
要创建根元素,请将AttributeCreator transformer添加到空白工作区,并将新属性设置为“City Name”,将属性值设置为“Austin Bus Routes”。这个转换器需要一个输入才能运行,所以在AttributeCreator之前添加一个Creator转换器。
属性创建者参数对话框
2.添加一个SDF阅读器
在本例中,子模板将列出奥斯汀的公共汽车路线的几何形状。首先,我们需要在途中阅读。自卫队的数据集。使用以下参数添加阅读器:
格式 | Autodesk MapGuide Enterprise SDF |
数据集 |
|
在选择OK之前,打开参数…在约束条件下选择省略号[…],然后选择默认值。BusRoutes特性。
添加SDF阅读器并从表列表中选择要读入的特性类型
3.提取几何特征
添加一个GeometryExtractor转换器并将其连接到读取器输出端口,在参数中将几何编码更改为“FME XML”。这个转换器将把与每个总线路由关联的几何图形转换成XML结构。
如果你现在添加一个检查器并运行工作区,每个特性都会有一个额外的几何属性,看起来像这样:
....
注意到
4.设置XML模板
现在您已经为最终的XML文件创建了这两个需求,我们可以使用XMLTemplater转换器将它们放在一起。当这个转换器第一次被添加到画布中时,它只有一个根输入,因此打开参数编辑器并检查子模板框并命名端口总线。
在根模板表达式中复制以下代码行:
{fme: get-attribute(“某个”)} {fme:工艺特点(BUSROUTES)}
该模板声明文档为XML,并将写出在步骤1中创建的CityName属性的值。
您可以编辑此模板以包含附加属性数据,只要根端口正在接收该数据。
注:行{FME:工艺功能(“BUSROUTES”)}是关联到子模板中,我们将要创建的占位符。每个巴士路线会作为插入的孩子
在子模板表达式添加如下代码:
{fme: get-attribute (LINE_ID)} {fme: get-attribute (LINE_NAME)} {fme: get-xml-attribute (_geometry)}
该子模板讲的是文件,详细的路线的几何形状之前增加公交路线ID和姓名。
注:行{FME:获取XML属性(“_几何”)}拉在GeometryExtractor创建的XML几何特征。注意这里,这是一个get-XML属性的功能,而不是通常得到属性,这是告诉模板,这些属性都已经写在XML和放弃一切,但几何本身。
注意:如果你有一个XML Schema(XSD)文件,可以使用XMLSampleGenerator变压器来创建一个可以用作XMLTemplater基本的XML模板。
之前,我们关闭参数编辑器更改结果属性名称为“text_line_data”。
5.将数据连接到XML模板
如果你还没有这样做连接AttributeCreator到根输入和GeometryExtractor到BUSROUTES输入。该XMLTemplater将创建与含有整个文档的属性的单个特征。
6.格式化XML文件
添加XMLFormatter和更改与XML文本“text_line_data”的属性做同样的属性包含XML输出。我们可以用这台变压器写入数据之前清理线条和外观。
将text_line_data属性设置为带有XML文本的属性
7.添加文本文件写入器
XML文档现在可以导出到一个文本文件中。添加一个作家具有下列参数:
格式 | 文本文件 |
数据集 | Busroutes.xml |
在参数...改变MIME类型从下拉列表文本/ XML。
添加一个将MIME类型设置为Text /xml的文本文件写入器
注意:因为我们已经产生了一个单一的属性整个XML文档在这里,我们使用的是文本文件,而不是作家的XML作家,使所有需要的是作家直接到这个text_line_data属性。使用数据流服务时要设置正确的MIME类型是很重要的。
8.运行工作空间
之前发布工作区到FME Server中运行的工作区,并检查在文本编辑器的输出看你有没有创造的东西。
返回到文本文件的XML
9.将工作区发布到FME服务器
发布工作区到FME Server的文件>发布到FME Server中。创建一个名为XML教程新的存储库,并确保你勾选“上传数据文件”。注册工作区只有数据流服务。
10.使用数据流服务运行工作区
打开FME Server的Web界面,并在上次发布工作区找到你的主页上的工作区。单击工作区,运行它,这将在XML流会自动返回到浏览器。或者返回到运行工作区页面,并显示在高级部分。在这里你可以找到直接URL建立一个链接直接与web服务运行这个工作空间。
直接URL示例位置在FME服务器运行工作区页面
注意:您还可以创建主题在此基础上的数据流服务的成功或失败通知。
这个例子演示了如何编写一个空间数据集出来GML格式生成可用于在Web服务将数据流自己的XML架构。
1.使用GML reader生成工作区
写GML比写XML,因为它不需要任何格式简单得多。打开FME Workbench和选择生成工作区。设置使用下表中的参数:
读者的格式 | Autodesk MapGuide Enterprise SDF |
读者数据集 |
|
读者参数 | 约束>表列出了>的Default.BusRoutes |
作家格式 | GML(地理标记语言) |
作家数据集 | C: \ Busroutes_GML.gml |
作家坐标系统 | LL84 |
“生成工作区完成”对话框
2.运行工作空间
运行该工作区,然后将鼠标悬停在GML作家,并选择打开包含文件夹图标
。请注意,通过运行这个工作区两个文件被创建 - 包含所有数据的GML文件和XML架构文件。
运行工作区创建的GML和XML模式文件
3.更新写入器以使用模式
返回到您的工作空间和导航器面板下右击BusRoutes_GML作家,然后选择“更新作家......”。
在导航窗口更新写入器
打开参数标签,并在GML版本3.1.1从更改设置以GML应用模式,然后在应用模式浏览到刚刚创建的.xsd文件。一旦作家已经成功更新您现在可以发布工作区FME Server中。
将XML模式文件添加到GML写入器
4.发布到FME服务器下的数据流服务
当发布工作空间到FME Server中注册的工作区,数据流服务,注意这个时候它是在红色的含义强调,一个或多个参数需要用户输入的翻译是成功的。点击编辑,然后点击椭圆旁边的“包括浏览器到流”,并确保BusRoutes_GML文件被选中。
编辑数据流服务属性,将GML文件作为写入器写入流
5.从FME服务器运行工作区
回到FME Server的Web界面,然后选择运行工作空间,或者该URL这个数据流链接到一个Web服务可以在高级部分作为流XML示例中找到。
在FME服务器中运行工作空间返回的GML流片段
该OGCWeb功能服务(WFS)由FME Server支持,并具有与像本文中涉及的例子空间几何返回功能的能力。关于如何创建WFS服务使用FME服务器的详细说明,可以发现在这里。
或者你可能感兴趣的其他流数据格式在这种情况下,这篇文章可能会感兴趣:流式GeoJSON与FME服务器。
在这篇文章中使用的数据来自经的提供开放的数据起源德克萨斯州奥斯汀市。它包含了公共领域贡献许可协议进行许可数据 - 奥斯汀市。
©2019安全亚搏在线软件公司法律