谢尔本奇纳利泽
使用Sherbend算法通过在分析线条弯曲的基础上减少不必要的细节来简化线条。
Sherbend是一种基于约束的算法,它保留输入数据中直线和点的空间关系。Sherbend算法通过使用直径用于选择要泛化的折弯的参数。泛化过程可能会消除,减少,或者结合弯曲,解决冲突时。
概括一条直线上的弯板的策略如下:
- 计算参考圆的面积,其直径由直径参数。
- 对于每一行,确定弯板的位置。
- 对于每个弯板,计算它的周长。下一步,构建一个周长等于该周长的圆。最后,确定弯板的调整区域,这是圆面积的75%。
- 对于每个弯板,如果弯板的面积低于参考圆的面积,并且满足空间约束,则对弯板进行归纳。
- 重复上述步骤,直到不再有可归纳的弯曲。
输入端口
用于泛化的输入行。假定它们不与另一条直线或点自相交或相交。
侧面度约束的输入点。当启用“侧面度”约束时,如果这些点会改变弯板和点之间的空间关系,那么这些点将阻止弯板泛化。
输出端口
广义线。
弯曲那个,如果是广义的,将违反所选约束。
无效的输入功能将输出到无效端口。
参数
变压器
只有同一组中的线条和点需要进行约束检查。如果没有指定组,所有线条和点都放置在同一组中。
注:并行处理如何与FME一起工作:请参见关于并行处理有关详细信息。
此参数确定Transformer是否应跨并行进程执行工作。如果启用了,将为指定的每个组启动一个进程分组参数。
并行处理级别
参数 | 进程数 |
---|---|
无并行性 | 1个 |
最小 | 核心处理器,或CPU,是执行数学计算的计算机的物理部分。它是计算机系统中最重要的部分。传统的处理器只有一个核心,意思是在任何给定的时间,仅执行一组计算。如果处理器是双核的,这意味着单芯片包含两个处理器的硬件,现在称之为核心,以区别于单芯片,同时运行,并排。(来源:http://www.ehow.com/facts_5730257_computer-core-processors_u.html)/二 |
中等 | 核心的确切数量 |
好斗的 | 核心X 1.5 |
极端 | 核心X 2 |
例如,在四核机器上,最小并行性将导致两个同时的FME过程。8核机器上的极端并行性将导致16个同步进程。
您可以尝试使用此功能,并在Windows任务管理器和工作台日志窗口中查看信息。
是的:此变压器将按顺序处理输入组。更改的值分组依据输入流上的参数将触发对当前累积组的批处理。如果群体较大/复杂,这将提高整体速度,但是,如果输入组没有真正排序,则可能会导致不需要的行为。
不:这是默认行为。只有当所有输入都存在时,处理才会在此变压器中进行。
参数
此参数指定参考圆的直径(在本文件开头描述)。它大致描述了弯曲的宽度,低于此宽度弯曲将被广义化。不同的线可以具有指定为属性的不同直径。直径越大,更可能的弯曲将被普遍化。
启用空间约束,仅应用于同一组中的线条和点。
- 无:将不应用约束。
- 自相交防止线与自身相交,假设输入线在进入Sherbendgeneralizer时不自相交。
- 自我,直线交叉点防止一条线与自身或另一条线相交,假设在进入Sherbendgeneralizer时没有输入线自相交或与另一条线相交。
- 自我,直线交叉,偏性,请除了保持不相交的线,保持所有线条和点的相对位置。例如,如果一条线完全在另一条线的右侧,在泛化过程之后,该行将完全保留在另一行的右侧。
在这个图表中,蓝色弯曲不能被概括,因为它会违反“侧面性”约束:
在这个图表中,蓝色弯板不能通用化,因为它会违反“自相交”约束:
这个参数,如果设置为不,请将重新排序(旋转)每条闭合线的坐标列表,以尝试提高泛化的质量。为了保持连接点的连通性,变压器必须保证每条线路的起止坐标保持不变。因此,如果重要的是将第一个和最后一个坐标的位置保持在闭合线上(可能是因为它们位于接合点上)。此参数应设置为是的.
如果此参数设置为是的,请线条的端点将不会移动。此行为允许保留连接点连接。
示例
在这个例子中,弯曲度减小(绿色=输入,红色=输出):
在这个例子中,消除弯曲:
在这个例子中,三个弯板组合成一个:
下图说明了现实数据集中单行上的泛化过程:
此示例说明了一组轮廓上的泛化过程:
附加信息
线条泛化的目的是减少线条上的细节,以较小的比例进行表示。而著名的道格拉斯-派克算法,擅长减少一条直线上的点数,它不擅长删除行中不必要的细节。这个推广者Transformer包含一系列参数下的算法,包括Douglas-Peucker算法。
相比之下,Sherbend算法非常适合于自然特征(轮廓,湖泊,河流,树木繁茂的地区,因为它保留了线条的一般形状。更多的人,如果启用了空间约束,输入实体之间的空间关系保持不变。舍本德前后常采用小公差的道格拉斯-派克算法,进一步减少点数,进一步达到推广的目的。
性能和使用说明
- Sherbend算法迭代地检测和归纳弯板,然后检测并解决空间冲突。从一个迭代得到的广义线被传递到下一个迭代,直到这些线不能进一步广义化为止。由于这个迭代过程,算法是时间密集型的,这是对提高推广准确性和质量的权衡。
- 约束检查是一个非常耗时的操作。仅在必要时使用约束。
- 要独立地概括每个特性,考虑使用推广者变压器。
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来指定变压器参数。更高级的功能,例如高级编辑器和算术编辑器,在一些变压器中也有。要访问这些选项的菜单,点击在适用参数旁边。更多信息,看见变压器参数菜单选项.
变压器类别
搜索FME知识中心
在上搜索有关此变压器的示例和信息FME知识中心.