管理多维栅格 (多维)

摘要

通过添加或删除变量或维度来编辑多维栅格。

使用情况

  • 使用此工具可编辑多维栅格。 该工具不会生成新的数据集;但是会修改多维栅格。 要创建数据集,先使用子集化多维栅格工具或复制栅格工具,然后再使用此工具进行其他编辑。

  • 目标和输入栅格必须采用云栅格格式 (CRF)。 目前,此工具不支持其他格式。 要将多维镶嵌数据集或多维栅格图层转换为 .crf 文件,使用复制栅格工具,选择 CRF 作为输出格式,然后选择将数据集处理为多维。

  • 管理模式参数用于设置要执行的编辑操作的类型。 参数支持以下选项:

    • 添加维度 - 向数据集添加维度。 必须提供维度的名称、描述和单位。 添加维度后,可以追加具有相同维度的另一个多维数据集中的剖切片。

      注:

      如果输入 CRF 数据集不是多维栅格,则无法使用此工具创建多维栅格。 而是使用设置栅格属性工具来创建多维栅格。

    • 移除维度 - 从数据集中移除维度。 每个要移除的维度只能包含一个值。
    • 追加剖切片 - 将一个或多个输入多维栅格中的剖切片添加到目标多维栅格中剖切片堆栈的末尾。 多维栅格中的变量名称和维度名称必须完全匹配,并且栅格之间不能存在重叠的维度值。 追加的剖切片的维度值必须位于目标多维栅格中维度值的末尾之后。
    • 替换剖切片 - 从目标多维栅格中删除剖切片,并将其替换为另一个多维栅格中的剖切片。 多维栅格中的变量名称和维度名称必须完全匹配,并且仅替换重叠的剖切片。
    • 追加变量 - 将一个或多个输入多维栅格中的所有变量添加到目标多维栅格中变量列表的末尾。 如果变量名称已存在于目标多维栅格中,则不会进行添加。 如果多个输入多维栅格包含同名的变量,则列出的第一个输入栅格中的变量将添加到目标多维栅格。
    • 删除变量 - 从目标多维栅格中删除一个或多个变量以及相应的剖切片。 多维栅格中必须至少剩余一个变量。
    • 截断维度值 - 通过截断日期值或者选择开始值和结束值(如果维度值为范围)来修改维度值。

  • 截断单位参数用于指定将使用的日期和时间截断单位。 当 manage_mode 参数设置为 TRUNCATE_DIMENSION_VALUES维度名称参数设置为 StdTime 时,此参数为必需项。

  • 截断单位参数具有以下用于截断日期值的选项:小时分钟。 例如,如果时间维度值为 2013-03-19T12:30:00,则小时选项将截断小时后的值,从而得到维度值 2013-03-19T12:00:00;使用选项将得到维度值 2013-03-01T00:00:00。 仅当维度名称参数值基于时间时,此参数才适用。

  • 所有输入数据必须具有完全相同的空间参考、空间范围和像元大小,才能使用管理模式参数的追加剖切片替换剖切片追加变量选项。

参数

标注说明数据类型
目标多维栅格

将进行修改的 CRF 格式的多维栅格。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
管理模式
(可选)

指定将在目标栅格上执行的修改的类型。

  • 添加维度维度将添加到输入多维栅格中。
  • 追加剖切片输入多维栅格中的剖切片将添加到维度的剖切片的末尾。 这是默认设置。
  • 追加变量将添加输入多维栅格中的变量。
  • 替换剖切片在特定的维度值下,现有剖切片将替换为另一个多维栅格中的剖切片。
  • 删除变量一个或多个变量将从多维栅格中删除。
  • 移除维度单剖切片多维栅格将转换为无维度栅格。
  • 截断维度值将通过截断日期值或者选择开始值和结束值(如果维度值为范围)来修改维度值。
String
变量
(可选)

将在目标多维栅格中修改的一个或多个变量。 如果要执行的操作是对现有变量进行修改,则此参数为必需项。

如果未指定变量,则将修改目标多维栅格中的第一个变量。

String
输入多维栅格
(可选)

多维栅格数据集,其中包含将添加至目标多维栅格的剖切片或变量。 当将管理模式参数设置为追加剖切片替换剖切片追加变量时,此参数为必需项。

Raster Dataset; Raster Layer; Image Service
维度名称
(可选)

将在栅格属性中添加或移除的维度的名称。 当管理模式参数设置为添加维度截断维度值时,此参数为必需项。 如果管理模式参数设置为移除维度,则指定的维度只能包含单个值。 如果未指定维度名称参数值并且输入仅包含单个剖切片,则将移除所有维度。

String
维度值
(可选)

将添加的维度的值。 该值可以是单个值,也可以是值范围。 对于值范围,提供以逗号分隔的最小值和最大值。 例如,对于新的高度维度,输入 0,10 时生成的维度的第一个剖切片包含前 10 米高度的信息。

当将管理模式参数设置为添加维度时,此参数为必需项。

String
维度描述
(可选)

出于元数据目的,将添加至栅格属性的新维度的描述。 当将管理模式参数设置为添加维度时,此参数处于活动状态。

String
维度单位
(可选)

出于元数据目的,将添加至栅格属性的新维度的单位。 当将管理模式参数设置为添加维度时,此参数处于活动状态。

String
更新统计数据
(可选)

指定是否将为多维栅格数据集重新计算统计数据。

  • 选中 - 将重新计算统计数据。 这是默认设置。
  • 未选中 - 将不会重新计算统计数据。
Boolean
更新转置
(可选)

指定是否将为多维栅格数据集重新构建转置。

  • 选中 - 将重新构建转置。 如果不存在转置,则系统将构建一个新转置。 这是默认设置。
  • 未选中 - 不重新构建转置。
Boolean
截断单元
(可选)

用于指定将使用的日期和时间截断单位。 当管理模式参数设置为截断维度值维度名称参数设置为 StdTime 时,此参数为必需项。

  • 指定的截断时间单位将为秒。
  • 分钟指定的截断时间单位将为分钟。
  • 小时指定的截断时间单位将为小时。
  • 指定的截断时间单位将为日。
  • 指定的截断时间单位将为月。
  • 指定的截断时间单位将为年。
String
开始/结束关键字
(可选)

管理模式参数设置为截断维度值时,用于指定维度值的截断方式。

  • 起始将在起始值处截断维度值。
  • 结束将在结束值处截断维度值。
  • 两者将同时在起始值和结束值处截断维度值。
String

派生输出

标注说明数据类型
目标多维栅格

修改的多维栅格。

Raster Layer

arcpy.management.ManageMultidimensionalRaster(target_multidimensional_raster, {manage_mode}, {variables}, {in_multidimensional_rasters}, {dimension_name}, {dimension_value}, {dimension_description}, {dimension_unit}, {update_statistics}, {update_transpose}, {truncation_unit}, {startEnd_keyword})
名称说明数据类型
target_multidimensional_raster

将进行修改的 CRF 格式的多维栅格。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
manage_mode
(可选)

指定将在目标栅格上执行的修改的类型。

  • ADD_DIMENSION维度将添加到输入多维栅格中。
  • APPEND_SLICES输入多维栅格中的剖切片将添加到维度的剖切片的末尾。 这是默认设置。
  • APPEND_VARIABLES将添加输入多维栅格中的变量。
  • REPLACE_SLICES在特定的维度值下,现有剖切片将替换为另一个多维栅格中的剖切片。
  • DELETE_VARIABLES一个或多个变量将从多维栅格中删除。
  • REMOVE_DIMENSION单剖切片多维栅格将转换为无维度栅格。
  • TRUNCATE_DIMENSION_VALUES将通过截断日期值或者选择开始值和结束值(如果维度值为范围)来修改维度值。
String
variables
[variables,...]
(可选)

将在目标多维栅格中修改的一个或多个变量。 如果要执行的操作是对现有变量进行修改,则此参数为必需项。

如果未指定变量,则将修改目标多维栅格中的第一个变量。

String
in_multidimensional_rasters
[in_multidimensional_rasters,...]
(可选)

多维栅格数据集,其中包含将添加至目标多维栅格的剖切片或变量。 当将 manage_mode 参数设置为 APPEND_SLICESREPLACE_SLICESAPPEND_VARIABLES 时,此参数为必需项。

Raster Dataset; Raster Layer; Image Service
dimension_name
(可选)

将在栅格属性中添加或移除的维度的名称。 当将 manage_mode 参数设置为 ADD_DIMENSION 时,此参数为必需项。 如果将 manage_mode 参数设置为 REMOVE_DIMENSION,则指定的维度只能包含单个值。 如果未指定 dimension_name 参数值并且输入仅包含单个剖切片,则将移除所有维度。

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
(可选)

指定是否将为多维栅格数据集重新计算统计数据。

  • UPDATE_STATISTICS将重新计算统计数据。 这是默认设置。
  • NO_UPDATE_STATISTICS将不会重新计算统计数据。
Boolean
update_transpose
(可选)

指定是否将为多维栅格数据集重新构建转置。

  • UPDATE_TRANSPOSE将重新构建转置。 如果不存在转置,则系统将构建一个新转置。 这是默认设置。
  • NO_UPDATE_TRANSPOSE不重新构建转置。
Boolean
truncation_unit
(可选)

用于指定将使用的日期和时间截断单位。 当 manage_mode 参数设置为 TRUNCATE_DIMENSION_VALUES 并且 dimension_name 参数设置为 STDTIME 时,此参数为必需项。

  • SECOND指定的截断时间单位将为秒。
  • MINUTE指定的截断时间单位将为分钟。
  • HOUR指定的截断时间单位将为小时。
  • DAY指定的截断时间单位将为日。
  • MONTH指定的截断时间单位将为月。
  • YEAR指定的截断时间单位将为年。
String
startEnd_keyword
(可选)

manage_mode 参数设置为 TRUNCATE_DIMENSION_VALUES 时,用于指定维度值的截断方式。

  • START将在起始值处截断维度值。
  • END将在结束值处截断维度值。
  • BOTH将同时在起始值和结束值处截断维度值。
String

派生输出

名称说明数据类型
updated_target_multidimensional_raster

修改的多维栅格。

Raster Layer

代码示例

ManageMultidimensionalRaster 示例 1(Python 窗口)

本示例将剖切片追加到多维栅格的末尾并更新统计数据。

# 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")
ManageMultidimensionalRaster 示例 2(独立脚本)

本示例将替换剖切片,添加变量,然后向目标多维栅格添加维度。

# 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"

# Replace existing slices with new slices
arcpy.md.ManageMultidimensionalRaster(target_multidimensional_raster, manage_mode_replace, 
	variables, replace_multidimensional_rasters)

# Append salinity variable
arcpy.md.ManageMultidimensionalRaster(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.ManageMultidimensionalRaster(target_multidimensional_raster, manage_mode_newDimension,
	variables, None, dimension_name, dimension_value, dimension_description, dimension_unit)
ManageMultidimensionalRaster 示例 3(独立脚本)

本示例将从单剖切片多维栅格中移除维度。

# 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.md.ManageMultidimensionalRaster(target_multidimensional_raster,
	manage_mode)