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

Geo distance inner join

サポート対象: Batch

入力ジオメトリ間の距離に基づいて、左と右のデータセットを内部結合します。内部的には、結合前にジオメトリを指定された投影座標リファレンスシステムに変換し、結合後にWGS84に戻します。

トランスフォームカテゴリ: Geospatial, Join

引数

  • 左側で選択する列の条件 - 左側の入力スキーマ内のすべての列がこの条件に一致するかどうかをテストします。一致する場合、列は出力に選択されます。
    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: [geometryCol, 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 ]

出力:

geometryColLhslhs-1rhs_geometryColrhs_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"}[ 0.0, 1.0 ]
{"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"}[ 0.0, 1.0 ]

例 2: 基本ケース

引数の値:

  • 左側で選択する列の条件:
    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

例 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

例 4: 基本ケース

引数の値:

  • 左側で選択する列の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右側で選択する列の条件:
    columnNameIsIn(
     columnNames: [],
    )
  • 距離: 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

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 ]

出力:

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

例 5: 基本ケース

引数の値:

  • 左側で選択する列の条件:
    columnNameIsIn(
     columnNames: [],
    )
  • 右側で選択する列の条件:
    columnNameIsIn(
     columnNames: [geometryCol, 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

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 ]

出力:

rhs_geometryColrhs_arrayCol
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}[ 0.0, 1.0 ]

例 6: Nullケース

引数の値:

  • 左側で選択する列の条件:
    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
null43.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 ]
nullrhsVal3[ 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 ]