邻居
查找每个基本特征最近的候选特征,并将其属性合并到基本特征上。也可用于“仅候选”模式,其中每个特征依次被视为基础,并与所有其他特征(而不是其本身)进行比较。
典型用途
- 识别最近的特征
- 识别指定距离内的特征
- 添加离候选点最近的点(例如,在离车站最近的点上添加铁路轨道上的点)
- 在某个方向上查找最接近的特征(通过过滤产生的候选角度)
- 通过计算一定距离内的邻居来计算簇或密度
它是如何工作的?
neighborfinder通常具有两组特性-底座和候选人是的。对于每个基本特征,变压器基于接近度和参数选择来检查匹配的候选。它可以检查最接近的候选特征,或者固定的最大数量的最接近的候选,或者所有落在基本特征的指定距离内的候选。
将来自一个匹配候选对象的属性添加到基本特征,包括:
- 来自匹配候选项的属性
- 包含匹配的距离、角度和坐标的计算属性
- 最接近候选点的基上插值点的坐标
来自多个匹配候选者的属性可以存储在列表属性是的。
输出包括匹配的具有这些新属性的基本功能,无与伦比的基础特征(不变),以及无与伦比的候选人(不变)。
neighborfinder仅适用于二维几何图形;如果输入几何体是三维的,则其Z坐标将被忽略。转换器完全支持点、线、弧、椭圆、多边形和圆环,并且对其他类型的几何体的支持有限。根据用户的选择,多边形、椭圆和圆环可以作为直线或区域进行处理。
仅候选模式
neighborfinder可以用于仅限候选人仅考虑候选输入特征的模式。在此模式中,每个特征依次被视为基础,并与所有其他候选特征(但不是其本身)进行比较。属性共享和输出行为同上。
启用“仅候选”模式输入参数。当input设置为candidates only时,将删除基本输入端口。
在本例中,我们有一组没有有用属性的地块多边形,以及一个用于标记的带有地址属性的点数据集。我们要提取地址并将其应用于地块多边形。
尽管点覆盖层将执行类似的比较,它不会找到一个点正好落在多边形外面的匹配,如#1132。我们将使用睦邻探测器。
包多边形被路由到一个NeighborFinder中底座特性—转换器将尝试寻找匹配的特性。
地址点连接为候选人-那些将搜索匹配,然后将提供新的属性到基本功能。
在参数对话框中,要查找的邻居数设置为1个,因为我们只想使用最接近的匹配。将多边形视为设置为区域。
请注意默认设置积累方式-合并候选人-将候选人的属性复制到基本功能(这是我们想要的)。
输出匹配的包裹多边形现在有属性从他们最接近的候选匹配。
选择空间变压器
许多转换器可以评估空间关系并执行空间连接-分析拓扑、合并属性,有时还可以修改几何图形。一般来说,选择一个最具体的任务,你需要完成将提供最佳的性能结果。如果有不止一种方法可以这样做(这种情况经常发生),那么在性能测试替代方法上花费的时间可能是值得的。
要正确分析空间关系,所有要素都应在同一坐标系中。这个重排器可能有助于在工作区内重新投影功能。
变压器 |
可以合并属性 |
改变几何图形 |
统计相关功能 |
创建列表 |
支持的类型* |
对于推荐 |
---|---|---|---|---|---|---|
空间滤波器 | 是 | 不 | 不 | 不 |
|
|
空间相关器 | 是 | 不 | 是 | 是 |
|
|
覆盖层面积 | 是 | 是 | 是 | 是 |
|
|
lineonareaoverlayer公司 | 是 | 是 | 是 | 是 |
|
|
线性叠加器 | 是 | 是 | 是 | 是 |
|
|
点覆盖层 | 是 | 不 | 是 | 是 |
|
|
点在线覆盖器 | 是 | 是 | 是 | 是 |
|
|
点覆盖层 | 是 | 不 | 是 | 是 |
|
|
交角 | 是 | 是 | 是 | 是 |
|
|
剪刀 | 是 | 是 | 不 | 不 |
|
|
邻居 | 是 | 在某些情况下 | 不 | 是 |
|
|
拓扑生成器 | 是 | 是 | 不 | 是 |
|
|
*注:曲线包括线、弧和路径。面积包括多边形、甜甜圈和椭圆。
空间分析可能是处理密集型的,特别是当涉及大量特征时。如果您想调优工作区的性能,这是一个很好的起点。
当有多种方法配置工作空间以达到相同的目标时,通常最好选择最适合您的任务的transformer。例如,在比较地址点和构建多边形时,有几种方法可以实现它。
第一个例子使用SpatialFilter测试点是否落在多边形内,结果是正确的。但是SpatialFilter是一个相当复杂的转换器,能够测试多种条件并接受多种几何类型。它没有针对我们在这里分析的特定空间关系进行优化。
SpatialFilter:
第二个例子使用了一个PointOnAreaOverlayer,后面是一个测试器。特性输出与第一种方法相同,但是转换器针对此特定任务进行了优化。处理时间上的差异是巨大的——从第一个配置的54.3秒减少到第二个配置的13.7秒。
用一个点覆盖层和一个测试:
如果性能是您工作空间中的一个问题,那么可以根据几何图形来寻找替代方法。
配置
输入端口
如果一个特征被路由到底座以及候选人输入端口,然后将特性与自身进行比较,因为它们都是底座和候选人是的。
如果输入设置为仅限候选人,不会有底座港口。全部候选人将与所有其他候选人,但不会与自己相比。
根据转换器中定义的参数从匹配的候选对象接收属性,并将其作为输出。
如果与定义的条件匹配,则提供属性的特性。候选人不是输出。
在Candidate -Only模式中(只将输入参数设置为Candidate),候选者将同时作为Candidate和Base,因此还将接收来自匹配的属性并输出。
输出端口
如果一个候选人特征被发现,然后所有的属性从最近的候选人特性被添加到底座功能和底座的输出匹配的港口。
如果生成列表是启用的,是所有属性还是从多个匹配中选择的属性候选人可以添加一个新的吗列表属性是的。
属性中添加了其他几个属性底座的输出之前的特性匹配的端口:
属性 | 说明 |
---|---|
_距离 | 从基到匹配候选对象的距离 |
_角度 | 最近的插值基点和最近的插值候选点之间的角度。 |
_最近的基 | 基特征上最近的插值点相对于候选特征的坐标。 |
_最近的候选人 | 候选特征上最近的插值点相对于基特征的坐标。 |
_候选角 | 从候选特征中的下一个顶点的角度(_closest_candidate_x,_closest_candidate_y)。如果(_closest_candidate_x,_closest_candidate_y)等于候选特征的最后一个顶点,则候选角度将是从候选特征的前一个顶点到(_closest_candidate_x,_closest_candidate_y)的角度。 |
_候选标签角度 | 调整了候选角度,以便将其用作文本旋转,文本将从左向右运行。此角度保证大于或等于270小于360,或大于或等于0小于或等于90。 |
所有的角度都是从水平方向逆时针方向测量的角度。角度定义不明确的地方(例如,当a候选人多边形包含在a中底座,它们被设置为0。
如果没有候选人特征被发现在最大距离内,则底座属性将不改变输出UnmatchedBase港口。
候选人不属于最大距离任何底座的输出UnmatchedCandidate港口。候选人特征超出了要查找的邻居数这里也将输出参数(只使用匹配的前x个数字)。如果生成列表是不启用的,那么有什么功能呢最大距离,但不是最接近的,将从输出UnmatchedCandidate港口。这是因为它们没有被以任何方式使用;它们的属性根本没有合并到基础上。
参数
通过...分组 | 默认行为是使用整个功能集作为组。此选项允许您选择定义要形成哪些组的属性。 |
集团By模式 | 结束处理(阻塞):这是默认的行为。处理将只发生在这台变压器全部一次输入的情况下。 组更改时处理(高级):该变压器会为了处理输入组。组的值通过对输入流参数的变化会触发对当前累积组的处理。这可能会提高整体的速度(尤其是与多个,大小相等的团体),但可能导致意外的行为,如果输入组没有真正有序。
使用注意事项通过...分组
有两个典型的使用原因组更改时处理(高级)是的。第一种是要分组处理的传入数据(已经按顺序排列)。在这种情况下,结构根据使用情况而不是性能考虑来指定组。 第二个可能的原因是潜在的业绩增长。 当数据已经排序(或使用SQL排序依据声明)由于FME需要较少的工作。如果数据需要排序,可以在工作区中对其进行排序(尽管增加的处理开销可能会抵消任何收益)。 根据数据流的数量排序变得更加困难。多个数据流几乎不可能按正确的顺序排序,因为所有特性都匹配通过...分组值必须在属于下一个组的任何特征(任何特征类型或数据集)之前到达。在这种情况下,使用通过...分组具有结束处理(阻塞)可能是等效和简单的方法。 注:多个特征类型和来自多个数据集的特征通常不会以正确的顺序自然出现。 与许多场景一样,使用数据在工作区中测试不同的方法是确定性能提升的唯一确定方法。 |
输入 | 基地和候选人- 接受两个基地和候选特征(默认值)。如果一个功能被路由到基准站和候选输入端口,然后特点,因为他们都是一个基地和候选人将被比作自己。 仅限候选人- 只接受候选特征。将不会有基本输入端口。所有候选人将与其他候选人相比,但也不会比他们自己。 |
要查找的邻居数 | 将被包括在指定名单的候选特征的最大数量生成列表参数。最近的候选特征将被列入名单。 如果该值为0或空白,没有任何限制将被列入名单的邻居的数量。 |
最大距离 | 的最大距离在输入要素坐标的单位测量。 在指定的列表生成列表包含了所有被基地的最大距离内的候选特征。正是在最大距离的候选人将被列入最近的候选名单。 如果该值为0或空白,没有限制将在最大距离放。 |
插入顶点在基体特征 | 如果是,然后(_closest_base_x,_closest_base_y)将被插入到底座功能,如果插入明确定义。例如,如果一个候选人多边形包含在a中底座多边形,插入就不会发生。 如果是中,_closest_base_x,_closest_base_y顶点将被插入到所述底座功能以及加入作为一个属性。此选项仅适用于线,多边形,路径,圆弧,椭圆,和甜甜圈。 |
治疗措施为 | 加入到基础措施可以被视为离散的的,这意味着它们将被从最近已知的度量值采取,或连续的,这意味着他们将距离最近的点进行插值。 |
考生首先 | 如果是,那么所有候选人功能必须是之前任何输入底座特征。如果一个候选人特征是输入后底座功能与此选项设置为是中,候选人功能将所有计算中被忽略。 |
将多边形视为 | 线:一个多边形,环形,椭圆形或将被视为一个线(即,它的边界线)的向后兼容性。 区域:一个多边形,环形,椭圆形或将被视为一个区域,以及与该区域重叠的任何几何形状将是0的距离从该区域离开。 |
替换候选措施/ Z | 如果候选人是一条线,和底座是一个点,这将规定,如果措施和Z值应该从候选基地被复制。的z值将在所述候选的点是最接近基座等于内插z值。这些措施将要么被内插,或者使用最近的已知测量值,这取决于治疗措施为参数。 如果候选人是不是一条线,或基本不是一个点,这个不会有任何效果。 |
如果基本特征和候选特征上的属性共享相同的名称,但不是以口蹄疫,然后它们被认为是冲突的。
积累方式 | 合并候选:基本功能将保留其自身的所有不冲突属性,并另外获取候选功能具有的任何不冲突属性。此模式将基于解决冲突参数。 候选前缀:基本功能将保留自己所有的属性。此外,该基地将收购反映了候选特征的属性的属性,与前面带名字首参数。 只使用候选:基本功能将其所有属性去掉,除了下手几何属性口蹄疫_是的。然后,所有从一个(任意的)候选特征的属性将被放置到基座上。 |
解决冲突 | 使用基:如果发生冲突,将保留基值。 使用候选项:如果发生冲突,候选的值将被转印到基材。 |
字首 | 为了防止候选属性被忽略,因为BASIC属性已经存在,您可以可选地指定一个前缀,该前缀在添加到基类时将被应用于每个候选属性。仅当积累方式是候选前缀是的。 |
生成列表
启用后,将列表属性添加到匹配的输出特性。当要查找的邻居数大于1。
最近的候选人名单名称 | 为列表输入属性的名称。 注:列表属性不从工作台的输出模式访问的,除非它们正在使用对它们进行操作的变压器,例如第一处理监听器要么列表连接器是的。或者,属性Exposer可以使用。 |
添加到列表 | 所有属性:所有属性将被添加到输出的功能。 所选属性:启用所选属性参数,其中特定的属性可被选择用于包含。 |
所选属性 | 当“添加到列表”设置为“选定属性”时启用。指定要包含的属性。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来指定变压器参数。一些转换器中还提供了更高级的功能,如高级编辑器和算术编辑器。要访问这些选项的菜单,请单击在适用参数旁边。有关详细信息,请参见变压器参数菜单选项是的。
定义值
有几种方法可以定义要在变压器中使用的值。最简单的方法是简单地输入一个值或字符串,它可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作区参数。有许多工具和快捷方式可以帮助构造值,通常可以从值字段旁边的下拉式上下文菜单中获得。
使用文本编辑器
文本编辑器提供了一种从各种数据源(如属性、参数和常量)构造文本字符串(包括正则表达式)的方便方法,在这些数据源中,结果直接在参数内部使用。
使用算术编辑器
算术编辑器提供了一种从各种数据源(如属性、参数和特征函数)构造数学表达式的方便方法,在这些数据源中,结果直接在参数内部使用。
条件值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包含许多函数、字符、参数等,无论是直接在参数中输入还是使用其中一个编辑器构造。
参考
加工行为 |
|
特征保持 |
是 |
依赖关系 | |
FME许可级别 | FME专业版及以上 |
别名 | 邻域查找器 |
历史 | |
类别 |
FME社亚搏国际在线官网区
fme社区是演示亚搏国际在线官网、操作指南、文章、常见问题解答等的场所。获取问题的答案,向其他用户学习,并对新功能进行建议、投票和评论。
搜索关于邻居的所有结果在FME社区。亚搏国际在线官网
示例可能包含根据开放式政府许可证获得许可的信息-温哥华