リアルタイムのビッグ データ解析で使用できます。
[フィーチャの結合] ツール は、空間、時系列、および属性リレーションシップ (またはその組み合わせ) に基づいて、あるフィード、レイヤー、テーブル内のフィーチャから、同じフィード内の他のフィーチャ、または別のフィードやデータセット内のフィーチャに属性を転送します。 必要に応じて、結合されたフィーチャの統計情報も計算できます。
ワークフロー図
例
以下は、[フィーチャの結合] ツールの使用例です。
- あるアナリストは、都市の犯罪インシデントに関するデータを持っています。 これらの犯罪の影響を解析および調査するために、犯罪の発生場所と都市のさまざまな管轄区域 (学区、警察の巡回区域、近隣地区など) との関係を理解する必要があります。 [フィーチャの結合] ツールを使用することで、場所に関する詳細情報を各犯罪に紐付けて、さまざまな管轄区域への影響を詳細に調査および解析できます。
- 一方のフィードに含まれる貨物船が、他方のフィードに含まれる移動中の悪天候セルに入ると、その貨物船に悪天候イベント フィーチャの属性が付加されます。
使用上の注意
[フィーチャの結合] ツールを操作する際には、以下の点に注意してください。
- 空間リレーションシップ、時系列リレーションシップ、属性リレーションシップ、またはこれら 3 つの組み合わせに基づいてフィーチャを結合できます。
オプション 説明 空間リレーションシップ
フィーチャが互いに結合しているかどうかを判断する空間リレーションシップ。 使用可能なリレーションシップは、結合されるレイヤーのジオメトリのタイプ (ポイント、ライン、エリア) によって決まります。 使用できる空間リレーションシップは、次のとおりです。
- 交差する
- Enter キー
- 等しい
- 終了
- 最近接平面
- 最近接測地線
- 含む
- 含まれる
- 接する
- 横切る
- 重複する
注意:
退出が指定され、結合フィーチャが複数存在する場合、ターゲット フィーチャはすべての結合フィーチャに対して空間リレーションシップを満たす必要があります。 その他の空間リレーションシップで、複数の結合フィーチャが存在する場合、ターゲット フィーチャは、任意の個々の結合フィーチャとの空間リレーションシップを満たすことができます。
時系列リレーションシップ
フィーチャが互いに結合しているかどうかを判断する時系列リレーションシップ。 使用可能なリレーションシップは、結合されるレイヤーの時系列のタイプ (インスタントまたは間隔) によって決まります。 使用できる時系列リレーションシップは、次のとおりです。
- 接続する
- 接続される
- 重複する
- 重複される
- 期間内にある
- 含む
- 等しい
- 終了する
- 終了される
- 開始する
- 開始される
- 交差する
- 最近接
属性リレーションシップ
フィーチャが互いに結合しているかどうかを判断する属性リレーションシップ。 フィーチャは、結合レイヤーのフィールド値がターゲット レイヤーのフィールド値に等しい場合に一致します。
- 同じターゲット フィーチャに複数のフィーチャが一致する場合、すべての一致するフィーチャを個別に結合するか ([1 対多の結合])、または一致するすべてのフィーチャをまとめて結合するかどうか ([1 対 1 の結合]) を決定できます。
- 1 対 1 の結合 - このオプションを選択すると、一致する結合フィーチャがすべて、ターゲット レイヤーの各フィーチャに集約されます。 一致するフィーチャがあるターゲット フィーチャのみが出力に含まれます。 結合されたフィーチャの個数は、合計、最小、最大、範囲、平均、分散、標準偏差などの他の統計情報とともに追加されます。 [1 対 1 の結合] 操作が指定されている場合のみ、統計サマリーが計算されます。
- [1 対多の結合] - このオプションを選択すると、一致するフィーチャがすべてターゲット レイヤーに結合されます。 結果レイヤーには、ターゲット フィーチャの複数レコードが含まれます。
[結合方法] パラメーターを [1 対多の結合] に設定した場合、各ターゲット フィーチャの出力フィーチャクラスには複数の行が存在する場合があります。
- [フィーチャの結合] ツールで 1 対 1 の結合を構成するときは、[結合されたフィーチャのみを保持] または [結合結果にかかわらずフィーチャを保持] オプションを選択できます。
- [結合されたフィーチャのみを保持] を選択すると、結合データセットのフィーチャとの結合に成功したフィーチャが出力に含まれることになります。
- [結合結果にかかわらずフィーチャを保持] を選択すると、ターゲット データセットのフィーチャは、結合された属性が存在するかどうかにかかわらず出力に含まれます。
- すべてのフィーチャを保持するとき、フィーチャが保持されてもそのフィーチャに結合が存在しなければ COUNT の値は 0 で、集計フィールドの属性値は NULL です。
- このオプションは、1 対 1 の結合の場合のみ使用できます。
- ターゲット フィーチャと結合フィーチャの座標系が異なる場合、ターゲット フィーチャの座標系が使用されます。
- 1 つの結合フィーチャに複数のターゲット フィーチャとの空間リレーションシップがある場合、それはマッチするターゲット フィーチャの数だけカウントされます。 たとえば、あるポイントが 3 つのポリゴン内にある場合、そのポイントはポリゴンにつき 1 回、合計で 3 回カウントされます。
- [空間リレーションシップ] が [最近接測地線] または [最近接平面] に設定されている場合、ターゲット レイヤーが投影されているか、出力座標系が投影座標系に設定されている必要があります。
- 必要に応じて、フィーチャを結合するための式を作成できます。 式を指定すると、条件を満たすフィーチャのみが使用されます。 たとえば、式 $target["Magnitude"] > $join["Explosion"] を使用して、Explosion というフィールドを含む結合フィーチャより大きい場合のみ、Magnitude フィールドからターゲット フィーチャを結合できます。
- リアルタイム解析で [空間リレーションシップ] が [進入] または [退出] に設定されている場合、以下の点に注意してください。
- ツールはステートフルな形式で動作し、シーケンシャルな観測データを互いに比較して状態の変化、たとえば、現在の条件が前回の観測データと異なっているかどうかを検出できます。 リアルタイム解析の他の空間リレーションシップについては、ツールが観測データを以前の観測データと比較する必要がないため、ステートレスな方法で実行でき、リソースの使用量が減少します。
- ステートフルな方法で動作する場合、[フィーチャの結合] ツールは、トラック ID ごとの現在の観測データの状態ストアを維持します。 新しい観測データを受信すると、同じトラック ID の現在の観測データと比較されます (存在する場合)。 新しい観測データのタイムスタンプが、状態ストア内の現在の観測データよりも新しい場合、現在の観測データが置き換えられます。 同じトラック ID の現在の観測データと同じタイムスタンプが付与されている場合、ツールは 2 つの観測データを区別できません。 これにより、ツールが状態ストア内の現在の観測データが新しい観測データを置き換えず、新しい観測データが状態ストアに追加されないため、このトラック ID に対する今後の観測データは、新しいタイムスタンプが付与された新しい観測データを受信するまで、状態ストアに残っている現在の観測データと比較されます。 ツールは、この事象が発生したことを示す警告をログに記録します。
- [最初の観測データで進入をトリガー] または [最初の観測データで退出をトリガー] をオンにすると、受信された最初のターゲット フィーチャがいずれかの結合フィーチャの内部 ([進入] の場合) または外部 ([退出] の場合) に存在する場合、ターゲット フィーチャの現在の位置を以前のターゲット フィーチャと比較する必要なしにフィルター条件を満たすことを意味します。 デフォルトは false (オフ) です。
- この [結合先のタイム ウィンドウ] パラメーターは、任意のトラックの観測間の予想される最長期間に、最低限設定する必要があります。 この期間より古い観測データは、リソースを管理するためにメモリから削除されます。
- 値が少なすぎると、新しい観測データが到着する前にフィーチャ ストアからレコードが削除される可能性があるため、この値は多めに設定することをおすすめします。 これは、履歴情報がフィーチャ ストアから削除され、次のフィーチャが最初の観測データとして扱われることを意味します。 つまり、解析では前の観測データについての情報がまったくわからないため、観測データが [フィーチャの結合] ツールに進入または退出することはありません。
- 動的ジオフェンシングでは、[タイム ウィンドウの結合] パラメーターを設定する必要があります。 結合フィードに END_TIME タグが付いたフィールドが含まれておらず、結合フィーチャの最新の観測データがこのウィンドウよりも古い場合、観測データはツールのメモリから削除され、解析には含まれません。 結合フィードに END_TIME タグが付いたフィールドが含まれている場合、END_TIME タグが付いたフィールドの値に応じたタイミングか、結合タイム ウィンドウが終了するタイミングのどちらか早い方で、フィーチャは期限切れになり、ジオフェンス ストアから消去されます。
- [1 対 1 の結合] 操作で使用されている指定の空間、時系列、または属性リレーションシップを満たしているフィーチャに限り、統計情報が計算されます。 数値統計情報と文字列統計情報を計算できます。
パラメーター
[フィーチャの結合] ツールを操作する際には、以下の点に注意してください。
パラメーター | 説明 | データ タイプ |
---|---|---|
ターゲット レイヤー | 処理対象のフィーチャを含むターゲット レイヤー。 | フィーチャ |
結合レイヤー | ターゲット レイヤーのフィーチャに結合されるフィーチャを含むレイヤー。 | フィーチャ |
結合方法 | 結合が 1 対 1 または 1 対多のいずれであるかを指定します。
| String |
すべてのフィーチャを保持 | 正しい結合が存在するフィーチャのみを保持するか、正しい結合が存在するかどうかにかかわらずすべてのフィーチャを保持するかを指定します。 このオプションは、1 対 1 の結合の場合のみ使用できます。 1 対多の結合ではこのオプションは使用できず、正しい結合が存在するフィーチャのみが返されます。 すべてのフィーチャを保持する場合、結合が存在しないフィーチャについて個数は 0 で、集計フィールドの値は NULL です。 | String |
空間リレーションシップ | フィーチャを空間的に結合するために使用される条件を指定します。 このパラメーターがオンになっている場合、さまざまな[空間] 条件を使用できます。
| String |
空間的近接距離 | ターゲット フィーチャの指定された範囲内にある結合フィーチャが、空間結合の対象と見なされます。 空間的近接距離は、空間リレーションシップが [最近接測地線] または [最近接平面] に設定されている場合にのみ有効です。 | Linear Unit |
時系列リレーションシップ | フィーチャの一致に使用される時間条件を指定します。 [時間] をオンにした場合に、このパラメーターが表示されます。 時間フィーチャが [インスタント] と [間隔] の場合では、使用可能な時間条件が異なります。
| String |
時間的近接距離 | イベント間の時間。 お互いのこのタイム ウィンドウ内で発生するイベント間で、結合が発生します。 このパラメーターは、[時系列リレーションシップ] を [近い] に設定した場合に利用可能です。 | 時間単位 |
属性リレーションシップ | 属性フィールド内の値に基づきフィーチャを結合します。 結合レイヤーの属性フィールドに一致するターゲット レイヤーの属性フィールドを指定します。 [属性] をオンにした場合に、このパラメーターが利用可能です。
| String |
サマリー フィールド | 結合フィーチャの指定したフィールドに対して計算される統計情報を指定します。 統計情報は、1 対 1 の結合に関して計算されます。 指定したフィールドが文字列フィールド、数値フィールド、または日付フィールドのいずれであるかに応じて、異なる統計情報を使用できます。
| String |
結合条件 | 条件を指定のフィールドに適用します。 これらの条件を満たしているフィールドを含むフィーチャだけが結合されます。 たとえば、結合レイヤー内の HealthSpending 属性がターゲット レイヤー内の Income 属性の 20% よりも大きい場合に、結合をフィーチャに適用できます。 この式に適用される結合条件は $join["HealthSpending"] > $target["Income"] * .2 です。 | String |
最初の観測データで進入/退出をトリガー | 受信された最初のターゲット フィーチャが、[進入] の場合はいずれかの結合フィーチャの内部、[退出] の場合はすべての結合フィーチャの外部に存在する場合、ターゲット フィーチャの現在の位置を以前のターゲット フィーチャと比較する必要なしに空間リレーションシップ条件を満たすことを指定します。 デフォルトは false (オフ) です。 | Boolean |
ターゲット フィーチャのジオメトリを結合フィーチャのジオメトリに変更 | ターゲット フィーチャのジオメトリを結合フィーチャのジオメトリに変更します。 たとえば、ターゲット フィーチャがポイントで、結合対象の結合フィーチャがポリゴンの場合、ターゲット フィーチャでは結合フィーチャのポリゴン ジオメトリを想定します。 デフォルトは false です。 ターゲット フィーチャにジオメトリがない場合、ターゲット フィーチャでは結合対象の結合フィーチャのジオメトリを想定します。 ターゲット フィーチャにジオメトリがあり、結合対象の結合フィーチャにジオメトリがない場合、ターゲット フィーチャのジオメトリが失われ、テーブル形式になります。 注意:[すべてのフィーチャを保持] が true に設定されている場合、このパラメーターは有効ではありません。 出力フィーチャに異なるジオメトリを含めることはできません。 | Boolean |
結合先のタイム ウィンドウ | このパラメーターは、任意のトラックの観測間の予想される最長期間に、最低限設定する必要があります。 この期間より古い観測データは、リソースを管理するためにメモリから削除されます。 このパラメーターは、[空間リレーションシップ] が [進入] または [退出] に設定されている場合のみ有効です。 | String |
タイム ウィンドウの結合 | 結合フィードの有効期限 (動的ジオフェンシング)。 結合フィーチャの最新の観測データが指定したタイム ウィンドウより古い場合、その結合フィーチャは削除され、解析には含まれません。 結合フィードに END_TIME のタグが付けられたフィールドが存在する場合、このパラメーターはオプションです。 | String |
検討事項および制限事項
[フィーチャの結合] ツールを使用する際は、以下の検討事項および制限事項に注意してください。
- [1 対 1 の結合] 操作が指定されている場合のみ、統計サマリーが計算されます。
- COUNT フィールド名は、1 対 1 の結合の場合、結合されたフィーチャの数を表します。 COUNT フィールド名がターゲット スキーマに存在する場合、そのフィールドは join_COUNT と呼ばれます。 連続した複数の結合を実行する場合、名前が競合しないように、フィールド名は COUNT、join_COUNT、join_COUNT1、join_COUNT2 のようになります。