[インシデントの検出 (Detect Incidents)] ツールは、指定した条件を使用して時系列フィーチャを検査します。指定した条件と一致するフィーチャがインシデントとしてマークされます。結果レイヤーは、フィーチャがインシデントであるかどうか、インシデントの状況、インシデントの間隔、および一意のインシデント ID を示す追加フィールドとともに、入力と同じ形式で入力フィーチャを表示します。
ワークフロー図
解析での使用 GeoAnalytics ツール
GeoAnalytics ツール を使用した解析は、複数の ArcGIS GeoAnalytics Server コンピューターやコアにまたがる分散型処理を使用して実施されます。GeoAnalytics ツール と ArcGIS Enterprise の標準的なフィーチャ解析ツールは、異なるパラメーターと機能を持ちます。これらの相違点については、「フィーチャ解析ツールの相違点」をご参照ください。
用語
期間 | 説明 |
---|---|
軌跡 | 時間対応かつ時間のタイプが瞬間を示す一連のフィーチャ。フィーチャはトラック ID フィールドに応じて順番が決定され、時間順に並びます。たとえば、都市に 10 分ごとにその場所を記録する除雪トラックを配備できます。車両 ID は、個別のトラックを示します。 |
インシデント | 対象条件を満たすフィーチャ。 |
インスタント | 開始時間は指定されているが終了時間は指定されていない、ある特定の時点を指します。[インシデントの検出 (Detect Incidents)] への入力における時間のタイプは瞬間である必要があります。 |
間隔 | 開始時間と終了時間が指定されている期間のことを指します。 |
対象フィーチャ | 解析されるフィーチャの説明に使用されます。解析では、すべてのフィーチャが解析されます。 |
例
水質とその汚染物質の監視は、センサーが果たす重要な役割です。各センサーの測定値には、測定が行われたときのタイムスタンプや、対象の汚染物質の値が含まれています。地域の水質測定データのほか、各地域での測定値とタイムスタンプにアクセスできます。以前の時間ステップで、汚染物質の大量増加を報告したセンサーを探すこともできます。
使用上の注意
[インシデントの検出 (Detect Incidents)] は、テーブル、ポイント、ライン、またはエリア フィーチャで実行されます。入力レイヤーは、特定時点を表すフィーチャによって、時間が有効化されている必要があります。
時間エントリがある入力フィーチャのみが使用されます。時間を含まないフィーチャは使用されず、出力結果に含まれません。
トラックの識別に使用されるフィールドは、結果で返されます。
トラックを識別するために、1 つ以上のフィールドを選択できます。トラックは、1 つ以上のトラック フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラック識別子として使用される場合、フィーチャ [ID007, Solden] と [ID007, Tokoyo] は 2 つの個別トラックになります。Destination フィールドの値が異なるからです。
条件式を使用して、開始条件と終了条件が作成されます。
GeoAnalytics ツール で条件式を使用してインシデントを検出する方法の詳細
終了条件の適用はオプションです。開始条件のみを適用すると、インシデントは開始条件が true と評価されたときに開始し、開始条件が false と評価されたときに終了します。たとえば、トラック内の値が [0, 10, 15, 20, 40, 10, 12, -2, -12] で開始条件が $feature["values"] > 15 の場合、インシデントであるフィーチャは [True] と評価され、[0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False] となります。この場合、15 よりも上の値だけがインシデントです。$feature["values"] < 0 の終了条件をオプションで適用すると、結果は [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False] となります。この例では、インシデントは開始条件が満たされたときに開始し、終了条件が満たされるまで、一連の各フィーチャはインシデントになります。次の表で、これらの例を説明します。
位置: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
値 | 0 | 10 | 15 | 20 | 40 | 10 | 12 | -2 | -12 |
開始: $feature["values"] > 15 および終了なし | False | False | False | True | True | True | False | False | False |
開始: $feature["values"] > 15 および終了: $feature["values"] < 0 | False | False | False | True | True | True | True | False | False |
時間間隔を適用すると、指定間隔でトラックがセグメント化されます。たとえば、時間間隔の境界を 1 日に設定し、1990 年 1 月 1 日午前 9 時から開始した場合、各トラックは毎日午前 9 時に切詰められます。 この分割を使用すると、解析のためのトラックを簡単に短縮できるため、計算時間を高速化できます。時間間隔の境界の繰り返しによる分割が解析で有効な場合は、ビッグ データ処理にこの方法を使用することをお勧めします。
出力フィーチャは、入力のフィールドと追加のフィールドを返します。
- IncidentID - インシデントであるすべてのフィーチャに割り当てられる一意の ID。
- IncidentStatus - インシデントのステータスを示す文字列フィールド。値は、フィーチャがインシデントでない場合は null、フィーチャが開始条件を満たす最初のインシデントの場合は Started、フィーチャが引き続きインシデントの場合は OnGoing、フィーチャがインシデントでなくなると Ended になります。単一のトラックにインシデントの複数のセグメントがある場合があります。たとえば、[0, 10, 15, 20, 40, 10, 12, -2, -12] という値を持ち、開始条件が $feature["values"] > 15 のトラックであれば、IncidentStatus の値は [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null] になります。
- IncidentDuration - インシデントが発生した時間をミリ秒単位で表します。これは、対象フィーチャとインシデントを開始したフィーチャ間の差として計算されます。
- Instant_Datetime - フィーチャが発生する時間。
[現在のマップ範囲を使用] がオンの場合、現在のマップ範囲に表示されるフィーチャだけが解析されます。オフの場合、入力レイヤーのすべての入力フィーチャが、現在のマップ範囲内になくても解析されます。
制限事項
入力は、時間対応かつ時間のタイプが瞬間である必要があります。時間を含まないフィーチャは、出力には含まれません。
[インシデントの検出 (Detect Incidents)] の詳細
演算
フィーチャはトラックごとに時系列で並べられます。最初のフィーチャから、true になるまで開始条件が評価されます。フィーチャが開始条件を満たすと、開始条件が false になる (終了条件が指定されていない場合) または終了条件が true になる (終了条件が true の場合) まで、以降のフィーチャが評価されます。その条件を満たすと、インシデントが終了し、処理がやり直しになります。個々のトラックに複数のインシデント セグメントがある場合があります。たとえば、トラックが [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] の値を持ち、開始条件が $feature["values"] > 20 の場合、[10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null] というインシデントの 2 つのセグメントになります。
インシデントの間隔は、フィーチャからインシデントの開始を引いた時間としてミリ秒で計算されます。間隔は、フィーチャのステータスが Started、OnGoing、および Ended の場合のみ計算されます。ステータスが Started のフィーチャの間隔は常に 0 です。
ArcGIS API for Python の例
[インシデントの検出] ツールは ArcGIS API for Python で使用できます。
この例では、5 つの速度値の変動ウィンドウの平均を計算することで、除雪車が時速 10 マイル以下で移動した時間と場所を特定します。# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and check that GeoAnalytics is supported portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False) if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported") exit(1)
# Find the big data file share dataset you're interested in using for analysis search_result = portal.content.search("", "Big Data File Share")
# Look through search results for a big data file share with the matching name bd_file = next(x for x in search_result if x.title == "bigDataFileShares_VehicleData")
# Look through the big data file share for snowplow track data snowplows = next(x for x in bd_file.layers if x.properties.name == "Snowplow_tracks")
# Set the tool environment settings arcgis.env.verbose = True arcgis.env.defaultAggregations = True
# Run the tool Detect Incidents output = find_locations.detect_incidents(input_layer = snowplows, track_fields = "plowID, dayOfYear",
start_condition_expression = "Mean($track.field["speed"].window(-5, 0)) < 10", output_name = "Slow_Plow_Incidents")
# Visualize the tool results if you are running Python in a Jupyter Notebook processed_map = portal.map('Fairbanks, AK', 10) processed_map.add_layer(output) processed_map
類似のツール
インシデントであるフィーチャを検索するには、[インシデントの検出 (Detect Incidents)] を使用します。その他のツールは、類似した少し異なる問題を解決するのに効果的です。
Map Viewer解析ツール
時間対応フィーチャをトラックに再構築する場合は、GeoAnalytics ツール の [トラックの再構築 (Reconstruct Tracks)] を使用します。
フィールドの値を計算する場合は、GeoAnalytics ツール の [フィールド演算 (Calculate Field)] を使用します。
ArcGIS Desktop 解析ツール
GeoAnalytics ツール の [トラックの再構築] は ArcGIS Pro でも利用できます。
GeoAnalytics ツール の [フィールド演算 (Calculate Field)] は ArcGIS Pro でも利用できます。
GeoAnalytics ツール の [インシデントの検出 (Detect Incidents)] は ArcGIS Pro でも利用できます。
ArcGIS Pro からこのツールを実行するには、アクティブなポータルが Enterprise 10.6 以降である必要があります。GeoAnalytics フィーチャ解析を実行できる権限を持つアカウントでサイン インする必要があります。