ラベル | 説明 | データ タイプ |
入力フィーチャ | 時空間キューブに変換される入力ポイント/ポリゴン フィーチャクラス。 | Feature Layer |
出力時空間キューブ | 作成する出力 netCDF データ キューブ。 | File |
ロケーション ID | 各一意の位置を示す ID 番号を含む整数フィールドまたはテキスト フィールド。 | Field |
時間集約 | データが時間的に集約されるかどうかを指定します。
| Boolean |
時間フィールド |
データセット内の各行のタイム スタンプが格納されるフィールド。 このフィールドは date タイプである必要があります。 | Field |
時間ステップ間隔 (オプション) | 1 つの時間ステップを表す秒、分、時間、日、週、または年の数。 このパラメーターの有効な入力例として、「1 週間」、「13 日」、「1 か月」などがあります。 時間集約を適用しない ([時間集約] がオンに設定されていない) 場合、このパラメーターをデータの既存の時間構造に設定します。 時間集約を適用する ([時間集約] がオンに設定されている) 場合、このパラメーターを、作成する時間ステップ間隔に設定します。 同じ時間ステップ間隔内のすべてのフィーチャが集約されます。 | Time Unit |
時間ステップの配列 (オプション) | 指定した時間ステップ間隔に基づいて、キューブ構造の配列方法を指定します。
| String |
基準時間 (オプション) | 時間ステップ間隔の配列に使用する日付および時間。 たとえば、毎週 (月曜から日曜まで) のデータをビンに入れるには、基準時間を日曜の深夜に設定することによって、日曜と月曜の間の深夜でビンが切り替わるようにします。 | Date |
変数 (オプション) | 時空間キューブに取り込む属性値を含む数値フィールド。 使用可能な入力タイプは次のとおりです。
注意:変数レコードのいずれかに NULL 値が存在すると、空のビンが生成されます。 入力フィーチャに NULL 値が存在する場合は、まず [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 | Value Table |
サマリー フィールド (オプション) | 時空間キューブに集約するときに、指定された統計情報の計算に使用される属性値を含む数値フィールド。 複数の統計とフィールドの組み合わせを指定できます。 指定したいずれかのフィールドに NULL 値が存在する場合、そのフィーチャは出力キューブから除去されます。 入力フィーチャに NULL 値が存在する場合は、時空間キューブを作成する前に [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 使用可能な統計タイプは次のとおりです。
使用可能な入力タイプは次のとおりです。
注意:サマリー フィールド レコードに NULL 値が存在する場合、そのフィーチャは出力キューブから除去されます。 入力フィーチャに NULL 値が存在する場合は、まず [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 [欠損値の補完 (Fill Missing Values)] ツールの実行後にも NULL 値が存在し、解析方法の一環として各ビン内のポイント数を設定する場合、カウント用 (サマリー フィールドなし) とサマリー フィールド用に別々のキューブを作成することを検討してください。 それぞれのサマリー フィールドで、NULL 値のセットが異なる場合は、各サマリー フィールドに対して別々のキューブを作成できます。 | Value Table |
リレート テーブル (オプション) | 入力フィーチャにリレートされるテーブルまたはテーブル ビュー | Table View |
リレート ロケーション ID (オプション) | リレートのキーとなるロケーション ID が格納されている、関連テーブル内の整数フィールドまたはテキスト フィールド。 | Field |
サマリー
時空間ビンを作成して、パネル データまたは観測データ (地理情報は変化しないが、属性が時間経過とともに変化する定義済みの位置) を netCDF データ形式に構造化します。 すべての位置に対して、変数または集計フィールドの傾向が評価されます。
図
使用法
ツールで作成されるデータ構造は、空間を表す x ディメンションと y ディメンションおよび時間を表す t ディメンションを持つ時空間ビンで構成された 3D キューブと考えることができます。
ビンごとに空間 (入力がポイントの場合は X, Y 位置、入力がポリゴン位置の場合は一連の固定された頂点) と時間 (t) の固定された位置があります。 同じ定義済みの位置エリア (X, Y または頂点) をカバーしているビンは、同じロケーション ID を共有します。 同じ期間を含むビンは、同じ時間ステップ ID を共有します。
時空間キューブ内のビンは、LOCATION_ID、time_step_ID、COUNT 値、および [変数] またはキューブの作成時に集計された [集計フィールド] パラメーターの値を保持します。 物理的に同じ位置に関連付けられているビンは、同じロケーション ID を共有し、共に時系列を示します。 同じ時間ステップ間隔に関連付けられているビンは、同じ時間ステップ ID を共有し、共にタイム スライスを構成します。
入力フィーチャは、ポイントまたはポリゴンのいずれかであり、定義済み、つまり固定された位置 (時間経過とともに収集された属性が関連付けられている) を表している必要があります。 このタイプのデータは、一般的にパネル データまたは観測データと呼ばれます。 イベントのタイム スタンプが格納されるフィールドのタイプは、date である必要があります。
注意:
入力フィーチャがファイル ジオデータベースに格納され、トゥルー カーブ (頂点の密集ではなく円弧として格納される) を含んでいる場合は、時空間キューブへの格納時にポリゴン シェープに歪みが生じます。 入力フィーチャがトゥルー カーブを含んでいるかどうかを確認するには、[検証方法] パラメーターを [OGC] オプションに指定したジオメトリのチェック ツールを実行します。 選択したオプションが非線形セグメントをサポートしていないことを示すエラー メッセージが表示された場合は、データセット内に存在するトゥルー カーブが、時空間キューブの作成前に、[頂点の挿入方法] パラメーターを [角度] オプションに指定した [頂点の挿入 (Densify)] ツールを使用して削除され、頂点に置き換えられている可能性があります。
入力フィーチャには、同じフィーチャクラスに含まれる反復形状を指定するか、または時間経過とともに記録された属性を含む関連テーブルを持つ 1 組のフィーチャを指定できます。
指定したパラメーターによってキューブ内に 20 億個以上のビンが生成されると、このツールは失敗します。
このツールで距離を正確に測定するには、投影データが必要です。
[時間集約] パラメーターがオンになっている場合は、関連付けられた時間ステップ間隔中に、関連付けられた位置で発生したイベントの数が反映されるビンごとのカウント値が、生成される時空間キューブに含まれます。
このツールから生成される出力の内容は、入力フィーチャの netCDF 表現と、キューブの特性を要約するメッセージです。 メッセージは、ツールの処理中に [ジオプロセシング] ウィンドウの下部に書き込まれます。 このメッセージにアクセスするには、進行状況バーにカーソルを合わせてポップアップ ボタン をクリックするか、[ジオプロセシング] ウィンドウでメッセージ セクションを展開します。 ジオプロセシング履歴から、以前に実行したツールのメッセージにアクセスすることもできます。 netCDF ファイルは、[時空間ホット スポット分析 (Emerging Hot Spot Analysis)] ツールまたは [ローカル外れ値分析 (Local Outlier Analysis)] ツールなど、他のツールの入力として使用できます。 キューブのコンテンツを表示する手法については、「時空間キューブの視覚化」をご参照ください。
[時間フィールド] パラメーターで date タイプのフィールドを指定します。 入力が反復形状である場合、このフィールドには、各フィーチャに関連付けられているタイムスタンプが含まれる必要があります。 [関連テーブル] パラメーター値が指定されている場合、このフィールドは、テーブル内の各レコードに関連付けられたタイムスタンプを示します。 このフィールドが高精度である (ミリ秒値を含む) 場合、各時空間ビンのタイム スタンプには秒のみが含まれ、ミリ秒は無視されます。
[時間ステップの間隔] パラメーターは、データの期間を分割する方法を定義します。 [時間集約] パラメーターがオフの場合、[時間ステップの間隔] パラメーターを既存のデータ構造に設定します。 たとえば、5 年おきに収集されている国勢調査データがあるとすれば、「5 年」と入力する必要があります。 時間的な集約を行うには、[時間集約] パラメーターをオンにします。 たとえば、5 分おきに記録しているセンサー データがある場合に、1 日間隔で集約することができます。 時間ステップの間隔は常に固定された期間であり、ツールでは 10 個以上の時間ステップが必要です。
注意:
[時間ステップの間隔] パラメーターのドロップダウン リストには多くの時間単位が表示されますが、このツールは年、月、週、日、時間、分、秒だけをサポートしています。
時空間キューブを作成できなかった場合、ツールは 10 個の時間ステップ間隔で指定した入力データを構築できなかった可能性があります。 エラー メッセージが表示された場合は、入力のタイムスタンプを調べて、値の範囲 (10 個以上の値) が含まれていることを確認します。 この値の範囲には、ツールが使用する最小の時間範囲である 10 秒以上の範囲が含まれている必要があります。 10 個の時間ステップ間隔は、Mann-Kendall 統計で必要です。
[基準時間] パラメーターには、日時の値または日付のみの値を指定できますが、時間のみの値を指定することはできません。 必要な形式は、コンピューターの地域の時間設定によって決まります。
集約された変数と集計フィールドの値に対して実行される傾向分析は、Mann-Kendall 統計に基づいています。
このツールで実行できる属性の集約に対する統計演算は、合計、平均、最小、最大、標準偏差、および中央値です。
サマリー フィールド レコードに NULL 値が存在する場合、そのフィーチャは出力キューブから除外されます。 入力フィーチャに NULL 値が存在する場合は、まず [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 [欠損値の補完 (Fill Missing Values)] ツールの実行後にも NULL 値が存在し、解析方法の一環として各ビン内のポイント数を設定する場合、カウント用 (サマリー フィールドなし) とサマリー フィールド用に別々のキューブを作成することを検討してください。 それぞれのサマリー フィールドで、NULL 値のセットが異なる場合も、各サマリー フィールドに対して別々のキューブを作成できます。
空間近傍を使用して空のビンを埋める場合、このツールは 8 つの最近傍に基づいて推定します。 このオプションを使用して空のビンを埋めるには、これらの空間近傍のうち最低 4 つに値が含まれている必要があります。
時空間近傍を使用して空のビンを埋める場合、このツールは 8 つの最近傍に基づいて推定します。 さらに、空間近傍になったビンには、1 つの時間ステップを往復することで時間近傍が使用されます。 このオプションを使用して空のビンを埋めるには、最低 13 の時空間近傍が必要です。
時系列的トレンドを使用して空のビンを埋める場合は、指定された位置のその他の期間に値を内挿するために、その位置の最初の 2 つの期間と最後の 2 つの期間のビンに値を入力する必要があります。
時系列的トレンド タイプの場合は、SciPy 内挿パッケージ内にある Interpolated Univariate Spline 手法が使用されます。
このツールには、複数の CPU (またはマルチコア CPU) を使用しているシステムでパフォーマンスが向上するという利点があります。 デフォルトでは、このツールは使用可能なプロセッサの 50% を使用して実行されますが、並列処理ファクター環境を使用して、使用される CPU の数を増減できます。 処理速度の増加は、大きい時空間キューブを作成したときに最も顕著です。
パラメーター
arcpy.stpm.CreateSpaceTimeCubeDefinedLocations(in_features, output_cube, location_id, temporal_aggregation, time_field, {time_step_interval}, {time_step_alignment}, {reference_time}, {variables}, {summary_fields}, {in_related_table}, {related_location_id})
名前 | 説明 | データ タイプ |
in_features | 時空間キューブに変換される入力ポイント/ポリゴン フィーチャクラス。 | Feature Layer |
output_cube | 作成する出力 netCDF データ キューブ。 | File |
location_id | 各一意の位置を示す ID 番号を含む整数フィールドまたはテキスト フィールド。 | Field |
temporal_aggregation |
| Boolean |
time_field |
データセット内の各行のタイム スタンプが格納されるフィールド。 このフィールドは date タイプである必要があります。 | Field |
time_step_interval (オプション) | 1 つの時間ステップを表す秒、分、時間、日、週、または年の数。 このパラメーターの有効な入力例として、「1 週間」、「13 日」、「1 か月」などがあります。 時間集約を適用しない (temporal_aggregation = "NO TEMPORAL_AGGREGATION") 場合、このパラメーターをデータの既存の時間構造に設定します。 時間集約を適用する (temporal_aggregation = "APPLY TEMPORAL_AGGREGATION") 場合、このパラメーターを、作成する時間ステップ間隔に設定します。 同じ時間ステップ間隔内のすべてのフィーチャが集約されます。 | Time Unit |
time_step_alignment (オプション) | 指定した time_step_interval 値に基づいて、キューブ構造の配列方法を指定します。
| String |
reference_time (オプション) | 時間ステップ間隔の配列に使用する日付および時間。 たとえば、毎週 (月曜から日曜まで) のデータをビンに入れるには、基準時間を日曜の深夜に設定することによって、日曜と月曜の間の深夜でビンが切り替わるようにします。 | Date |
variables [[Field, Fill Empty Bins with],...] (オプション) | 時空間キューブに取り込む属性値を含む数値フィールド。 使用可能な入力タイプは次のとおりです。
注意:変数レコードのいずれかに NULL 値が存在すると、空のビンが生成されます。 入力フィーチャに NULL 値が存在する場合は、まず [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 | Value Table |
summary_fields [[Field, Statistic, Fill Empty Bins with],...] (オプション) | 時空間キューブに集約するときに、指定された統計情報の計算に使用される属性値を含む数値フィールド。 複数の統計とフィールドの組み合わせを指定できます。 指定したいずれかのフィールドに NULL 値が存在する場合、そのフィーチャは出力キューブから除去されます。 入力フィーチャに NULL 値が存在する場合は、時空間キューブを作成する前に [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 使用可能な統計タイプは次のとおりです。
使用可能な入力タイプは次のとおりです。
注意:サマリー フィールド レコードに NULL 値が存在する場合、そのフィーチャは出力キューブから除去されます。 入力フィーチャに NULL 値が存在する場合は、まず [欠損値の補完 (Fill Missing Values)] ツールを実行することをお勧めします。 [欠損値の補完 (Fill Missing Values)] ツールの実行後にも NULL 値が存在し、解析方法の一環として各ビン内のポイント数を設定する場合、カウント用 (サマリー フィールドなし) とサマリー フィールド用に別々のキューブを作成することを検討してください。 それぞれのサマリー フィールドで、NULL 値のセットが異なる場合は、各サマリー フィールドに対して別々のキューブを作成できます。 | Value Table |
in_related_table (オプション) | 入力フィーチャにリレートされるテーブルまたはテーブル ビュー | Table View |
related_location_id (オプション) | リレートのキーとなるロケーション ID が格納されている、関連テーブル内の整数フィールドまたはテキスト フィールド。 | Field |
コードのサンプル
次の Python ウィンドウ スクリプトは、CreateSpaceTimeCubeDefinedLocations 関数の使用方法を示しています。
import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.stpm.CreateSpaceTimeCubeDefinedLocations("Chicago_Data", r"C:\STPM\Chicago_Cube.nc", "MYID",
"NO_TEMPORAL_AGGREGATION", "TIME", "1 Months",
"END_TIME", "", "COUNT ZEROS")
次のスタンドアロン Python スクリプトで、CreateSpaceTimeCubeDefinedLocations 関数を使用する方法を示します。
# Fill missing values using a feature set and related table
# Use the results to create a space-time cube from defined locations
# 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\Chicago.gdb"
try:
# Fill missing values in a feature class containing block group polygon shapes and a related table containing the incidents
# Since some of the values are missing, fill them using the temporal trend method
arcpy.stpm.FillMissingValues("Chicago_Feature", "Chicago_FilledFeature", "COUNT", "TEMPORAL_TREND", "", "", NoneNone,
"TIME", "", "MYID", "Chicago_Table", "MYID", "", "", "", "Chicago_FilledTable")
# Create a defined location space-time cube using a related table
# Using a reference time at the start of the month to force binning fall on month breaks
# Using temporal aggregation to sum multiple entries into one month
# Using the method drop location if missing values since you already filled using Fill Missing Values
arcpy.stpm.CreateSpaceTimeCubeDefinedLocations("Chicago_FilledFeature", r"C:\STPM\Chicago_Cube.nc", "MYID",
"APPLY_TEMPORAL_AGGREGATION", "TIME", "1 Months", "REFERENCE_TIME",
"10/1/2015", "", "COUNT SUM DROP_LOCATIONS", "Chicago_FilledTable",
"MYID")
# Run an emerging hot spot analysis on the defined locations cube
# Using contiguity edges so only block groups that bound each other are considered neighbors
arcpy.stpm.EmergingHotSpotAnalysis(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE",
"Chicago_Cube_EmergingHotSpot", "", 1, "",
"CONTIGUITY_EDGES_ONLY")
# Use Visualize Cube in 3d to see the hot spot results for each time slice
arcpy.stpm.VisualizeSpaceTimeCube3D(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE", "HOT_AND_COLD_SPOT_RESULTS",
"Chicago_Cube_Visualize3d")
except arcpy.ExecuteError:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
ライセンス情報
- Basic: Yes
- Standard: Yes
- Advanced: Yes