span8
span4
许多FME变压器创建列表 - 这些变压器通常都有一个复选框生成列表
在下面属性积累
转换器对话框的部分。
让我们通过一个简单的工作空间来创建一个新的list属性,然后使用它来查询和分析来自温哥华的一些开放数据。一般而言,我们会:
让我们开始吧!
下载FME工作区模板的这些文件,其中包括教程中需要使用的所有阅读器、编写器、转换器和数据。提供了开始和结束工作区,以防您想跳过某些步骤!
工作台中的许多查询转换器可以返回多个结果。在这种情况下,可以生成一个列表来存储这些结果。的PointOnAreaOverlayer变压器是一个很好的例子。
的PointOnAreaOverlayer空间定位从一个到另一个的区域特征和拷贝的属性内的点特征。该变压器是常用的当财产边界需要取得由内它的质心的信息。在我们的样本工作区,园区多边形需要获得属于其边界内的点树种信息。然而,当一个多边形包含一个以上的点这一任务变得更加复杂。例如,如果两个点与两个不同的树种属于同一个花园多边形内,怎么可能我们店从两个点,这两个树种的信息?答案当然是一个列表!而且,我们将在接下来的步骤中探索,在PointOnAreaOverlayertransformer具有创建一个列表的内置功能,该列表存储用一个多边形覆盖的多个点的值。
通过打开之后下面的步骤工作开始工作区模板文件位于上方。
步骤1-运行工作区并检查数据。注意,有些公园包含两个点特征(这些点是重合的)。
让我们来看看位于温哥华北路的中国北溪公园:
公园里有两棵树,如表中所示——开花的白蜡树和夸赞樱花
步骤2 -在粉红色的书签右键单击标题初始数据检查并且禁用书签中的所有对象——对于接下来的步骤,我们将不再需要检查原始传入数据!右击标题为绿色的书签用公园多边形覆盖空间树数据并启用收藏的所有对象。
启用PointOnAreaOverlayer和TestFilter。
打开PointOnAreaOverlayer看看这些参数。它们都被设置为FME默认值。在属性累积下,合并属性和生成输出列表
复选框未选中。这意味着属性没有从区域合并到点(反之亦然),也没有在点或区域上创建列表属性!
检查合并属性
在属性累加下。
启用缓存功能,使用“运行这个”执行PointOnAreaOverlayer,并再次检查中国溪北公园,其中包含两个棵树点。PointOnAreaOverlayer增加了一个_overlaps
属性,该属性计算每个区域中的点的数量。注意,它有两个重叠部分,但是只添加了其中一个树种的属性。
开花的白蜡树是这个公园唯一记录的树的属性:
步骤3 -让我们回顾一下PointOnAreaOverlayer参数并设置一个新的list属性在输出生成列表“区域”
。名称列表_trees
并使用选定的属性选择要保留在列表中的树属性。
取消合并属性
(为什么?)。
使用“运行这个”执行PointOnAreaOverlayer,并再次检查中国溪北公园。
的测试仪在蓝色的书签会过滤掉不含有树分园。
如果再次检查中国溪北公园,通知它现在包括两个树种,“开花灰”和“Kwanzan樱花”。从两树点的信息被存储在一个列表属性_trees {} .CommonName
。
我们开始的公园现在有一个列表属性,它记录了关于它所包含的两棵不同的树的信息:
现在,您可以使用分析的其他FME变压器,如ListElementCounter,这可能会被用来告诉我们该公园拥有最树木。
在这个例子中,PointOnAreaOverlayer变压器创建了一个名为列表_trees {}
存储树数据下降一个公园多边形内的多个点的结果。
鉴于与价值观“开花灰”和“Kwanzan樱花”两个棵树功能园区的列表属性如下内容:
属性值
_trees {}。的CommonName -------------------- _trees {0} .CommonName开花灰_trees {1} .CommonName Kwanzan樱花
*请注意,列表中的元素编号总是从零(0)开始。
工作区Park_Trees_complete_2020.fmwt有你可以用它来分析列表数据或简化其名单变压器的例子:
计算每种公园树木的数量 | ListElementCounter |
求树的最大直径 | ListSorter&ListIndexer |
找出每个物种的数量 | ListHistogrammer |
创建种类的列表 | ListConcatentaor |
找出哪些公园有橡树 | ListSearcher |
创建一个带有公园名称的公园树表 | ListExploder |
查找在一个公园的平均树高 | ListSummer |
求树直径的最小/最大值 | ListRangeExtractor |
看到这篇文章变形金刚的工作与列表属性关于这些名单变压器的更多细节。
数据归属
这里使用的数据来源于由温哥华市不列颠哥伦比亚省。它包含在政府公开许可下的信息-温哥华。
©2020安全亚搏在线软件公司|法律