标注 | 说明 | 数据类型 |
输入多维栅格图层 | 将转换为时空立方体的输入多维栅格图层。 | Raster Layer |
输出时空立方体 | 将创建的输出 netCDF 数据立方体。 | File |
填充空立方图格方法 | 指定如何填充输出时空立方体中的缺失值。 输出中的每个时空立方图格必须具有一个值,因此必须指定使用 NoData 值填充栅格像元的值的方式。
| String |
插图
使用情况
可以使用时空模式挖掘工具箱中的工具来分析输出时空立方体参数值的空间和时间模式,其中包括新兴时空热点分析、局部异常值分析和时间序列聚类。
输出时空立方体值将使用输入多维栅格图层参数值的空间和时态分辨率进行创建。 输出立方体中的每个时空立方图格都将针对输入中的单个时间间隔参考单个栅格像元。 共享相同位置的立方图格将具有相同的 Location ID 属性,且共享相同时间间隔的立方图格将具有相同的 Time Step ID 属性。
此工具类似于通过已定义位置创建时空立方体和通过聚合点创建时空立方体工具,但此工具中未将空间或时间聚合用于转换。 时空立方体的位置与各个栅格像元的位置相同,且立方体的时间间隔与栅格的时间间隔相同。
系统将使用 Mann-Kendall 统计来分析每个位置的时间趋势。 在工具处理期间,该信息以及时空立方体的其他属性都将以地理处理消息的形式写到地理处理窗格的底部。 还可以将鼠标悬停在进度条上、单击弹出按钮 或展开地理处理窗格中的消息部分,以使用地理处理历史来访问消息。
您可以使用在 2D 模式下显示时空立方体或在 3D 模式下显示时空立方体工具,或是通过下载时空立方体资源管理器加载项的方式,以 2D 或 3D 模式对时空立方体数据进行可视化。
此工具需要对输入多维栅格图层值进行投影,以便准确测量距离。 如果将其用于具有纬度和经度坐标的地理坐标系且未指定输出坐标系环境设置,则栅格图层将投影到 WGS 1984 世界等距圆柱投影 (WKID 4087)。
输入多维栅格图层值必须至少有 10 个时间间隔,才能在此工具中使用。
时空立方体最多可以存储 20 亿个立方图格。 如果栅格像元数乘以时间间隔数的结果超过 20 亿,则该工具将返回错误。
每个时间间隔都具有 NoData 值的任何栅格像元都将从输出中排除,且不为其分配时空立方图格。
如果多维栅格以云栅格格式 (*.crf) 存储,您可以浏览至或者为输入多维栅格图层参数指定栅格数据集的文件路径,而无需创建多维栅格图层。 如果栅格是多元栅格,则该工具将使用第一个变量。 要使用其他变量,必须使用从多维栅格导入变量选项添加变量作为多维栅格图层。
当使用空间邻域填充空立方图格时,此工具会根据最邻近的 8 个最近相邻要素进行估算。 使用此选项填充空立方图格最少需要 4 个这样的空间相邻要素。
当使用时空邻域填充空立方图格时,此工具会根据最邻近的 8 个最近相邻要素进行估算。 此外,通过向前和向后移动 1 个时间步长,对发现为时间相邻要素的每个条柱,使用空间相邻要素。 使用此选项填充空立方图格最少需要 13 个时空相邻要素。
当使用时间趋势填充空立方图格时,给定位置的前两个时间段和后两个时间段在其立方图格中必须具有值,以便对该位置的其他时间段进行插值。
时间趋势填充类型将使用 SciPy 插值包中的一元样条插值方法。
如果输入多维栅格图层的 StdTime 值包含毫秒值,则每个时空立方图格的时间戳将仅包含秒,并且将忽略任何毫秒。
参数
arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(in_md_raster, output_cube, fill_empty_bins)
名称 | 说明 | 数据类型 |
in_md_raster | 将转换为时空立方体的输入多维栅格图层。 | Raster Layer |
output_cube | 将创建的输出 netCDF 数据立方体。 | File |
fill_empty_bins | 指定如何填充输出时空立方体中的缺失值。 输出中的每个时空立方图格必须具有一个值,因此必须指定使用 NoData 值填充栅格像元的值的方式。
| String |
代码示例
以下 Python 窗口脚本演示了如何使用 CreateSpaceTimeCubeMDRasterLayer 函数。
import arcpy
arcpy.env.workspace = r"C:\STPM\CSTCMDRL"
arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(r"Crime_Density",
r"Chicago_STCube.nc", "SPACE_TIME_NEIGHBORS")
以下独立 Python 脚本演示了如何使用 CreateSpaceTimeCubeMDRasterLayer 函数。
# Convert a multidimensional raster layer to a space-time cube
# Fill in missing values using space-time neighbors
# Run Emerging Hot Spot Analysis on the data
# Visualize the results in 3d
# Import system modules
import arcpy
# Set overwriteOutput property to overwrite existing output by default
arcpy.env.overwriteOutput = True
# Local variables ...
arcpy.env.workspace = r"C:\STPM\CSTCMDRL"
try:
# Create a space-time cube from the multidimensional raster layer
arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(r"Precipitation_MDRLayer",
r"SierraNevada_Precipitation.nc",
"SPACE_TIME_NEIGHBORS")
# Run an emerging hot spot analysis on the space-time cube
# using contiguity edges and corners so that neighbors are defined
# by all bordering bins in space and time.
arcpy.stpm.EmergingHotSpotAnalysis(r"SierraNevada_Precipitation.nc",
"PRECIPITATION_SPACE_TIME_NEIGHBORS",
"SierraNevada_Precipitation_EmergingHotSpot",
"", 1, "", "CONTIGUITY_EDGES_CORNERS")
# Use Visualize Cube in 3d to see the hot spot results for each time slice
arcpy.stpm.VisualizeSpaceTimeCube3D(r"SierraNevada_Precipitation.nc",
"PRECIPITATION_SPACE_TIME_NEIGHBORS",
"HOT_AND_COLD_SPOT_RESULTS",
"SierraNevada_Precipitation_Visualize3d")
except arcpy.ExecuteError:
# If any error occurred while running the tool, print the messages
print(arcpy.GetMessages())