成对相交工具的工作原理

通过使用成对比较技术,成对相交工具可计算两个要素图层或要素类间要素的相交。两输入的公共(即相交)要素或要素的一部分会被写到输出要素类中。

比较相交和成对相交

使用成对相交,第一个输入中的某一要素可以与第二个输入中的每一个要素相交。这与相交工具的工作原理本质上不同。使用相交,无论要素属于哪个输入图层,所有要素均可相交。

相交工具

  • 可以相交多个要素图层或要素类
  • 查找所有输入要素的相交,无论其属于哪个输入要素图层,同时创建表示所有要素几何相交的拓扑结构

成对相交工具

  • 仅适用于两个输入要素图层或要素类
  • 从第一个输入要素图层中获取要素,使其与第二个输入图层中的各要素相交,每次一个,同时创建表示相交的新要素

相交工具

无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。因为所有相交均计算在内,输出可能会包括比所有合并输入要素数量更多的要素。还有许多情况,全部输入共包括数万个要素,但由于所有要素之间均存在着复杂叠加,所以输出包括数亿个要素。

例如,以下所示的两个要素图层。一个包括 10 个要素 - 点周围的缓冲区,另一个包括一个要素 - 一个方形。

输入 1

输入 1 包括 10 个叠加面要素,以 OID 标注。

输入 2

输入 2 - 1 面,以 OID 标注。

下图显示以上两个要素图层相交的结果。注意:无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。这会产生远超出原输入要素数量的要素。输出中的面(167 个要素)比合并输入中的面(输入总数为 11 个要素)多很多。这会增加相交工具中新要素的数量,根据输入中叠加的复杂程度,输出可能增长迅速。

相交输出
相交工具输出:167 个输出要素,以 OID 标注。

成对相交工具

使用成对相交工具,输出将更简单。每个输出要素都是输入 1 中的某一个要素与输入 2 中要素的相交。使用相交工具,输入 1 中要素间的相交将计算在内,而使用成对相交则不会。

成对相交输出
成对相交输出:10 个输出要素。

面输入和点输出

下图显示的是输出类型参数设置为时将两个面要素图层相交的结果。

使用相交工具,输出点要素是某一输入要素图层中的面与另一输入要素图层中的面边界的交点。

使用成对相交工具,输出点要素是某一输入要素图层中的面与另一输入要素图层中的面边界的接触点。不返回面相交点。

使用点输出相交面
使用点输出相交面
使用点输出成对相交面
使用点输出成对相交面

重要差别

性能

大量地相交叠加要素时,成对相交工具可以帮助您极大地提升性能。在叠加数量很少的简单情况下,使用成对相交工具可能并不会明显提高性能。

注:

请注意两种工具的输出非常不同。您可能需要尝试数据中的较小子集,以便分析输出并确定哪种工具更能满足您的分析需求。

相交工具是一种高度复杂的工具,用于查找输入中所有要素间的唯一重叠事件。考虑到此类操作的复杂性,相交极为有效并能良好扩展。如果您需要查找输入中所有要素间的唯一叠加事件,相交工具将是执行该作业的最佳工具。

使用哪些工具?

确定使用哪种工具是一个速度问题,并确定哪种输出适合您的分析。如果相交工具能够在合理的时间范围内执行完成并创建出适合您分析的输出,则继续使用该工具。

相反,如果相交工具执行了下列操作之一,则您也许想要使用成对相交工具进行调查(假设该工具创建的输出适合您的分析)。

  • 运行时间较长
  • 由于缺乏资源导致失败
  • 与输入要素的数量相比,创建出大量输出要素(例如,输入中包括数万或数十万个要素,而输出中包括数千万甚至数亿个要素)