一些转换器的用法和注意事项(八)——Clipper转换器

原文发布时间:2010-11-25

作者:毛毛虫


Clipper裁剪转换器是我们非常熟悉且常用的一个转换器,对于里面参数的具体含义我没有仔细看过,今天详细看了下,在这里了跟大家探讨下:

一些转换器的用法和注意事项(八)——Clipper转换器

输入端口:

CLIPPER:被裁剪的范围,可以是任何面要素(polygonsdonutsaggregate polygons/donuts)。任何非面裁剪要素在日志中有警告记录并被舍弃。

CLIPPEE:被裁减的要素。


输出端口:

INSIDE:完全在Clipper内部的要素。


CLIPPED_INSIDE(对于矢量数据):CLIPPER相交的CLIPPEE被打碎为多个部分,每个在CLIPPEE内部的部分通过


CLIPPED_INSIDE端口输出,在外部的部分通过CLIPPED_OUTSIDE端口输出。如果一个要素反复的进出CLIPPER面,INSIDE OUTSID部分的聚合会被创建,通过各自的端口输出。


CLIPPED_INSIDE (对于栅格数据):如果CLIPPEE要素是栅格,每个与CLIPPEE相交的CLIPPER会产生通过CLIPPED_INSIDE的输出。如果Preserve Clippee Extents被设置为NoCLIPPED_INSIDE栅格的范围等于在CLIPPEE内部的CLIPPER栅格的范围,且栅格的行列数会减少。否则,CLIPPED_INSIDE栅格的分辨率和范围会与CLIPPEE一致。另外,与所有CLIPPER不相交的CLIPPEE通过CLIPPED_OUTSIDE端口输出,CLIPPED_OUTSIDE栅格的输出与这些CLIPPEE一致。


OUTSIDE: CLIPPEE要素完全在CLIPPER的外部。


INSIDEOUTSIDECLIPPEE为在CLIPPER边界上的点要素时,是在内部还是外部的端口输出依赖Clippees on Clipper Boundary参数的设置。CLIPPEE为与CLIPPER边界完全共线的线要素时,是在内部还是外部的端口输出依赖Clippees on Clipper Boundary参数的设置;如果线性要素只有一部分与CLIPPER边界共线,当穿过CLIPPER边界时会被打断。

参数设置:

一些转换器的用法和注意事项(八)——Clipper转换器


Group By :如果选择了Group By 属性,要素只被与Group By 属性值相同的要素裁剪。


Clipper Type:这个参数指定是只有一个CLIPPER要素被使用还是所有的CLIPPER要素被使用,如果选择Clippers First,那么Clipper假设所有的CLIPPER要素在所有的CLIPPEE要素之前进入转换器,任何在第一个CLIPPEE要素之后的CLIPPER要素都会在日志中记为警告并被舍弃。

一些转换器的用法和注意事项(八)——Clipper转换器

选择看不同的参数后,得到不同的输出效果:

一些转换器的用法和注意事项(八)——Clipper转换器


如果在导航面板中,Clipper位于Clipee之上,也就是Clipee先输入,如图:

图片已丢失

则选择Clippers First可能不会进行裁剪,结果如下:

一些转换器的用法和注意事项(八)——Clipper转换器


在导航面板中选择数据集,调整位置,如图:

一些转换器的用法和注意事项(八)——Clipper转换器

则输出结果如下:

一些转换器的用法和注意事项(八)——Clipper转换器

Merge Attributes, Merge Attribute Prefix:如果Merge Attributes参数是有效的,被裁剪的CLIPPEE会接收裁剪它的要素的属性。这种情况下,Merge Attribute Prefix参数用于给CLIPPER的属性一个前缀。这个参数设置解决了如何把Clipper的属性添加到Clipper上的问题。


Clippees on Clipper Boundary:这个参数指导clippee要素完全落在clipper边界上的动作,Treat as Inside是指落在clipper边界上的要素在INSIDE端口输出;Treat as Outside是指落在clipper边界上的要素在OUTSIDE端口输出;Treat as Inside and Outside是指落在clipper边界上的点/线要素在INSIDEOUTSIDE端口输出都会输出。


Create Aggregates:如果这个参数设置为No,被裁剪为多个部分的要素不会被聚合,每一部分会作为一个独立的要素输出。默认的这个选项是Yes,这就是为什么输入要素没有聚合类,输出会有聚合的原因,根据需要做适当选择。

一些转换器的用法和注意事项(八)——Clipper转换器

Preserve Clippee Extents:如果这个参数被设置为NoCLIPPED_INSIDE栅格的范围等于CLIPPER CLIPPEE内部的范围,但是行列数会减少;反之,CLIPPED_INSIDE端口输出的栅格的分辨率和范围会与CLIPPEE一致。


Geometry Handling:如果在工作空间中的高级设置中Geometry Handling被设置为Enhanced,弧(arcs and和椭圆( ellipses)会不被打散的裁剪。例如,裁剪一个半椭圆的结果是一个弧和连接这个弧的两个端点。否则所以的弧和椭圆会如之前的裁剪被打散。


使用说明:这个转换器用于矢量和栅格数据;对栅格数据的波段和调色板选择没有影响。