NEIGHBORFINDER转换器说明

原文发布时间:2010-12-05

作者:毛毛虫

NeighborFinder转换器及其属性如下图所示:


该转换器找出对于'base'要素最近的'candidate'要素,复制候选要素的属性到base要素上。

注意事项

这个转换器只作用于二维几何,如果输入一个三维几何,会忽略z坐标。

这个转换器对点、线、弧、椭圆、多边形和洞完全支持,对于其他几何类型的支持有限制。多边形、椭圆和洞,根据用户的选择可能作为线或面处理。

扫描二维码关注公众号,回复: 2075306 查看本文章

输入端口

如果要素通过BASE CANDIDATE输入端口,那么将会被作为BASE CANDIDATE要素和它自身对比。如果只连接到CANDIDATE端口的要素,没有连接BASE端口(就如下面所示),那么所有的CANDIDATE要素会与其它CANDIDATE要素对比,但是不跟它自身比较。



输出端口

如果在最大距离内没有找到CANDIDATE要素,那么BASE要素会通过UNMATCHED_BASE端口输出。

如果CANDIDATE要素不在任何BASE要素设定的最大距离内,会通过UNMATCHED_CANDIDATE端口输出。

如果找到一个CANDIDATE要素,那么这个最接近的CANDIDATE要素的所有属性都会被添加到BASE要素上,BASE要素通过MATCHED输出。另外,其它几个属性在通过MATCHED端口输出前添加到BASE要素上。


属性

描述

 _distance

从BASE到与之匹配的CANDIDATE的距离

 _angle

最近的插入的BASE点和最近的插入的CANDIDATE点间的角度

_closest_base_x,   _closest_base_y

在BASE要素上相对于CANDIDATE要素的最接近的插入的点的坐标

_closest_candidate_x, _closest_candidate_y

在CANDIDATE要素中最接近BASE要素的插入的点的坐标

 _candidate_angle

从点(_closest_candidate_x, _closest_candidate_y)到CANDIDATE要素中最近的点的角度。如果(_closest_candidate_x, _closest_candidate_y)等于CANDIDATE要素的最后一个顶点,那么candidate_angle是从CANDIDATE要素前一个顶点到点(_closest_candidate_x, _closest_candidate_y)的角度

 _candidate_label_angle

调整_candidate_angle,使得它可以作为文本进行旋转,文本会从左到右旋转。这个角度保证是大于或等于270度并小于360度,或大于或都等于0度且小于或等于90度。

Parameters

Maximum Distance

这个参数是以输入要素的坐标单位来度量的。这个列表包含了所有在这个base的最大距离内的候选要素。为了得到从给出的BASE到所有CANDIDATE要素的距离,对这个参数要设置一个很大的值,并需要指定Close Candidate List Name

Insert Vertex on BASE Feature

如果Insert Vertex on BASE feature被设置为Yes,如果不能明确的定义插入,那么(_closest_base_x, _closest_base_y)会被插入到BASE要素。例如,如果CANDIDATE多边形包含在BASE多边形内,不会发生插入。

 Candidates First

如果被设置为Yes,那么所有的CANDIDATE要素必须在所有BASE要素之前输入。如果一个CANDIDATE要素在BASE要素之后输入,这个选项被设置为Yes,那么CANDIDATE要素会在所有的计算中忽略。也就是这时要素的是否会被计算与导航面板中数据集的次序相关。



Close Candidate List Name

如果被指定,列表会建立在MATCHED输出端口,包括了所有来自在BASE要素的最大距离内的CANDIDATE要素的属性。

Tested Candidate List Name
如果被指定,一个列表会在MATCHED输出端口上建立,包括了所有来自在BASE要素的约束矩形的最大距离内的CANDIDATE要素的属性。

Treat Polygons As (这是FME2010新增的选项)

  • Lines:为了向后兼容,多边形、洞或椭圆会被作看作线(也就是说,它的边界线)。
  • Areas:多边形、洞或椭圆会被作为面对待,人们与这个面重叠的几何到这个面的距离都是0

 

Geometry Handling

如果在Advanced设置中把Geometry Handling在工作空间中被设置为Enhanced,弧和椭圆在距离计算中会考虑它们的边界;否则,会使用它们的中点。

例如: 

水平方向上所有角度按逆时针以度测量。如果角度不能明确的定义(例如,当一个CANDIDANTE多边形包含在一个BASE多边形中时),会被设置为0


如下图:蓝色的点为CANDIDANTE端口输入的要素,棕色的点为BASE端口输入的要素。



下图中绿色的区域是把CANDIDANTE要素做与Maximum Distance 选项中的值相同的缓冲之后的效果,紫色的为在MATCHED(即找到CANDIDANTE要素的BASE要素)端口的输出,红色的为在 UNMATCHED_BASE(即没有找到CANDIDANTE要素的BASE要素)端口的输出。






猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80963628
今日推荐