span8
span4
此示例旨在说明FME工作区中意外输入的含义以及如何处理它。
打个比方,我喜欢用收费亭模型;当你行驶在高速公路上,经过一个收费站——或者可能是一个过境点——每种车辆都有单独的车道。这就像FME中的一个功能类型,就像FME一样,当车辆与已知类型不匹配时,它们就会被过滤。
这个练习从一个部分完成的工作空间开始,该工作空间为温哥华市斯坦利公园的一次筹款活动管理数据。它重新投射和剪辑源数据,然后将其过滤为许多不同的writer和writer特性类型。
1)启动FME工作台,打开工作区(或模板)。请注意,我们正在读取各种数据集,包括公园、饮水机和GPS路径。为了完成这个项目,我们需要增加一个道路和停车场的阅读器。
选择Readers >从菜单栏(或Ctrl+Alt+R)中添加Reader,并在添加Reader对话框中选择GML(地理标记语言)作为格式并选择附加的数据集amenity.gml和highways.gml的来源。
当提示时,选择amenity_parking和highway_primary特性类型
2)将新增的功能类型连接到投影仪变压器上:
现在运行翻译,一个消息弹出,并出现在日志窗口,报告这一信息:
在转换期间,读取的一些特性与工作区中的阅读器特性类型不匹配。如果reader数据集被更改,或者reader特性类型被删除或重命名,就会发生这种情况。
这是令人担忧的。其中很多都不是我们想要读取的层,但我们确实想要读取一些高速公路数据,这也出现在“意外输入”列表中。
检查写入的SpatiaLite数据库。你会看到,停车功能已写,但很少的道路功能。
进一步的调查告诉我,我们还需要highway_primary_link和highway_unclassified功能类型。
让我们先修未分类的路吧。如果工作空间中缺少所需的源特性类型,最简单的方法是添加它。
因此,从菜单栏中选择reader >导入特性类型。当提示时,选择将它们导入到amenity/highway [GML]阅读器。
单击OK,系统将提示您从数据集导入这些特性类型。我们有所有我们需要的舒适设施类型,所以你不需要选择它;只是选择highway.gml文件:
出现提示时,取消选择所有功能类型,只保留highway_unclassified层选择。连接新增加的功能类型到现有的投影仪变压器:
另一个需要修复的特性类型是highway_primary_link。这些是连接主要道路和非分类道路的短路。我们可以使用相同的导入工具来添加特性类型,但是让我们尝试一种不同的方法。
的属性highway_primary功能类型。您将看到General选项卡的一部分被标记为Merge Feature Types。点击合并功能类型切换设置打开:
默认情况下,合并过滤器被设置为允许所有内容。这是将单个数据集中的所有数据读入单个特性类型的好方法。
但它肯定不适合在这里,因为它将允许FME阅读所有的道路特征(即使是我们不想要的),加上它将允许所有的舒适功能,我们已经决定不需要。
所以我们必须更微妙。在合并筛选器设置中,将筛选器类型更改为正则表达式。将合并过滤器更改为:
^ highway_primary。*
基本上,这只允许以“highway_primary”开头的特性类型通过。
现在我们有了想要进入工作区的数据。任何其他关于意外输入的报告现在都可以忽略。
数据属性
这里使用的数据来源于由温哥华的城市不列颠哥伦比亚省。它包含在开放政府许可下的信息-温哥华。
©2019安全亚搏在线软件公司法律