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

Geoポイント間3D距離内部結合

サポート環境: バッチ

ポイントジオメトリの距離に基づいて左右のデータセットを内部結合します。ジオメトリはポイントを表し、必要に応じてz座標を含むことができます。内部的には、結合前にジオメトリを指定された投影座標参照系に変換し、WGS84に戻します。ポイント以外のジオメトリは無視され、全ての右側のデータセットはドライバーとエクゼキューターのメモリに収まる必要があります。3GBのエクゼキューターは、隣接データセットに最大400万ポイントを処理できます。 変換カテゴリ: 地理空間, 結合

宣言された引数

  • 左側で選択する行の条件 - 左入力スキーマの全行は、この条件と一致するかどうかをテストされます。一致した場合、その行は出力で選択されます。
    ColumnPredicate
  • 右側で選択する行の条件 - 右入力スキーマの全行は、この条件と一致するかどうかをテストされます。一致した場合、その行は出力で選択されます。
    ColumnPredicate
  • 距離 - ジオメトリを結合する距離、座標参照系の単位と同じ。
    Literal<DefiniteNumeric>
  • 結合キー - 左右の入力から結合するためのgeojson行。
    Tuple<行<Geometry>, 行<Geometry>>
  • 左側のデータセット - 結合に使用する左側のデータセット。
    Table
  • 投影座標系 - 入力ジオメトリは結合前にこの座標系に変換され、距離は指定された座標系の単位で測定されます。"authority"の形式で表され、例えばUTMゾーン18NはEPSG:32618で識別できます。
    Literal<String>
  • 右側のデータセット - 結合に使用する右側のデータセット。
    Table
  • z座標の使用 - z座標を含めて3次元距離を計算するかどうか。falseの場合、z座標は無視され、2次元距離が計算されます。
    Literal<Boolean>
  • オプション 右側の行のプレフィックス - 右側の全ての行に追加するプレフィックス。
    Literal<String>

例1 - ベースケース

引数値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • 距離: 2.5
  • 結合キー: (geometryColLhs, geometryCol)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:4326
  • 右側のデータセット: ri.foundry.main.dataset.right
  • z座標の使用: false
  • 右側の行のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | rhs_geometryCol | rhs_arrayCol | | ----- | ----- | ----- | ----- | | {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0], "type":"Point"} | 44.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0], "type":"Point"} | 44.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] |

例2 - ベースケース

引数値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • 距離: 2.5
  • 結合キー: (geometryColLhs, geometryCol)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:4326
  • 右側のデータセット: ri.foundry.main.dataset.right
  • z座標の使用: true
  • 右側の行のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | rhs_geometryCol | rhs_arrayCol | | ----- | ----- | ----- | ----- | | {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 0.0, 3.0], "type":"Point"} | [ 0.0, 1.0 ] | | {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [1.0, 1.0, 6.0], "type":"Point"} | [ 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
  • z座標の使用: false
  • 右側の行のプレフィックス: 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 |

例4 - ベースケース

引数値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [],
    )
  • 距離: 10.0
  • 結合キー: (geometryColLhs, geometryCol)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:4326
  • 右側のデータセット: ri.foundry.main.dataset.right
  • z座標の使用: false
  • 右側の行のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | | ----- | ----- | | {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 |

例5 - ベースケース

引数値:

  • 左側で選択する行の条件:
    columnNameIsIn(
     columnNames: [],
    )
  • 右側で選択する行の条件:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • 距離: 10.0
  • 結合キー: (geometryColLhs, geometryCol)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 投影座標系: EPSG:4326
  • 右側のデータセット: ri.foundry.main.dataset.right
  • z座標の使用: false
  • 右側の行のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | rhs_geometryCol | rhs_arrayCol | | ----- | ----- | | {"coordinates": [55.0, 5.0], "type":"Point"} | [ 0.0, 1.0 ] |

例6 - ヌルケース

引数値:

  • 左側で選択する行の条件:
    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
  • z座標の使用: false
  • 右側の行のプレフィックス: rhs_ 入力: ri.foundry.main.dataset.leftri.foundry.main.dataset.right出力: | geometryColLhs | lhs-1 | rhs_geometryCol | rhs_col1 | rhs_arrayCol | | ----- | ----- | ----- | ----- | ----- | | {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 | {"coordinates": [15.0, 5.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |