合并结果 (Data Management)
摘要
将一个或多个地理处理结果合并到指定的输出文件夹中。
如果指定的文件夹不存在,将创建一个新文件夹。
用法
执行工具时,执行的相关信息会作为结果写入 结果 窗口。可将结果以拖拉方式直接从结果 窗口添加到输入中。或者,将已经另存为结果文件 (.rlt) 的结果添加到输入中。
选中将数据转换为文件地理数据库时
- 对于每个唯一数据源,都会在合并文件夹或包中创建一个文件地理数据库。
- 压缩栅格和矢量格式会转换为一个文件地理数据库,并且原来的数据压缩将会丢失。
- 不会合并企业级地理数据库数据。要将企业级地理数据库数据转换为文件地理数据库,请选中包括企业级地理数据库数据,而不是仅引用该数据。
未选中将数据转换为文件地理数据库时
- 将保留输入图层的数据源格式。例外格式包括诸如个人地理数据库 (.mdb) 数据、VPF 数据和基于 Excel 电子表格或 OLEDB 连接的表等格式。64x 环境下不支持这些格式,因此始终会将其转换为文件地理数据库。
- ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。ArcGIS 本身不能写出这些格式。始终将其转换为文件地理数据库栅格以提高效率。
- 在输出文件夹结构中,文件地理数据库将合并到一个特定于版本的文件夹中,并且所有其他格式都将合并到 commonData 文件夹中。
- 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。
对于包含连接或参与关系类的图层,所有连接或相关的数据源都将合并到输出文件夹。
对于要素图层,范围参数用来选择将要合并的要素。对于栅格图层,范围参数用来裁剪栅格数据集。
有些数据集引用其他数据集。例如,您可能有一个引用四个要素类的拓扑数据集。引用其他数据集的数据集示例还包括“几何网络”、“网络”和“定位器”。基于这些数据集类型合并或打包图层时,参与数据集也将被合并或打包。
如果仅选中方案参数,则将仅合并或打包输入和输出数据源的方案。方案是由字段和表定义、坐标系属性、符号系统、定义查询等组成的要素类或表的结构或设计。不会合并或打包数据或记录。
不支持仅方案的数据源不能进行合并和打包。如果选中仅方案参数,并且此工具遇到“仅方案”不支持的图层,则会显示一条警告消息,并会跳过该图层。如果仅方案不支持指定的唯一图层,则该工具将失败。
语法
参数 | 说明 | 数据类型 |
in_result |
要合并的地理处理结果。 添加到输入中的结果可以是结果文件 (.rlt),也可以是结果 窗口中的结果。 | File; String |
output_folder |
此输出文件夹将包含合并的工具和数据。 | Folder |
convert_data (可选) |
指定是将输入图层转换为文件地理数据库,还是保留其原始格式。
| Boolean |
convert_arcsde_data (可选) |
指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。
| Boolean |
extent (可选) |
使用格式 X-Min Y-Min X-Max Y-Max 在范围参数中手动输入坐标指定范围。要使用特定图层的范围,请指定图层名称。
| Extent |
apply_extent_to_arcsde (可选) |
确定指定范围是应用到所有图层,还是仅应用到企业级地理数据库图层。
| Boolean |
schema_only (可选) |
指定是否仅合并或打包输入和输出数据集的方案。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何在 Python 窗口中使用合并结果 (ConsolidateResult) 工具。
import arcpy
arcpy.ConsolidateResult_management(r'C:\ResultFiles\BufferPoints.rlt', r'C:\project\Buffer_Pnts', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL","ALL")
查找位于指定文件夹中的所有结果文件,然后分别为这些文件创建独立的合并文件夹。
# Name: ConsolidateResultEx1.py
# Description: Find all the Result files that reside in a specified folder and create a consolidated folder for each layer file.
# import system modules
import os
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/ResultFiles"
# Loop through the workspace, find all the result files (.rlt) and create a consolidated folder for each
# result file found using the same name as the original result file.
for rlt in arcpy.ListFiles("*.rlt"):
print "Consolidating " + rlt
arcpy.ConsolidateResult_management(rlt, os.path.splitext(rlt)[0], "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")