概要
時間対応入力データからラインまたはポリゴン トラックを作成します。
図
使用法
[トラックの再構築 (Reconstruct Tracks)] は、ポイント フィーチャまたはポリゴン フィーチャで実行されます。入力レイヤーは、特定時点を表すフィーチャによって、時間が有効化されている必要があります。
トラックを識別するために、1 つ以上のフィールドを選択できます。トラックは、1 つ以上のトラック フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラック識別子として使用される場合、フィーチャ [ID007, Solden] と [ID007, Tokoyo] は 2 つの個別トラックになります。Destination フィールドの値が異なるからです。
バッファーが適用されたフィーチャはポリゴン トラックになります。バッファーが適用されない入力ポイント フィーチャは、ポリライン トラックになります。
入力フィーチャは、時間が有効化されており、特定時点を表すフィーチャで構成されます。結果は、時間の間隔を表すライン フィーチャまたはエリア フィーチャになります。間隔の開始時点と終了時点は、トラックの最初のフィーチャと最後のフィーチャによって決定されます。
線形の結果の場合、複数のポイントを含むトラックのみが返されます。バッファーを適用すると、すべてのフィーチャが返されます。
また、任意で入力フィーチャにバッファーを適用することもできます。バッファーを適用すると、生成されるトラックはポリゴン フィーチャになります。
入力フィーチャをバッファー処理すると、入力フィーチャごとにバッファー処理されます。次に、凸包が生成され、ポリゴン トラックが作成されます。
バッファー条件式で使用されるフィールドは数値でなければならず、入力の空間参照の単位を使用して適用されます。詳細については、「ArcGIS Enterprise 10.5 および 10.5.1 のバッファー条件式」または「ArcGIS Enterprise 10.6 以降のバッファー条件式」をご参照ください。ArcGIS Enterprise 10.6.1 以降では、トラック対応方程式を使用できます。
デフォルトでは、トラック内のポイント数またはポリゴン数のみが計算されます。[集計フィールド] パラメーターを指定して、追加の統計情報を計算できます。
デフォルトでは、トラックは測地線による方法で作成されます。この方法は、解析の以下の 2 つのコンポーネントに適用されます。
- 国際日付変更線をまたぐトラック - 測地線による方法を使用する場合、国際日付変更線をまたぐ入力レイヤーには、国際日付変更線を正しく横断するトラックが含まれます。これがデフォルトです。入力レイヤーまたは処理空間参照は、国際日付変更線周辺の折り返しをサポートする空間参照に設定される必要があります (たとえば、正積円筒図法などのグローバル投影)。
- バッファー - 入力フィーチャは任意でバッファーすることもできます。測地線バッファーまたは平面バッファーの適用について詳しくは、「バッファーの作成」をご参照ください。
トラックは次の方法で分割できます。
- [時間分割] - 入力間の時間に基づきます。時間分割を適用すると、入力データが指定時間よりも大きい場合に、トラックが分割されます。たとえば、同じトラック識別子を持つフィーチャが 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 キロメートルの距離分割を適用することを前提とした場合の結果は、次のようになります。
分割オプション 詳細 時間と位置を含む 6 つの入力ポイント。
同じ識別子の付いた入力ポイント。ポイント間の距離は点線の上にマークされ、各ポイント測定の時間はポイントの下にマークされます。タイムラインに 4 つの分割があります。赤色の分割は、午前 12 時から始まる 1 日の時間境界の分割を表します。青色の分割は、2 つのポイント間の距離が 16 キロメートルを超える距離分割を表します。紫色の分割は、2 つの連続したポイント間の時間距離が 6 時間を超える時間分割を表します。
時間分割なし、距離分割なしの例。
2 時間の時間分割を伴う例。2 時間以上離れているフィーチャは、別々のトラックに分割されます。
午前 12 時から始まる、1 日の時間境界を伴う例。指定された時間 (ここでは午前 12 時) から始まる 1 日の間隔に対して、それぞれトラックが作成されます。
16 キロメートルの距離分割を伴う例。16 キロメートル以上離れているフィーチャ (午前 5 時のフィーチャと午前 6 時のフィーチャ) は、別々のトラックに分割されます。
6 時間の時間分割と、午前 12 時から始まる 1 日の時間境界を伴う例。6 時間以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、 別々のトラックに分割されます。
6 時間の時間分割と 16 キロメートルの距離分割を伴う例。6 時間以上離れているフィーチャ (午前 6 時のフィーチャと午前 7 時のフィーチャ) または 16 キロメートル以上離れているフィーチャ (午前 5 時のフィーチャと午前 6 時のフィーチャ) は、別々のトラックに分割されます。
16 キロメートルの距離分割と、午前 12 時から始まる 1 日の時間境界を伴う例。16 キロメートル以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、別々のトラックに分割されます。
16 キロメートルの距離分割、6 時間の時間分割、および午前 12 時から始まる 1 日の時間境界を伴う例。16 キロメートル以上離れているフィーチャ、6 時間以上離れているフィーチャ、または午前 12 時の時間分割と交差するフィーチャは、別々のトラックに分割されます。
以下の例は、航空路線のフライト便を使用し、分割パラメーターとフィールド識別子パラメーターを使用してトラックを定義することが有効な理由を示したものです。
- 航空機フィーチャには、aircraft ID、flight ID、pilot name、および start time フィールドがあります。
- それぞれの航空機が移動した位置を確認するには、aircraft ID フィールドを使用します。
- 個別のルートを比較するには、識別子として aircraft ID および flight ID フィールドを使用します。
- 1 年間の各航空機のフライト便を調査するには、aircraft ID フィールドと 1 年の時間境界を使用します。
- 各パイロットのフライトを表示するには、pilot name、aircraft ID、および start time フィールドを使用します。
- 1,000 キロメートル以上離れている測定値を同じトラックに含めない場合、aircraft ID を識別子として使用し、1,000 キロメートルを超える距離で分割して新しいトラックを決定します。
- 航空機フィーチャには、aircraft ID、flight ID、pilot name、および start time フィールドがあります。
出力トラックは、トラック識別子として使用されるフィールド、トラック内のフィーチャ数 (count)、各トラックの開始時間と終了時間 (start_datetime と end_datetime)、トラックの間隔 (ミリ秒、duration)、およびその他のオプション統計 (形式は statisticstype_fieldname)) を返します。
以下を 1 つ以上行うことで、[トラックの再構築 (Reconstruct Tracks)] ツールのパフォーマンスを向上させることができます。
- 対象データのみを解析するように、範囲環境を設定します。
- 測地線の代わりに平面方法を使用します。
- バッファーは適用しないでください。
- [時間分割]、[時間境界分割]、および [距離分割] パラメーターを使用して、トラックを分割します。[時間境界分割] は、パフォーマンスが最も向上します。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。
GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
次のツールを使用して、類似の解析を実行することもできます。
- [データ管理] ツールボックス内にある [ポイント → ライン (Points to Line)] ツール。
構文
ReconstructTracks(input_layer, output_name, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {summary_fields}, {data_store}, {distance_split}, {time_boundary_split}, {time_boundary_reference})
パラメーター | 説明 | データ タイプ |
input_layer | トラックに再構築するポイントまたはポリゴン。入力は、特定時点を表す時間対応レイヤーにする必要があります。 | Feature Set |
output_name | 出力フィーチャ サービスの名前。 | String |
track_fields [track_fields,...] | 一意のトラックを識別するために使用される 1 つ以上のフィールド | Field |
method | トラックの再構築に使用する基準を指定します。バッファーを使用する場合、method はバッファーのタイプを指定します。
| String |
buffer_type | バッファー距離の定義方法を指定します。
| String |
buffer_field (オプション) | 入力フィーチャのバッファーを作成するために使用するフィールド。地理座標系を使用していない限り、フィールドの値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。 | Field |
buffer_expression (オプション) | 入力フィーチャのバッファーを作成するために使用する条件式。フィールドは数値である必要があり、条件式には [ + - * / ] 演算子と複数のフィールドを含めることができます。地理座標系を使用していない限り、計算される値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。 ArcGIS Enterprise 10.5 および 10.5.1 の式は as_kilometers(distance) * 2 + as_meters(15) の形式になります。ArcGIS Enterprise 10.6 以降では、as_kilometers($feature.distance) * 2 + as_meters(15) などの Arcade 条件式を使用します。 入力フィーチャのバッファーを作成するために使用する条件式。フィールドは数値である必要があり、条件式には [ + - * / ] 演算子と複数のフィールドを含めることができます。地理座標系を使用していない限り、計算される値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。 ArcGIS Enterprise 10.5 および 10.5.1 の式は as_kilometers(distance) * 2 + as_meters(15) の形式になります。ArcGIS Enterprise 10.6 以降では、as_kilometers($feature.distance) * 2 + as_meters(15) などの Arcade 条件式を使用します。 | Calculator Expression |
time_split (オプション) | 時間次元で時間分割期間よりも離れているフィーチャは複数のトラックに分割されます。 | Time Unit |
summary_fields [summary_fields,...] (オプション) | 指定されたフィールドに関して計算される統計情報。
| Value Table |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。SPATIOTEMPORAL_DATA_STORE に格納されたすべての結果は、WGS84 で保存されます。RELATIONAL_DATA_STORE に格納された結果は、それらの座標系を維持します。
| String |
distance_split (オプション) | 距離次元で距離分割値よりも離れているフィーチャは複数のトラックに分割されます。このパラメーターは ArcGIS Enterprise 10.6 以降のライセンスでのみ利用可能です。 | Linear Unit |
time_boundary_split (オプション) | 入力データを解析用に分割する期間。時間境界により、指定期間内の値を解析できます。たとえば、時間境界を 1 日とした場合、1980 年 1 月 1 日から開始され、トラックは 1 日の開始時ごとに分割されます。このパラメーターは ArcGIS Enterprise 10.7 以降のライセンスでのみ利用可能です。 | Time Unit |
time_boundary_reference (オプション) | 入力データを解析用に分割する際に使用される基準時間。時間境界は、データの全期間に対して作成されます。基準時間は最初から作成する必要はありません。基準時間が使用されない場合、1970 年 1 月 1 日が使用されます。このパラメーターは ArcGIS Enterprise 10.7 以降のライセンスでのみ利用可能です。 | Date |
派生した出力
名前 | 説明 | データ タイプ |
output | 出力ラインまたはポリゴン トラック。 | フィーチャ セット |
コードのサンプル
次の Python ウィンドウ スクリプトは、ReconstructTracksツールの使用方法を示しています。
#-------------------------------------------------------------------------------
# Name: ReconstructTracks.py
# Description: Reconstruct hurricane points into hurricane tracks, where each location is buffered by the wind speed * 100
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
trackIdentifier = "EVENTID"
outFS = "HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Execute Reconstruct Tracks
arcpy.geoanalytics.ReconstructTracks(inFeatures, outFS, trackIdentifier,
"GEODESIC", "EXPRESSION", None,
bufferExpression, None, statistics)
環境
- 出力座標系
解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics ツール の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server