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

地理積集合左アンチ結合

サポート対象:ストリーミング

入力ジオメトリが重なるかどうかに基づいて、入力データセットをアンチ結合します。左側のデータセットのうち、右側のデータセットのどのジオメトリとも積集合を持たないジオメトリの行のみを返します。結合キーが null または無効な行は、積集合を持たないものとみなされます。

データ加工のカテゴリー:地理空間、結合

引数

  • 左側で選択する列の条件: 左側の入力スキーマの各列がこの条件に一致するかどうかを判定します。一致した列が出力に含まれます。
    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.left

geometryColLhscol1Lhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"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": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4

出力:

geometryColLhscol1Lhs
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

例2:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhslhs1
{}42.0
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs1
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1

出力:

geometryColLhslhs1
{}42.0

例3:基本ケース

引数の値:

  • 左側で選択する列の条件:
    columnNameIsIn(
     columnNames: [lhs1],
    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhslhs1
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs1
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1

出力:

lhs1
43.0

例4:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}1.0
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}2.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1

出力:

geometryColLhscol1Lhs

例5:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"coordinates": [55.0, 5.0], "type":"Point"}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"}2.0
{"coordinates": [15.0, 15.0], "type":"Point"}3.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"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], "type":"Point"}rhsVal2

出力:

geometryColLhscol1Lhs
{"coordinates": [55.0, 5.0], "type":"Point"}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"}2.0
{"coordinates": [15.0, 15.0], "type":"Point"}3.0

例6:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}1.0
{"coordinates": [55.0, 5.0], "type":"Point"}2.0
{"coordinates": [15.0, 5.0], "type":"Point"}3.0
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}4.0
{"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}5.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"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], "type":"Point"}rhsVal2
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal3

出力:

geometryColLhscol1Lhs
{"coordinates": [55.0, 5.0], "type":"Point"}2.0
{"coordinates": [15.0, 5.0], "type":"Point"}3.0
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}4.0
{"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}5.0

例7:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}1.0
{"coordinates": [55.0, 5.0], "type":"Point"}2.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"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": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal6

出力:

geometryColLhscol1Lhs
{"coordinates": [55.0, 5.0], "type":"Point"}2.0

例8:基本ケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometry, geometry)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: rhs_

入力:

ri.foundry.main.dataset.left

geometryvalue
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryvalue
{"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": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4

出力:

geometryvalue
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

例9:基本ケース

引数の値:

  • 左側で選択する列の条件:
    columnNameIsIn(
     columnNames: [geometryColLhs],
    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1

出力:

geometryColLhs
{"coordinates": [55.0, 5.0], "type":"Point"}

例10:null のケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhslhs1
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}1.0
null2.0
{}3.0
{"coordinates": [55.0, 5.0], "type":"Point"}4.0

ri.foundry.main.dataset.right

geometryColRhsrhs1
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
nullrhsVal2

出力:

geometryColLhslhs1
null2.0
{}3.0
{"coordinates": [55.0, 5.0], "type":"Point"}4.0

例11:null のケース

引数の値:

  • 左側で選択する列の条件:
    allColumns(

    )
  • 右側で選択する列の条件:
    allColumns(

    )
  • 結合キー: (geometryColLhs, geometryColRhs)
  • 左側のデータセット: ri.foundry.main.dataset.left
  • 右側のデータセット: ri.foundry.main.dataset.right
  • 右側の列の接頭辞: null

入力:

ri.foundry.main.dataset.left

geometryColLhslhs1
null42.0
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs1
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1

出力:

geometryColLhslhs1
null42.0