フィーチャの結合

ツール アイコン リアルタイムのビッグ データ解析で使用できます。

[フィーチャの結合] ツール フィーチャの結合ボタン は、空間、時系列、および属性リレーションシップ (またはその組み合わせ) に基づいて、あるフィード、レイヤー、テーブル内のフィーチャから、同じフィード内の他のフィーチャ、または別のフィードやデータセット内のフィーチャに属性を転送します。 必要に応じて、結合されたフィーチャの統計情報も計算できます。

ワークフロー図

フィーチャの結合のワークフロー図

以下は、[フィーチャの結合] ツールの使用例です。

  • あるアナリストは、都市の犯罪インシデントに関するデータを持っています。 これらの犯罪の影響を解析および調査するために、犯罪の発生場所と都市のさまざまな管轄区域 (学区、警察の巡回区域、近隣地区など) との関係を理解する必要があります。 [フィーチャの結合] ツールを使用することで、場所に関する詳細情報を各犯罪に紐付けて、さまざまな管轄区域への影響を詳細に調査および解析できます。
  • 一方のフィードに含まれる貨物船が、他方のフィードに含まれる移動中の悪天候セルに入ると、その貨物船に悪天候イベント フィーチャの属性が付加されます。

使用上の注意

[フィーチャの結合] ツールを操作する際には、以下の点に注意してください。

  • 空間リレーションシップ、時系列リレーションシップ、属性リレーションシップ、またはこれら 3 つの組み合わせに基づいてフィーチャを結合できます。

    オプション説明
    空間リレーションシップ

    空間リレーションシップ

    フィーチャが互いに結合しているかどうかを判断する空間リレーションシップ。 使用可能なリレーションシップは、結合されるレイヤーのジオメトリのタイプ (ポイント、ライン、エリア) によって決まります。 使用できる空間リレーションシップは、次のとおりです。

    • 交差する
    • Enter キー
    • 等しい
    • 終了
    • 最近接平面
    • 最近接測地線
    • 含む
    • 含まれる
    • 接する
    • 横切る
    • 重複する
    注意:

    退出が指定され、結合フィーチャが複数存在する場合、ターゲット フィーチャはすべての結合フィーチャに対して空間リレーションシップを満たす必要があります。 その他の空間リレーションシップで、複数の結合フィーチャが存在する場合、ターゲット フィーチャは、任意の個々の結合フィーチャとの空間リレーションシップを満たすことができます。

    時系列リレーションシップ

    時系列リレーションシップ

    フィーチャが互いに結合しているかどうかを判断する時系列リレーションシップ。 使用可能なリレーションシップは、結合されるレイヤーの時系列のタイプ (インスタントまたは間隔) によって決まります。 使用できる時系列リレーションシップは、次のとおりです。

    • 接続する
    • 接続される
    • 重複する
    • 重複される
    • 期間内にある
    • 含む
    • 等しい
    • 終了する
    • 終了される
    • 開始する
    • 開始される
    • 交差する
    • 最近接
    属性リレーションシップ

    属性リレーションシップ

    フィーチャが互いに結合しているかどうかを判断する属性リレーションシップ。 フィーチャは、結合レイヤーのフィールド値がターゲット レイヤーのフィールド値に等しい場合に一致します。

  • 同じターゲット フィーチャに複数のフィーチャが一致する場合、すべての一致するフィーチャを個別に結合するか ([1 対多の結合])、または一致するすべてのフィーチャをまとめて結合するかどうか ([1 対 1 の結合]) を決定できます。
    • 1 対 1 の結合 - このオプションを選択すると、一致する結合フィーチャがすべて、ターゲット レイヤーの各フィーチャに集約されます。 一致するフィーチャがあるターゲット フィーチャのみが出力に含まれます。 結合されたフィーチャの個数は、合計、最小、最大、範囲、平均、分散、標準偏差などの他の統計情報とともに追加されます。 [1 対 1 の結合] 操作が指定されている場合のみ、統計サマリーが計算されます。
    • [1 対多の結合] - このオプションを選択すると、一致するフィーチャがすべてターゲット レイヤーに結合されます。 結果レイヤーには、ターゲット フィーチャの複数レコードが含まれます。
      フィーチャの 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 フィールドからターゲット フィーチャを結合できます。

    フィーチャの結合での Arcade 条件式の詳細

  • リアルタイム解析で [空間リレーションシップ][進入] または [退出] に設定されている場合、以下の点に注意してください。
    • ツールはステートフルな形式で動作し、シーケンシャルな観測データを互いに比較して状態の変化、たとえば、現在の条件が前回の観測データと異なっているかどうかを検出できます。 リアルタイム解析の他の空間リレーションシップについては、ツールが観測データを以前の観測データと比較する必要がないため、ステートレスな方法で実行でき、リソースの使用量が減少します。
    • ステートフルな方法で動作する場合、[フィーチャの結合] ツールは、トラック ID ごとの現在の観測データの状態ストアを維持します。 新しい観測データを受信すると、同じトラック ID の現在の観測データと比較されます (存在する場合)。 新しい観測データのタイムスタンプが、状態ストア内の現在の観測データよりも新しい場合、現在の観測データが置き換えられます。 同じトラック ID の現在の観測データと同じタイムスタンプが付与されている場合、ツールは 2 つの観測データを区別できません。 これにより、ツールが状態ストア内の現在の観測データが新しい観測データを置き換えず、新しい観測データが状態ストアに追加されないため、このトラック ID に対する今後の観測データは、新しいタイムスタンプが付与された新しい観測データを受信するまで、状態ストアに残っている現在の観測データと比較されます。 ツールは、この事象が発生したことを示す警告をログに記録します。
    • [最初の観測データで進入をトリガー] または [最初の観測データで退出をトリガー] をオンにすると、受信された最初のターゲット フィーチャがいずれかの結合フィーチャの内部 ([進入] の場合) または外部 ([退出] の場合) に存在する場合、ターゲット フィーチャの現在の位置を以前のターゲット フィーチャと比較する必要なしにフィルター条件を満たすことを意味します。 デフォルトは false (オフ) です。
    • この [結合先のタイム ウィンドウ] パラメーターは、任意のトラックの観測間の予想される最長期間に、最低限設定する必要があります。 この期間より古い観測データは、リソースを管理するためにメモリから削除されます。
      • 値が少なすぎると、新しい観測データが到着する前にフィーチャ ストアからレコードが削除される可能性があるため、この値は多めに設定することをおすすめします。 これは、履歴情報がフィーチャ ストアから削除され、次のフィーチャが最初の観測データとして扱われることを意味します。 つまり、解析では前の観測データについての情報がまったくわからないため、観測データが [フィーチャの結合] ツールに進入または退出することはありません。
  • 動的ジオフェンシングでは、[タイム ウィンドウの結合] パラメーターを設定する必要があります。 結合フィードに END_TIME タグが付いたフィールドが含まれておらず、結合フィーチャの最新の観測データがこのウィンドウよりも古い場合、観測データはツールのメモリから削除され、解析には含まれません。 結合フィードに END_TIME タグが付いたフィールドが含まれている場合、END_TIME タグが付いたフィールドの値に応じたタイミングか、結合タイム ウィンドウが終了するタイミングのどちらか早い方で、フィーチャは期限切れになり、ジオフェンス ストアから消去されます。
  • [1 対 1 の結合] 操作で使用されている指定の空間、時系列、または属性リレーションシップを満たしているフィーチャに限り、統計情報が計算されます。 数値統計情報と文字列統計情報を計算できます。

パラメーター

[フィーチャの結合] ツールを操作する際には、以下の点に注意してください。

パラメーター説明データ タイプ

ターゲット レイヤー

処理対象のフィーチャを含むターゲット レイヤー。

フィーチャ

結合レイヤー

ターゲット レイヤーのフィーチャに結合されるフィーチャを含むレイヤー。

フィーチャ

結合方法

結合が 1 対 1 または 1 対多のいずれであるかを指定します。

  • [1 対 1 の結合] - ターゲット フィーチャと同じ数の結果を常に返します。または、いずれかの結合フィーチャと一致しないターゲット フィーチャが存在する場合は、ターゲット フィーチャより少ない数の結果を返します。 結合フィーチャの属性が、[集計フィールド] パラメーターで指定されたとおりに集計されます。
  • [1 対多の結合] - ターゲット フィーチャと結合フィーチャの間の一致ごとにレコードが返されます。 結合フィーチャの属性は集計されません。

String

すべてのフィーチャを保持

正しい結合が存在するフィーチャのみを保持するか、正しい結合が存在するかどうかにかかわらずすべてのフィーチャを保持するかを指定します。 このオプションは、1 対 1 の結合の場合のみ使用できます。

1 対多の結合ではこのオプションは使用できず、正しい結合が存在するフィーチャのみが返されます。

すべてのフィーチャを保持する場合、結合が存在しないフィーチャについて個数は 0 で、集計フィールドの値は NULL です。

String

空間リレーションシップ

フィーチャを空間的に結合するために使用される条件を指定します。 このパラメーターがオンになっている場合、さまざまな[空間] 条件を使用できます。

  • [含む] - ターゲット フィーチャは結合フィーチャを完全に含みます。
  • [等しい] - ターゲット フィーチャは結合フィーチャと一致します。
  • [交差する] - ターゲット フィーチャはそのジオメトリの一部を結合フィーチャと共有します。
  • [最近接測地線] - 平面上のターゲット フィーチャと結合フィーチャ間の距離ではなく、曲面上のターゲット フィーチャと結合フィーチャ間の距離。
  • [最近接平面] - 2 次元デカルト平面におけるターゲット フィーチャと結合フィーチャ間の距離。
  • [含まれる] - ターゲット フィーチャは結合フィーチャ内に完全に含まれます。

String

空間的近接距離

ターゲット フィーチャの指定された範囲内にある結合フィーチャが、空間結合の対象と見なされます。 空間的近接距離は、空間リレーションシップが [最近接測地線] または [最近接平面] に設定されている場合にのみ有効です。

Linear Unit

時系列リレーションシップ

フィーチャの一致に使用される時間条件を指定します。 [時間] をオンにした場合に、このパラメーターが表示されます。 時間フィーチャが [インスタント][間隔] の場合では、使用可能な時間条件が異なります。

  • [一致する] - ターゲットの時間間隔の終了と結合時間間隔の開始が一致すると、ターゲットの時間が結合時間を満たします。
  • [一致される] - ターゲットの時間間隔の開始が結合時間間隔の終了と一致する場合、結合時間はターゲットの時間を満たします。
  • [オーバーラップ] - ターゲットの時間間隔の開始および終了が、結合時間間隔の開始および終了より前である場合、ターゲットの時間は結合時間とオーバーラップします。
  • [重複される] - ターゲットの時間間隔の開始および終了が、結合時間間隔の開始および終了より後である場合、結合時間はターゲットの時間とオーバーラップします。
  • [期間内にある] - ターゲット時間が結合時間間隔の開始と終了の間に発生する場合、ターゲット時間は結合時間内です。
  • [含む] - 結合時間がターゲット時間間隔の開始と終了の間に発生する場合、ターゲット時間は結合時間を含みます。
  • [等しい] - 2 つの時間は、それらの特定の時点または間隔が同一である場合に、等しいと見なされます。
  • [終了] - ターゲット時間の終了と結合時間が同時で、ターゲット時間の開始が結合時間より前である場合、ターゲット時間に結合時間が終了します。
  • [終了される] - 結合フィーチャ時間の終了とターゲット時間が同時で、結合時間がターゲット時間の後に開始される場合、結合時間によりターゲット時間が終了します。
  • [開始] - ターゲット時間の開始と結合時間間隔の開始が同時で、結合時間間隔より前に終了する場合、ターゲット時間により結合時間が開始します。
  • [開始される] - ターゲット時間間隔の開始と結合時間が同時で、結合時間より後に終了する場合、結合時間によりターゲット時間が開始します。
  • [交差] - ターゲット時間の一部が結合時間と同時である場合、ターゲット時間は結合時間と交差します。
  • [近く] - ターゲット時間が結合時間から指定された範囲内の場合、ターゲット時間は結合時間に近いと見なされます。
  • [付近 (前)] - ターゲット時間が結合時間より前で、結合時間から指定された範囲内の場合、ターゲット時間は結合時間の付近 (前) です。
  • [付近 (後)] - ターゲット時間が結合時間より後で、結合時間から指定された範囲内の場合、ターゲット時間は結合時間の付近 (後) です。

String

時間的近接距離

イベント間の時間。 お互いのこのタイム ウィンドウ内で発生するイベント間で、結合が発生します。 このパラメーターは、[時系列リレーションシップ][近い] に設定した場合に利用可能です。

時間単位

属性リレーションシップ

属性フィールド内の値に基づきフィーチャを結合します。 結合レイヤーの属性フィールドに一致するターゲット レイヤーの属性フィールドを指定します。 [属性] をオンにした場合に、このパラメーターが利用可能です。

  • [ターゲット フィールド] - 一致する値を含むターゲット レイヤーの属性フィールド。
  • [フィールドの結合] - 一致する値を含む結合レイヤーの属性フィールド。

String

サマリー フィールド

結合フィーチャの指定したフィールドに対して計算される統計情報を指定します。 統計情報は、1 対 1 の結合に関して計算されます。 指定したフィールドが文字列フィールド、数値フィールド、または日付フィールドのいずれであるかに応じて、異なる統計情報を使用できます。

  • [任意] - 文字列フィールド タイプのサンプル文字列。
  • [個数] - 非 NULL 値の数を計算します。 数値フィールドまたは文字列に使用できます。 [null, 0, 2] のデータの個数は 2 です。
  • [重複を除いたカウント] - 重複を除いた NULL 値でない値の数を計算します。 数値フィールドまたは文字列に使用できます。 [null, 4, 3, 4] の結果の重複を除いた個数は 2 です。
  • [合計] - フィールド内の数値の合計。 [null, 1, 3] の合計は 4 です。
  • [平方和] - 全体平均からの各観測データの自乗差の、全観測データにわたる合計。 [null, 2.2, 3.1, 4.7] の平方和は 3.206 です。
  • [最小] - 数値フィールドの最小値。 [0, 2, null] の最小値は 0 です。
  • [最大] - 数値フィールドの最大値。 [0, 2, null] の最大値は 2 です。
  • [平均] - 数値の平均。 [0,2, null] の平均値は 1 です。
  • [範囲] - 数値フィールドの範囲。 これは、最大値から最小値を減算して計算されます。 [0, null, 1] の範囲は 1 です。 [null, 4] の範囲は 0 です。
  • [分散] - トラック内の数値フィールドの分散。 [1] の分散は NULL です。 [null, 1,1,1] の分散は 1 です。
  • [標準偏差] - 数値フィールドの標準偏差。 [1] の標準偏差は NULL です。 [null, 1,1,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 と呼ばれます。 連続した複数の結合を実行する場合、名前が競合しないように、フィールド名は COUNTjoin_COUNTjoin_COUNT1join_COUNT2 のようになります。