注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

ジオインターセクションインナージョイン

対応: バッチ、ストリーミング

入力ジオメトリが重なる場合、左右のデータセットを内部結合します。結果には、ジオメトリが接触するものも含まれます。 変換カテゴリー: 地理空間、結合

宣言された引数

  • 左側で選択する行に対する条件 - 左の入力スキーマのすべての行がこの条件に一致するかどうかがテストされます。一致する場合、出力で列が選択されます。
    ColumnPredicate
  • 右側で選択する行に対する条件 - 右の入力スキーマのすべての行がこの条件に一致するかどうかがテストされます。一致する場合、出力で列が選択されます。
    ColumnPredicate
  • 結合キー - 左右の入力からジョインするGeoJSON列。
    Tuple<Column<Geometry>, Column<Geometry>>
  • 左のデータセット - 結合で使用する左のデータセット。
    Table
  • 右のデータセット - 結合で使用する右のデータセット。
    Table
  • 任意 右側の列に追加するプレフィックス - 右側のすべての列に追加するプレフィックス。
    Literal<String>

例1 - 基本ケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | col1Lhs | geometryColRhs | col1Rhs | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} | rhsVal1 | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [0.0, 0.0], "type":"Point"} | rhsVal3 | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} | rhsVal5 | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} | rhsVal7 | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} | rhsVal9 |

例2 - 基本ケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 43.0 | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} | rhsVal1 |

例3 - 基本ケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: right_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | col1Lhs | right_geometryColRhs | right_col1Rhs | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} | rhsVal1 |

例4 - 基本ケース

引数の値:

  • 左側で選択する行に対する条件:
    columnNameIsIn(
     columnNames: [geometryColLhs],
    )
  • 右側で選択する行に対する条件:
    columnNameIsIn(
     columnNames: [geometryColRhs],
    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | geometryColRhs | | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} |

例5 - ヌルケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 43.0 | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} | rhsVal1 | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 43.0 | {"coordinates": [0.0, 0.0], "type":"Point"} | rhsVal2 |

例6 - ヌルケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"} | 43.0 | {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} | rhsVal1 |

例7 - エッジケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[[175.0, 175.0], [195.0, 175.0], [195.0, 195.0], [175.0, 195.0], [175.0, 175.0]]], "type": "Polygon"} | rhsVal1 |

例8 - エッジケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0], [5.0, 5.0], [0.0, 10.0], [10.0, 5.0], [0.0, 0.0]]], "type":"Polygon"} | 42.0 | {"coordinates": [[[0.0, 5.0], [2.5, 7.5], [4.0, 5.0], [2.5, 2.5], [0.0, 5.0]]], "type":"Polygon"} | rhsVal1 |

例9 - エッジケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | geometryColRhs | | ----- | ----- | | {"coordinates": [0.0, 0.0], "type":"Point"} | {"coordinates": [0.0, 0.0], "type":"Point"} |

例10 - エッジケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 0.0], "type":"Point"} | rhsVal1 |

例11 - エッジケース

引数の値:

  • 左側で選択する行に対する条件:
    allColumns(

    )
  • 右側で選択する行に対する条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左のデータセット: ri.foundry.main.dataset.left
  • 右のデータセット: ri.foundry.main.dataset.right
  • 右側の列に追加するプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs1 | geometryColRhs | rhs1 | | ----- | ----- | ----- | ----- | | {"coordinates": [[[0.0, 0.0, 0.0], [10.0, 0.0, 0.0], [10.0, 10.0, 0.0], [10.0, 10.0, 10.0], [0.0, 10.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.0, 0.0]]], "type": "Polygon"} | 42.0 | {"coordinates": [[[2.0, 2.0, 2.0], [7.0, 2.0, 2.0], [7.0, 7.0, 2.0], [7.0, 7.0, 7.0], [2.0, 7.0, 7.0], [2.0, 2.0, 7.0], [2.0, 2.0, 2.0]]], "type": "Polygon"} | rhsVal1 |