多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube From Multidimensional Raster Layer) (時空間パターン マイニング)

サマリー

多次元ラスター レイヤーから時空間キューブを作成し、データを時空間ビンに構成することで、効率的な時空間解析と視覚化を行います。

ArcGIS AllSource のマップの多次元ラスター レイヤーの追加と視覚化について

時空間キューブの作成の詳細

多次元ラスター レイヤーから時空間キューブを作成ツールの図
多次元ラスター レイヤーから時空間キューブを作成します。

使用法

  • [出力時空間キューブ] パラメーター値は、[時空間ホット スポット分析 (Emerging Hot Spot Analysis)][ローカル外れ値分析 (Local Outlier Analysis)][時系列クラスタリング (Time Series Clustering)] など、時空間パターン マイニング ツールボックスのツールを使用して、空間と時間のパターンを分析できます。

  • [出力時空間キューブ] 値は、[入力多次元ラスター レイヤー] パラメーター値の時空間分解能を使用して作成されます。 出力キューブの各時空間ビンは、入力からの単一の時間間隔に対して、単一のラスター セルを参照します。 同じ場所を共有するビンは同じ Location ID 属性を持ち、同じ時間間隔を共有するビンは同じ Time Step ID 属性を持ちます。

  • このツールは [定義済みの位置から時間キューブを作成 (Create Space Time Cube From Defined Locations)] ツールと [ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツールに似ていますが、このツールでは、変換の際に空間的または時間的集約が使用されない点が異なります。 時空間キューブの位置は個々のラスター セルと同じで、キューブの時間間隔はラスターの時間間隔と同じです。

  • 各位置について、Mann-Kendall 統計を使用して時間の傾向分析が行われます。 この情報と時空間キューブのその他のプロパティは、ツールの処理時に [ジオプロセシング] ウィンドウ下部にジオプロセシング メッセージとして記されます。 このメッセージにアクセスするには、[ジオプロセシング履歴] ウィンドウでプログレス バーの上にカーソルを置いてポップアップ ボタン 別ウィンドウに表示 をクリックするか、[ジオプロセシング] ウィンドウのメッセージ セクションを展開します。

  • [時空間キューブを 2D で視覚化 (Visualize Space Time Cube in 2D)] ツールか [時空間キューブを 3D で視覚化 (Visualize Space Time Cube in 3D)] ツールをそれぞれ使用するか、Space Time Cube Explorer アドインをダウンロードし、2D または 3D で時空間キューブ データを視覚化できます。

  • このツールでは、[入力多次元ラスター レイヤー] 値を投影し、距離を正確に測定する必要があります。 緯度座標と経度座標を持つ地理座標系であり、[出力座標系] 環境設定が指定されていない場合は、ラスター レイヤーは WGS 1984 正距円筒図法 (WKID 4087) で投影されます。

  • [入力多次元ラスター レイヤー] 値には、このツールで使用する時間間隔が少なくとも 10 個必要です。

  • 時空間キューブは、最大で 20 億個のビンを格納できます。 ラスター セルの数と時間間隔の数を乗算した結果が 20 億を超えると、ツールがエラーを返します。

  • すべての時間間隔に対して NoData 値を持つラスター セルは出力から除外され、時空間ビンの割り当ては行われません。

  • 多次元ラスターが Cloud Raster Format (*.crf) で保存される場合、多次元ラスター レイヤーを作成せずに [入力多次元ラスター レイヤー] パラメーターのラスター データセットを参照したり、ファイル パスを指定したりできます。 ラスターが多変量である場合、ツールは最初の変数を使用します。 別の変数を使用する場合、[多次元ラスターから変数をインポート] オプションを使用して、その変数を多次元ラスター レイヤーとして追加する必要があります。

  • 空間近傍を使用して空のビンを埋める場合、このツールは 8 つの最近傍に基づいて推定します。 このオプションを使用して空のビンを埋めるには、これらの空間近傍のうち最低 4 つに値が含まれている必要があります。

  • 時空間近傍を使用して空のビンを埋める場合、このツールは 8 つの最近傍に基づいて推定します。 さらに、空間近傍になったビンには、1 つの時間ステップを往復することで時間近傍が使用されます。 このオプションを使用して空のビンを埋めるには、最低 13 の時空間近傍が必要です。

  • 時系列的トレンドを使用して空のビンを埋める場合は、指定された位置のその他の期間に値を内挿するために、その位置の最初の 2 つの期間と最後の 2 つの期間のビンに値を入力する必要があります。

  • 時系列的トレンド タイプの場合は、SciPy 内挿パッケージ内にある Interpolated Univariate Spline 手法が使用されます。

  • 入力多次元ラスター レイヤーの [StdTime] 値にミリ秒値が含まれている場合、各時空間ビンのタイム スタンプには秒のみが含まれ、ミリ秒は無視されます。

パラメーター

ラベル説明データ タイプ
入力多次元ラスター レイヤー

時空間キューブに変換される入力多次元ラスター レイヤー。

Raster Layer
出力時空間キューブ

作成する出力 netCDF データ キューブ。

File
空のビンを埋める方法

出力時空間キューブで不足している値を埋める方法を指定します。 出力の各時空間ビンには値が必要なので、NoData 値のラスター セルに値を入力する方法を指定する必要があります。

  • ゼロ空のビンをゼロで埋めます。 これがデフォルトです。
  • 空間近傍空のビンを空間近傍の平均値で埋めます。
  • 時空間近傍空のビンを時空間近傍の平均値で埋めます。
  • 時系列トレンド空のビンを内挿した一変量スプライン アルゴリズムを使用して埋めます。
String

arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(in_md_raster, output_cube, fill_empty_bins)
名前説明データ タイプ
in_md_raster

時空間キューブに変換される入力多次元ラスター レイヤー。

Raster Layer
output_cube

作成する出力 netCDF データ キューブ。

File
fill_empty_bins

出力時空間キューブで不足している値を埋める方法を指定します。 出力の各時空間ビンには値が必要なので、NoData 値のラスター セルに値を入力する方法を指定する必要があります。

  • ZEROS空のビンをゼロで埋めます。 これがデフォルトです。
  • SPATIAL_NEIGHBORS空のビンを空間近傍の平均値で埋めます。
  • SPACE_TIME_NEIGHBORS空のビンを時空間近傍の平均値で埋めます。
  • TEMPORAL_TREND空のビンを内挿した一変量スプライン アルゴリズムを使用して埋めます。
String

コードのサンプル

CreateSpaceTimeCubeMDRasterLayer の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、CreateSpaceTimeCubeMDRasterLayer 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = r"C:\STPM\CSTCMDRL"
arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(r"Crime_Density", 
                  r"Chicago_STCube.nc", "SPACE_TIME_NEIGHBORS")
CreateSpaceTimeCubeMDRasterLayer の例 2 (スタンドアロン スクリプト)

次のスタンドアロン 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())