斯潘8
斯潘4
最常见的是使用预先定义的XML配置文件读取特定XML格式的XML,或FME的XML阅读器特征路径.其他阅读方法包括xfmaps,或者使用XQuery和其他XML处理转换器的FME文本文件阅读器。这些方法被认为是先进的,并在其他文章中介绍。在本文中,我们将重点讨论特性路径。
首先要检查的是,在FME中,作为特定的XML格式或概要文件,您试图读取的数据是否已经被支持。对于经常使用的XML配置文件,这些配置文件通常作为自己的FME格式阅读器和编写器来实现。FME支持40多种不同的XML格式。使用这些格式总是比配置通用XML读写器容易。FME中支持的XML格式示例包括:开放式街道地图(OSM)。谷歌KMLGPXRSS仅举几个例子。要查看完整的列表,只需打开读卡器或编写器库并在搜索字段中键入“xml”。
要使用XML阅读器,首先需要设置配置类型,告诉FME如何将XML映射到特性属性和几何图形中。默认情况下,此选项设置为要素路径。xfmap和xrs是高级方法,更难配置。特征路径标识用于特征提取的元素标记。这种方法还包括一个选项,可以将嵌套元素展平到parent.child属性名中,从而使它们更易于在关系结构中使用。
其他选项包括使用XQueries,它类似于SQL for XML,构成用于查询和修改XML数据集的XML表达式。XFmap是专门用于定义数据结构的属性和几何体组件的脚本。您还可以将文本文件或XML读卡器与我们为XML处理提供的各种XML转换器(如xmlFlatner)结合使用。XMLUpdaterXML功能映射器,XMLFragmenter和XQueryExtractor。现在,我们将只关注功能路径模式下的XML阅读器。
对于那些在XML和脚本方面有更多背景的人,XQuery上有很多可用的文章,XfMaps和XML处理。
特征路径和扁平化有助于将任何XML元素转换为FME特征。功能路径通过在XML结构(节点或元素)中定义要切片或提取功能的点来查询XML。扁平化允许将所选XML元素中的嵌套结构转换为parent.child形式的字段。可以存储父ID以支持功能之间的关联。因此,现在几乎可以读取任何XML,而不需要XFmap或其他脚本。
在下面的练习中,我们将看到如何将XML元素作为记录读取,并将其成员元素展平为属性。我们还将看到如何提取几何图形。
1)打开数据检查器
2)点击文件打开数据集,并选择XML格式。
对于数据集,输入URL:http://www.drivebc.ca/api/events/district/mainlan…
3)单击读卡器参数。
设置configuration type=“feature path”。
在“要匹配的元素”下,指定要构成要素类型的节点。
图1。配置类型=特征路径
FME有一个新的树控件,允许您浏览要匹配的元素。只需单击三角形即可打开感兴趣的树节点,然后仅检查那些要成为要素类型的节点。在这种情况下,打开RSS/频道,然后选择“项目”。注意,我们也可以输入“item”。只有当所匹配的元素类型出现在数据集中的不同级别时,完整路径才很重要。还要注意,我们只检查要成为特征类型的元素。我们不检查RSS或频道,因为这将创建非常大的功能-例如每个数据集或功能类型一个功能。
图2。选择要匹配的元素
单击“确定”,FME将扫描您的数据,并根据您的XML在功能路径中指定的节点上的展开创建功能类型。注意,您不需要XML模式文档或XSD来读取XML。虽然我们可以用它进行验证,这对解释GML很有用,对于大多数XML,它通常没有足够的说明性来定义精确的解释。
图3。在数据检查器中查看的XML
在下面的练习中,我们将看到如何将XML元素读取为记录,然后提取几何图形。
1)打开FME工作台。
2)添加XML阅读器使用上述方法处理数据集:http://www.drivebc.ca/api/events/district/continue?格式化=RSS以及要匹配的元素:“rss/channel/item”。项目源功能类型将添加到您的工作区。
3)添加VertexCreator并将其输入连接到项源功能类型。将x,y值设置为long,分别为lat。
图4。从长的lat值创建顶点。
4)添加一个coordinatesystemsetter要将坐标系设置为epsg:4326,然后一个地理缓冲装置将这些点缓冲1公里。将此的输出连接到检查器。您的工作区现在应该是这样的。
5)增加KML编写器
添加KML编写器。将格式设置为kml,然后选择要将kml文件写入的位置。
6)增加KMLPropertySetter
为名称设置“category”,为摘要设置“description”——这些将显示在Google Earth导航树中。我们也将使用“描述”作为kml气球内容。
7)添加kmlstyler
更改点图标样式。在kmlstyler属性中,展开“图标”部分并选择E5图标。现在将kmlstyler连接到目标功能类型。
8)清理属性
打开kml特征类型的属性,单击“用户属性”选项卡,并删除从源文件中复制的前缀为“xml”的属性。
9)运行工作区。
双击输出的kml文件,在GoogleEarth中查看结果。
祝贺你!现在您已经从Web读取了实时XML数据,将其解析为特征并为其生成地理参考几何图形。现在,您可以通过添加适当的编写器(本例中使用了kml)并将源特性类型复制到目标上,将其写出为您选择的任何格式。
?2019安全亚搏在线软件公司|合法的