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

ジオ距離レフトジョイン

サポート対象: バッチ

指定された距離以下の場合に入力ジオメトリ間の距離を基準にデータセットをレフトジョインします。内部的には、ジオメトリを指定された投影座標リファレンスシステムに変換してからジョインし、WGS84に戻します。

トランスフォームカテゴリー: ジオスペーシャル、ジョイン

引数

  • 左側で選択する列の条件 - 左側の入力スキーマのすべての列がこの条件に一致するかどうかをテストします。一致する場合、その列は出力に選択されます。
    ColumnPredicate
  • 右側で選択する列の条件 - 右側の入力スキーマのすべての列がこの条件に一致するかどうかをテストします。一致する場合、その列は出力に選択されます。
    ColumnPredicate
  • 距離 - ジオメトリをジョインする距離。同じ単位で座標リファレンスシステム内にあります。
    Literal<DefiniteNumeric>
  • ジョインキー - ジョインする左側と右側の入力からのgeojson列。
    Tuple<Column<Geometry>, Column<Geometry>>
  • 左側データセット - ジョインに使用する左側のデータセット。
    Table
  • 投影座標系 - ジョイン前に入力ジオメトリをこの座標系に変換し、距離を指定された座標系の単位で測定します。"authority"の形式で、たとえば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.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
null43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
{"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"}rhsVal2

出力:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
null43.0nullnull

例 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.left

geometryColLhslhs-1
{"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": [55.0, 5.0], "type":"Point"}43.0
{"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"}44.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"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": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}rhsVal2[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3[ 0.0, 1.0 ]
{"coordinates": [10.0, 10.0], "type":"Point"}rhsVal4[ 0.0, 1.0 ]
{"coordinates": [14.0, 14.0], "type":"Point"}rhsVal5[ 0.0, 1.0 ]
{"coordinates": [25.0, 25.0], "type":"Point"}rhsVal6[ 0.0, 1.0 ]

出力:

geometryColLhslhs-1rhs_geometryColrhs_col1rhs_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.0nullnullnull
{"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.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
null43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
{"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"}rhsVal2

出力:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
null43.0nullnull

例 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.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
null43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
{"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"}rhsVal2

出力:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
null43.0nullnull

例 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.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
null43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
{"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"}rhsVal2
nullrhsVal3

出力:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
null43.0nullnull