插图
使用方法
可以使用时空模式挖掘工具箱中的工具来分析输出时空立方体的空间和时间模式,其中包括新兴时空热点分析、局部异常值分析和时间序列聚类。
输出时空立方体将使用输入多维栅格图层的空间和时态分辨率进行创建。输出立方体中的每个时空立方图格都将针对输入中的单个时间间隔参考单个栅格像元。共享相同位置的立方图格将具有相同的位置 ID 属性,且共享相同时间间隔的立方图格将具有相同的时间步长 ID 属性。
此工具类似于通过已定义位置创建时空立方体和通过聚合点创建时空立方体工具,但此工具中未将空间或时间聚合用于转换。时空立方体的位置与各个栅格像元的位置相同,且立方体的时间间隔与栅格的时间间隔相同。
系统将使用 Mann-Kendall 统计来分析每个位置的时间趋势。在工具执行期间,该信息以及时空立方体的其他属性都将以地理处理消息的形式写到地理处理窗格的底部。还可以将鼠标悬停在进度条上、单击弹出按钮 或展开地理处理窗格中的消息部分,以使用地理处理历史来访问消息。
可分别 使用 在 2D 模式下显示时空立方体或在 3D 模式下显示时空立方体工具,或是通过下载时空立方体资源管理器加载项,以 2D 或 3D 模式对时空立方体数据进行可视化。
此工具需要对输入多维栅格图层进行投影,以便准确测量距离。如果将其用于具有纬度和经度坐标的地理坐标系且未指定输出坐标系环境设置,则栅格图层将投影到 WGS 1984 世界等距圆柱投影 (WKID 4087)。
输入多维栅格图层必须至少有 10 个时间间隔才能在此工具中使用。
时空立方体最多可以存储 20 亿个立方图格。如果栅格像元数乘以时间间隔数的结果超过 20 亿,则该工具将返回错误。
每个时间间隔都具有 NoData 值的任何栅格像元都将从输出中排除,且不为其分配时空立方图格。
如果您的多维栅格是以“云栅格格式”(*.crf) 存储的,则您可以浏览至或指定输入多维栅格图层参数的栅格数据集的文件路径,而不创建多维栅格图层。如果栅格是多元栅格,则该工具将使用第一个变量。要使用其他变量,必须使用从多维栅格导入变量选项添加变量作为多维栅格图层。
当使用 SPATIAL_NEIGHBORS 填充空立方图格时,此工具会根据最邻近的 8 个最近相邻要素进行估算。使用此选项填充空立方图格最少需要 4 个这样的空间相邻要素。
当使用 SPACE_TIME_NEIGHBORS 填充空立方图格时,此工具会根据最邻近的 8 个最近相邻要素进行估算。此外,通过向前和向后移动 1 个时间步长,对发现为时间相邻要素的每个立方图格,使用空间相邻要素。使用此选项填充空立方图格最少需要 13 个时空相邻要素。
通过 TEMPORAL_TREND 填充空立方图格时,给定位置的前两个时间段和后两个时间段在其立方图格中必须具有值,以便对该位置的其他时间段进行插值。
TEMPORAL_TREND 填充类型使用 SciPy 插值包中的一元样条插值方法。
语法
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.CreateSpaceTimeCubeMDRasterLayer_stpm(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 geoprocessor object 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.CreateSpaceTimeCubeMDRasterLayer_stpm(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.EmergingHotSpotAnalysis_stpm(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.VisualizeSpaceTimeCube3D_stpm(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())
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是