描述
通过添加或删除变量或维度来编辑多维栅格。
使用方法
使用此工具可编辑多维栅格。该工具不会生成新的数据集;但是会修改多维栅格。要创建数据集,先使用子集多维栅格工具或复制栅格工具,然后再使用此工具进行其他编辑。
目标和输入栅格必须采用云栅格式 (CRF)。目前,此工具不支持其他格式。要将多维镶嵌数据集或多维栅格图层转换为 .crf 文件,使用复制栅格工具,选择 CRF 作为输出格式,然后选择将数据集处理为多维。
管理模式参数用于设置要执行的编辑操作的类型。共有六个选项:
- 添加维度 - 向数据集添加维度。必须提供维度的名称、描述和单位。添加维度后,可以追加具有相同维度的另一个多维数据集中的剖切片。
如果目标栅格是标准 .crf 栅格文件,添加维度会使目标成为多维栅格并在栅格属性中添加多维信息。
- 移除维度 - 从数据集中移除维度。如果只有一维,则数据集中只能有一个剖切片。
- 追加剖切片 - 将一个或多个输入多维栅格中的剖切片添加到目标多维栅格中剖切片堆栈的末尾。多维栅格中的变量名称和维度名称必须完全匹配,并且栅格之间不能存在重叠的维度值。追加的剖切片的维度值必须位于目标多维栅格中维度值的末尾之后。
- 替换剖切片 - 从目标多维栅格中删除剖切片,并将其替换为另一个多维栅格中的剖切片。多维栅格中的变量名称和维度名称必须完全匹配,并且仅替换重叠的剖切片。
- 追加变量 - 将一个或多个输入多维栅格中的所有变量添加到目标多维栅格中变量列表的末尾。如果变量名称已存在于目标多维栅格中,则不会进行添加。如果多个输入多维栅格包含同名的变量,则列出的第一个输入栅格中的变量将添加到目标多维栅格。
- 删除变量 - 从目标多维栅格中删除一个或多个变量以及相应的剖切片。多维栅格中必须至少剩余一个变量。
- 添加维度 - 向数据集添加维度。必须提供维度的名称、描述和单位。添加维度后,可以追加具有相同维度的另一个多维数据集中的剖切片。
输入数据必须具有完全相同的空间参考、空间范围和像元大小,才能使用追加剖切片、替换剖切片或追加变量选项。
语法
arcpy.md.ManageMultidimensionalRaster(target_multidimensional_raster, {manage_mode}, {variables}, {in_multidimensional_rasters}, {dimension_name}, {dimension_value}, {dimension_description}, {dimension_unit}, {update_statistics}, {update_transpose})
参数 | 说明 | 数据类型 |
target_multidimensional_raster | 要修改的云栅格格式 (.crf) 的多维栅格。 | Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File |
manage_mode (可选) | 指定将在目标栅格上执行的修改的类型。
| String |
variables [variables,...] (可选) | 将在目标多维栅格中修改的一个或多个变量。如果要执行的操作是对现有变量进行修改,则此参数为必需项。 如果未指定变量,则将修改目标多维栅格中的第一个变量。 | String |
in_multidimensional_rasters [in_multidimensional_rasters,...] (可选) | 包含要添加到目标多维栅格的剖切片或变量的多维栅格数据集。当 manage_mode 设置为 APPEND_SLICES、REPLACE_SLICES 或 APPEND_VARIABLES 时,此参数为必需项。 | Raster Layer; Image Service |
dimension_name (可选) | 要添加到栅格属性的新维度的名称。如果将 manage_mode 设置为 ADD_DIMENSION,则此参数为必需项。 | String |
dimension_value (可选) | 要添加的维度的值。该值可以是单个值,也可以是值范围。对于值范围,提供以逗号分隔的最小值和最大值。例如,对于新的高度维度,输入 0,10 时生成的维度的第一个剖切片包含前 10 米高度的信息。 如果将 manage_mode 设置为 ADD_DIMENSION,则此参数为必需项。 | String |
dimension_description (可选) | 为了元数据将添加到栅格属性的新维度的描述。将 manage_mode 设置为 ADD_DIMENSION 时,会启用此参数。 | String |
dimension_unit (可选) | 为了元数据将添加到栅格属性的新维度的单位。将 manage_mode 设置为 ADD_DIMENSION 时,会启用此参数。 | String |
update_statistics (可选) | 指定是否将为多维栅格数据集重新计算统计数据。
| Boolean |
update_transpose (可选) | 指定是否将为多维栅格数据集重新构建转置。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
updated_target_multidimensional_raster | 修改的多维栅格。 | 栅格图层 |
代码示例
本示例将剖切片追加到多维栅格的末尾并更新统计数据。
# Import system modules
import arcpy
# Append slices from two multidimensional rasters with temperature data
arcpy.md.ManageMutidimensionalRaster(
"C:/data/temp1980_1990.crf", "APPEND_SLICES", "Temp",
["C:/new_data/temp1991.crf", "C:/new_data/temp1992.crf"],None,
None,None, None, "UPDATE_STATISTICS")
本示例将替换剖切片,添加变量,然后向目标多维栅格添加维度。
# Import system modules
import arcpy
# Define input parameters
target_multidimensional_raster = "C:/data/hycom.crf"
manage_mode_replace = "REPLACE_SLICES"
manage_mode_append = "APPEND_VARIABLES"
manage_mode_newDimension = "ADD_DIMENSION"
variables = "water_temp"
replace_multidimensional_rasters = "C:/new_data/new_hycom1985.crf"
salinity_multidimensional_raster = "C:/data/salinity.crf"
dimension_name = "Depth"
dimension_value = "0,5"
dimension_description = "Depth at 5m increments"
dimension_unit = "meter"
update_stats = "UPDATE_STATISTICS"
update_transpose = "UPDATE_TRANSPOSE"
# Replace existing slices with new slices
arcpy.md.ManageMutidimensionalRaster(target_multidimensional_raster,manage_mode_replace,
variables, replace_multidimensional_rasters)
# Append salinity variable
arcpy.md.ManageMutidimensionalRaster(target_multidimensional_raster, manage_mode_append,
'', salinity_multidimensional_raster)
# Add a new dimension, depth, for the water temperature variable
# Depth will be measured in 5 meter increments
arcpy.md.ManageMutidimensionalRaster(target_multidimensional_raster, manage_mode_newDimension,
variables, None, dimension_name, dimension_value, dimension_description, dimension_unit,
update_stats, update_transpose)
本示例将从单剖切片多维栅格中移除维度。
# Import system modules
import arcpy
# Define input parameters
target_multidimensional_raster = "C:/data/precip.crf"
manage_mode = "REMOVE_DIMENSION"
# Remove dimension to make input data dimensionless
arcpy.ManageMultidimensionalRaster_md(target_multidimensional_raster,
manage_mode)
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是