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

ジオ距離左結合

バッチで対応

入力ジオメトリ間の距離が指定された距離以下である場合、データセットを左結合します。内部的には、結合前にジオメトリを指定された投影座標参照系に変換し、WGS84に戻します。 変換カテゴリー:地理空間、結合

宣言された引数

  • 左側で選択する行の条件 - 左側の入力スキーマのすべての行は、この条件に一致するかどうかをテストされます。一致する場合、行は出力で選択されます。
    ColumnPredicate
  • 右側で選択する行の条件 - 右側の入力スキーマのすべての行は、この条件に一致するかどうかをテストされます。一致する場合、行は出力で選択されます。
    ColumnPredicate
  • 距離 - 座標参照系と同じ単位で、ジオメトリを結合する距離。
    Literal<DefiniteNumeric>
  • 結合キー - 左および右の入力からの geojson 列を結合する。
    Tuple<Column<Geometry>, Column<Geometry>>
  • 左データセット - 結合で使用する左データセット。
    Table
  • 投影座標系 - 結合前に入力ジオメトリをこの座標系に変換し、指定された座標系の単位で距離が測定されます。権限 としてフォーマットされています。たとえば、UTM ゾーン 18N は EPSG:32618 で識別できます。
    Literal<String>
  • 右データセット - 結合で使用する右データセット。
    Table
  • 任意 右からの列のプレフィックス - 右側のすべての列に追加するプレフィックス。
    Literal<String>

例 1 - ベースケース

引数の値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • 距離: 1640.42
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左データセット: ri.foundry.main.dataset.left
  • 投影座標系: epsg:2868
  • 右データセット: ri.foundry.main.dataset.right
  • 右からの列のプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | geometryColRhs | rhs-1 | | ----- | ----- | ----- | ----- | | {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 | {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 | | null | 43.0 | null | null |

例 2 - ベースケース

引数の値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryCol, col1, arrayCol],
    )
  • 距離: 10.0
  • 結合キー: (geometryColLhs, geometryCol)
  • 左データセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:4326
  • 右データセット: ri.foundry.main.dataset.right
  • 右からの列のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | rhs_geometryCol | rhs_col1 | rhs_arrayCol | | ----- | ----- | ----- | ----- | ----- | | {"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": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"} | rhsVal1 | [ 0.0, 1.0 ] | | {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 | null | null | null | | {"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"} | 44.0 | {"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"} | rhsVal1 | [ 0.0, 1.0 ] | | {"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"} | 44.0 | {"coordinates": [10.0, 10.0], "type":"Point"} | rhsVal4 | [ 0.0, 1.0 ] | | {"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"} | 44.0 | {"coordinates": [14.0, 14.0], "type":"Point"} | rhsVal5 | [ 0.0, 1.0 ] | | {"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": [10.0, 10.0], "type":"Point"} | rhsVal4 | [ 0.0, 1.0 ] | | {"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 | [ 0.0, 1.0 ] | | {"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": [14.0, 14.0], "type":"Point"} | rhsVal5 | [ 0.0, 1.0 ] |

例 3 - ベースケース

引数の値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • 距離: 1641
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左データセット: ri.foundry.main.dataset.left
  • 投影座標系: epsg:2868
  • 右データセット: ri.foundry.main.dataset.right
  • 右からの列のプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | geometryColRhs | rhs-1 | | ----- | ----- | ----- | ----- | | {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 | {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 | | null | 43.0 | null | null |

例 4 - ベースケース

引数の値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • 距離: 1641
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左データセット: ri.foundry.main.dataset.left
  • 投影座標系: epsg:2868
  • 右データセット: ri.foundry.main.dataset.right
  • 右からの列のプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | geometryColRhs | rhs-1 | | ----- | ----- | ----- | ----- | | {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 | {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 | | null | 43.0 | null | null |

例 5 - Null ケース

引数の値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • 距離: 1640.42
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左データセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:2868
  • 右データセット: ri.foundry.main.dataset.right
  • 右からの列のプレフィックス: null 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | geometryColRhs | rhs-1 | | ----- | ----- | ----- | ----- | | {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 | {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 | | null | 43.0 | null | null |