衡量在ArcGIS Desktop中合并和追加之间的性能差异?


12

我经常发现自己不在乎我的工具是否产生新的要素类,但我确实在乎合并所有大型数据集需要花费多长时间。使用“合并”工具而不是“附加”工具来生成新要素类是否需要更长的时间,或者在性能方面,“合并”和“附加”是否基本相同?


2
一些轶事证据:我一直发现Merge更快,尤其是在处理大量功能时。
Devdatta Tengshe 2012年

但是当您预定义了域和子类型时,追加效果最佳。
Mapperz

Answers:


6

合并同时获取几何和属性,然后将整个数据集合并(合并)为新的要素数据集。 在此处输入图片说明

追加是将额外数据连接到现有数据集的好方法-它可以具有一些选项来控制要追加的要素的子类型。

http://resources.arcgis.com/zh-CN/help/main/10.1/index.html#//001700000055000000

关键区别是

如果指定了架构类型TEST,则输入数据集的架构(字段定义)必须与目标数据集的架构匹配,以便附加要素。如果指定了架构类型NO_TEST,则输入数据集架构(字段定义)不必与目标数据集匹配。但是,除非在“字段映射”控件中显式设置了映射,否则输入数据集中与目标数据集的字段不匹配的任何字段都不会映射到目标数据集。

subtype(子类型)(可选),用于将子类型分配给附加到目标数据集的所有新数据的子类型描述。

http://resources.arcgis.com/cn/help/main/10.1/index.html#//001700000050000000

在此处输入图片说明

您可能对“大型数据集的分块处理”感兴趣

http://resources.arcgis.com/cn/help/main/10.1/index.html#//01m10000000r000000


1
我知道工具之间的差异,但是我想知道这些差异是否会导致处理时间的重大差异。我通常在使用附加工具时使用NO_TEST,因为在附加/合并之前,请确保我的字段定义匹配。
MTerry 2012年

5

根据工具本身而非实际基准来获得以下答案:

合并工具会创建一个新的要素类,在将两个数据集填充到一起之前,它本身会花费一些时间。

带有TEST选项的附加工具假定两个数据集具有相同的字段(字段名称),并且将它们填充在一起而不必创建新的要素类(听起来更快)。

具有NO TEST选项的附加工具允许字段映射将可能具有不同字段名称的类似要素类组合在一起。这需要在幕后进行一些条件测试,这将花费更多时间。

随着数据集大小的增加,创建新fc所需的时间似乎微不足道。 唯一可以肯定的方法是对大型数据集进行一些基准测试,然后在此处发布答案!

我怀疑差异到底有多大,更多的是您最终想要从工具中获得什么(字段映射与新要素类对比无新要素类)


0

我只运行了所有三个变体。我总是组合相同的63个shapefile。每个shapefile包含通过RasterToPoint操作创建的大约63000个点。所有shapefile具有相同的属性表。

不同的变体需要以下时间才能编译:

  • 合并:13分钟57秒
  • 附加测试:8分34秒
  • 附加NO_TEST:9分12秒

似乎用TEST作为输入参数追加是最快的。显然,选择使用哪个附件不取决于速度,而是取决于如上所述的输入文件。

希望它是有用的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.