Skip To Content

トラッキングの再構築 (Reconstruct Tracks)

トラックの再構築 [トラックの再構築 (Reconstruct Tracks)] ツールは、時系列ポイントをトラックに接続し、トラック内のフィーチャを集計します。トラックは、1 つ以上のトラック フィールドで識別されます。生成されるレイヤーには、ラインまたはエリアとしてのトラック、トラック内で集計されたフィーチャの個数、その他に指定された統計情報が表示されます。

ワークフロー図

[トラックの再構築] のワークフロー図

解析での使用 GeoAnalytics ツール

GeoAnalytics ツール を使用した解析は、複数の ArcGIS GeoAnalytics Server コンピューターやコアにまたがる分散型処理を使用して実施されます。GeoAnalytics ツールArcGIS Enterprise の標準的なフィーチャ解析ツールは、異なるパラメーターと機能を持ちます。これらの相違点については、「フィーチャ解析ツールの相違点」をご参照ください。

用語

用語説明

測地線

球体上に描画されたライン。グローブ上に描画された測地線は、地球のジオイドの曲率を表します。

平面

平面 (デカルト平面) 上で計測される直線距離です。ユークリッド距離とも呼ばれます。

インスタント

開始時間は指定されているが終了時間は指定されていない、ある特定の時点を指します。

間隔

開始時間と終了時間が指定されている期間のことを指します。

ハリケーンは、米国で発生する嵐の中でも特に激しい嵐です。保険料率を決定するには、ハリケーンの進路を追跡し、これまでにハリケーンによる多大な物的および金銭的損害を被った場所を特定する必要があります。そこで、1 つのデータセットに集約した米国全土のハリケーンの位置データにアクセスします。データでは、位置ごとにタイムスタンプが記録されています。すべての情報をまとめ、すべてのハリケーンの集計値を確認します。ハリケーン トラック識別子を使用してデータを集計し、ハリケーンごとに統計をまとめます。

使用上の注意

[トラックの再構築 (Reconstruct Tracks)] は、ポイント フィーチャまたはエリア フィーチャで実行されます。入力レイヤーは、特定時点を表すフィーチャによって、時間が有効化されている必要があります。

線形の結果の場合、複数のポイントを含むトラックのみが返されます。バッファーを適用すると、すべてのフィーチャが返されます。

入力フィーチャは、時間が有効化されており、特定時点を表すフィーチャで構成されます。結果は、時間の間隔を表すライン フィーチャまたはエリア フィーチャになります。間隔の開始時点と終了時点は、トラックの最初のフィーチャと最後のフィーチャによって決定されます。

2 つの明確なトラックを持つ入力フィーチャ (緑と赤)。時間タイプが「インスタント」 (左) と生成されるトラック (右)、または時間タイプが「間隔」
時間タイプが「インスタント」 (左) と生成されるトラック (右)、または時間タイプが「間隔」である 2 つの明確なトラックを持つ入力フィーチャ (緑と赤) が表示されます。

トラックの中で最も基本的な計算は、集計されたフィーチャの個数カウントです。統計情報 (個数、合計、最小、最大、範囲、平均、標準偏差、分散) は数値フィールドでも計算でき、統計情報 (個数、すべて) は文字列フィールドでも計算することができます。文字列統計 [すべて] は、各トラックからサンプル文字列を返します。統計情報は、各トラックで個別に計算されます。

トラックの識別に使用されるフィールドは、結果で返されます。

トラックを識別するために、1 つ以上のフィールドを選択できます。トラックは、1 つ以上のトラック フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラック識別子として使用される場合、フィーチャ [ID007, Solden] と [ID007, Tokoyo] は 2 つの個別トラックになります。Destination フィールドの値が異なるからです。

また、任意で入力フィーチャにバッファーを適用することもできます。バッファーを適用すると、生成されるトラックはエリア フィーチャになります。

バッファーを適用し、トラックに再構築した入力ポイント
バッファーが適用された入力ポイントは、トラックに再構築されます。

バッファーは、フィールドまたはバッファー条件式を使用して作成されます。バッファー条件式と書式設定の詳細については、「GeoAnalytics ツール での条件式の使用」をご参照ください。トラック対応条件式を適用できます。たとえば、方程式 mean($track.field["wind_speed].history(-4, -1)) を使用してトラック内の前の 3 つのフィーチャの wind_speed フィールドの平均によって、現在のフィーチャをバッファー処理できます。

入力フィーチャをバッファー処理すると、入力フィーチャごとにバッファー処理されます。次に、凸包が生成され、エリア トラックが作成されます。

入力ポイント (緑)、視覚化用の中間バッファー (青のハッチング)、生成されるポリゴン トラック (青)
入力ポイント (緑)、視覚化用の中間バッファー (青のハッチング)、生成されるポリゴン トラック (青) の例が表示されます。

デフォルトでは、トラックは測地線による方法で作成されます。この方法は、解析の以下の 2 つのコンポーネントに適用されます。

  • 国際日付変更線をまたぐトラック - 測地線による方法を使用する場合、国際日付変更線をまたぐ入力レイヤーには、国際日付変更線を正しく横断するトラックが含まれます。これがデフォルト値になります。入力レイヤーまたは処理空間参照は、国際日付変更線周辺の折り返しをサポートする空間参照に設定される必要があります (正積円筒図法のようなグローバル投影など)。
  • バッファー - 入力フィーチャは任意でバッファーすることもできます。測地線バッファーまたは平面バッファーの適用について詳しくは、「バッファーの作成」をご参照ください。

トラックを分割する方法には、次の 3 通りがあります。

  • [入力間の時間に基づく] - 時間分割を適用します
  • [定義済み時間間隔] - 時間の境界を適用します
  • [入力間の距離に基づく] - 距離分割を適用します

時間分割を適用すると、入力データが指定時間よりも大きい場合に、トラックが分割されます。たとえば、同じトラック識別子を持つフィーチャが 5 つあり、その時間が [01:00, 02:00, 03:30, 06:00, 06:30]、時間分割が 2 時間に設定されている場合、2 時間以上の間隔のあるフィーチャは分割されます。この例では、結果は [01:00, 02:00, 03:30] と [06:00, 06:30] となります。03:30 と 6:00 は 2 時間以上開いているからです。

時間境界セグメントを適用すると、定義済み間隔で追跡が行われます。たとえば、時間の境界を 1 日に設定し、1990 年 1 月 1 日午前 9 時から開始した場合、各トラックは毎日午前 9 時に切詰められます。時間分割を使用すると、解析のためのトラックを簡単に短縮できるため、計算時間を高速化できます。時間境界の繰り返しによる分割が解析で有効な場合は、ビッグ データ処理にこの方法を使用することをお勧めします。

距離分割を適用すると、入力データが指定距離よりも大きい場合に、トラックが分割されます。たとえば、距離分割を 5 キロメートルに設定した場合、5 キロメートル以上の連続したフィーチャは異なるトラックに分けられます。

0、1、2、または 3 つの分割オプションを同時に適用できます。6 時間の時間分割、1 日の時間境界、16 キロメートルの距離分割を適用することを前提とした場合の結果は、次のように異なります。

時間と距離の変化による分割の 5 つの入力ポイント (緑色) 例
時間と距離の変化による分割の 5 つの入力ポイント (黄色) 例が表示されます。

分割オプション説明

時間と位置を含む 6 つの入力ポイント。

同じ識別子の付いた入力ポイント。ポイント間の距離は点線の上にマークされ、各ポイント測定の時間はポイントの下にマークされます。タイムラインには 4 つの分割があります。赤色の分割は、午前 12 時から始まる 1 日の時間境界の分割を表します。青色の分割は、2 つのポイント間の距離が 16 km を超える距離分割を表します。紫色の分割は、2 つの連続したポイント間の時間距離が 6 時間を超える時間分割を表します。

時間分割なし、距離分割なしの例

時間分割なし、距離分割なしの例。

2 時間の時間分割を伴う例

2 時間の時間分割を伴う例。2 時間以上離れているフィーチャは、別々のトラックに分割されます。

1 日の時間境界を伴う例

午前 12 時から始まる、1 日の時間境界を伴う例。指定された時間 (ここでは午前 12 時) から始まる 1 日の間隔に対して、それぞれ新しいトラックが作成されます。

16 キロメートルの距離分割を伴う例

16 キロメートルの距離分割を伴う例。16 キロメートル以上離れているフィーチャ (午前 5 時のフィーチャと午前 6 時のフィーチャ) は、別々のトラックに分割されます。

6 時間の時間分割と、午前 12 時から始まる 1 日の時間境界の分割を伴う例

6 時間の時間分割と、午前 12 時から始まる 1 日の時間境界を伴う例 6 時間以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、別々のトラックに分割されます。

6 時間の時間分割と 16 km の距離分割を伴う例

6 時間の時間分割と 16 km の距離分割を伴う例。6 時間以上離れているフィーチャ (午前 6 時のフィーチャと午後 7 時のフィーチャ) または 16 km 以上離れているフィーチャは、別々のトラックに分割されます。

16 km の距離分割と、午前 12 時から始まる 1 日の時間境界を伴う例

16 km の距離分割と、午前 12 時から始まる 1 の時間境界を伴う例。16 km 以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、別々のトラックに分割されます。

16 km の距離分割、6 時間の時間分割、および午前 12 時から始まる 1 日の時間境界を伴う例

16 km の距離分割、6 時間の時間分割、および午前 12 時から始まる 1 日の時間境界を伴う例。16 km 以上離れているフィーチャ、6 時間以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、別々のトラックに分割されます。

以下の例は、航空路線のフライト便を使用し、分割パラメーターとフィールド識別子パラメーターを使用してトラックを定義することの有効性を示したものです。

  • 航空機フィーチャには、aircraft IDflight IDpilot name、および start time フィールドがあります。
    • 各航空機の移動履歴を確認する場合は、識別子に aircraft ID を使用します。
    • 個別のルートを比較する場合は、識別子として aircraft ID および flight ID フィールドを使用します。
    • 1 年間の各航空機のフライト便を調査する場合は、aircraft id と 1 年の時間境界を使用します。
    • 各パイロットのフライト便を確認する場合は、 pilot nameaircraft ID、および start time を使用します。
    • 1,000 キロメートル以上離れている測定値を同じトラックに含めない場合、aircraft ID を識別子として使用し、1,000 キロメートルを超える距離で分割して新しいトラックを決定します。

出力トラックは、トラック識別子として使用されるフィールド、トラック内のフィーチャ数 (count)、各トラックの開始時間と終了時間 (start_datetimeend_datetime)、トラックの間隔 (ミリ秒、duration)、およびその他のオプション統計を返します。

[現在のマップ範囲を使用] がオンの場合、現在のマップ範囲に表示されるフィーチャだけが解析されます。オフの場合、入力レイヤーのすべての入力フィーチャが、現在のマップ範囲内になくても解析されます。

制限事項

入力は、タイプが「インスタント」の時間対応フィーチャを含む、ポイント レイヤーまたはエリア レイヤーでなくてはなりません。時間を含まないフィーチャは、出力トラックには含まれません。

トラックの再構築の仕組み

方程式

分散は以下の方程式で算出されます。

分散の方程式
分散の変数

標準偏差は、分散の平方根として算出されます。

演算

入力レイヤーは、一意の識別子を使用してトラックに集約されます。集約結果は、トラック内で計算されます。

各トラックは、任意で数値統計情報 ([個数][合計][最小][最大][範囲][平均][標準偏差][分散]) または文字列統計情報([個数][すべて]) をトラック内で集約されるフィーチャに適用できます。

個数統計 (文字列フィールドと数値フィールド) は、非 NULL の値を数えます。次の値の数は 5 です: [0, 1, 10, 5, null, 6] = 5。このセットの値の数は 3 です: [Primary, Primary, Secondary, null] = 3

ArcGIS API for Python の例

[トラックの再構築 (Reconstruct Tracks)] ツールは ArcGIS API for Python で使用できます。

この例では、ハリケーン進路を再構築します。


# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS from arcgis.geoanalytics import summarize_data
# 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_NaturalDisasters")
# Look through the big data file share for hurricanes hurricanes = next(x for x in bd_file.layers if x.properties.name == "Hurricanes")
# Set the tool environment settings arcgis.env.verbose = True
# Reconstruct the hurricane tracks by their serial_number track_result = summarize_data.reconstruct_tracks(input_layer = hurricanes, 
                                                 track_fields = "serial_num",                                                 method = 'Geodesic',                                                 output_name = "hurricane_tracks")
# Visualize the tool results if you are running Python in a Jupyter Notebook processed_map = portal.map('World') processed_map.add_layer(track_result) processed_map

類似のツール

[トラックの再構築] を使用すると、トラック内のフィーチャを集計できます。その他のツールは、類似した少し異なる問題を解決するのに効果的です。

Map Viewer解析ツール

異なる空間関係を使用してポイント、ライン、エリアを集計しようとしている場合は、GeoAnalytics ツール[フィーチャの結合 (Join Features)] を使用します。

ArcGIS Desktop 解析ツール

GeoAnalytics ツール[トラックの再構築 (Reconstruct Tracks)]ArcGIS Pro でも利用できます。

ツールを ArcGIS Pro から実行するには、プロジェクトのアクティブなポータルで ArcGIS Enterprise 10.5 以上を実行している必要があります。10.5 では、ポータルで空間解析を実行できる権限を持つアカウントで、ポータルにサイン インしている必要があります。