跳转至

Geo intersection inner join(几何相交内连接(Geo intersection inner join))

Supported in: Batch, Streaming

Inner joins left and right datasets together based on whether input geometries overlap. Includes just touching geometries in the results.

Transform categories: Geospatial, Join

Declared arguments

  • Condition for columns to select on the left: All columns in the left input schema will be tested to see if they match this condition. If they match, the column will be selected in the output.
    ColumnPredicate
  • Condition for columns to select on the right: All columns in the right input schema will be tested to see if they match this condition. If they match, the column will be selected in the output.
    ColumnPredicate
  • Join key: GeoJSON columns from the left and right inputs on which to join.
    Tuple\, Column\\>
  • Left dataset: Left dataset to use in join.
    Table
  • Right dataset: Right dataset to use in join.
    Table
  • optional Prefix for columns from right: Prefix to add to all columns on the right hand side.
    Literal\

Examples

Example 1: Base case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

geometryColRhs col1Rhs
{"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
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal7
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"} rhsVal8
{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal9
{"coordinates": [[[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal10

Output:

geometryColLhs col1Lhs geometryColRhs col1Rhs
{"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": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"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": [0.0, 0.0], "type":"Point"} rhsVal3
{"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": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal5
{"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": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal7
{"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": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal9

Example 2: Base case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{} 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

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

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

Example 3: Base case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: right_

Inputs:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

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

Output:

geometryColLhs col1Lhs right_geometryColRhs right_col1Rhs
{"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": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

Example 4: Base case

Argument values:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryColRhs],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

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

Output:

geometryColLhs geometryColRhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]} {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}

Example 5: Null case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
null 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

geometryColRhs rhs1
{"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
null rhsVal3

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"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 {"coordinates": [0.0, 0.0], "type":"Point"} rhsVal2

Example 6: Null case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
null 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

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

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

Example 7: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], "type": "Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[175.0, 175.0], [195.0, 175.0], [195.0, 195.0], [175.0, 195.0], [175.0, 175.0]]], "type": "Polygon"} rhsVal1

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], "type": "Polygon"} 42.0 {"coordinates": [[[175.0, 175.0], [195.0, 175.0], [195.0, 195.0], [175.0, 195.0], [175.0, 175.0]]], "type": "Polygon"} rhsVal1

Example 8: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [col1Rhs],
    )
  • Join key: (col, col)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

col col1Lhs
{"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

ri.foundry.main.dataset.right

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

Output:

col col1Lhs col1Rhs
{"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 rhsVal1

Example 9: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[0.0, 0.0], [5.0, 5.0], [0.0, 10.0], [10.0, 5.0], [0.0, 0.0]]], "type":"Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[0.0, 5.0], [2.5, 7.5], [4.0, 5.0], [2.5, 2.5], [0.0, 5.0]]], "type":"Polygon"} rhsVal1
{"coordinates": [[[0.0, 5.0], [2.0, 7.0], [4.0, 5.0], [2.0, 3.0], [0.0, 5.0]]], "type":"Polygon"} rhsVal2

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[0.0, 0.0], [5.0, 5.0], [0.0, 10.0], [10.0, 5.0], [0.0, 0.0]]], "type":"Polygon"} 42.0 {"coordinates": [[[0.0, 5.0], [2.5, 7.5], [4.0, 5.0], [2.5, 2.5], [0.0, 5.0]]], "type":"Polygon"} rhsVal1

Example 10: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs
{"coordinates": [0.0, 0.0], "type":"Point"}

ri.foundry.main.dataset.right

geometryColRhs
{"coordinates": [0.0, 0.0], "type":"Point"}
{"coordinates": [15.0, 15.0], "type":"Point"}

Output:

geometryColLhs geometryColRhs
{"coordinates": [0.0, 0.0], "type":"Point"} {"coordinates": [0.0, 0.0], "type":"Point"}

Example 11: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [0.0, 0.0], "type":"Point"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [0.0, 0.0], "type":"Point"} rhsVal1
{"coordinates": [15.0, 15.0], "type":"Point"} rhsVal2

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [0.0, 0.0], "type":"Point"} 42.0 {"coordinates": [0.0, 0.0], "type":"Point"} rhsVal1

Example 12: Edge case

Argument values:

  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    allColumns(

    )
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Right dataset: ri.foundry.main.dataset.right
  • Prefix for columns from right: null

Inputs:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[0.0, 0.0, 0.0], [10.0, 0.0, 0.0], [10.0, 10.0, 0.0], [10.0, 10.0, 10.0], [0.0, 10.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.0, 0.0]]], "type": "Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[2.0, 2.0, 2.0], [7.0, 2.0, 2.0], [7.0, 7.0, 2.0], [7.0, 7.0, 7.0], [2.0, 7.0, 7.0], [2.0, 2.0, 7.0], [2.0, 2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"coordinates": [[[12.0, 12.0, 12.0], [17.0, 12.0, 12.0], [17.0, 17.0, 12.0], [17.0, 17.0, 17.0], [12.0, 17.0, 17.0], [12.0, 12.0, 17.0], [12.0, 12.0, 12.0]]], "type": "Polygon"} rhsVal2

Output:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[0.0, 0.0, 0.0], [10.0, 0.0, 0.0], [10.0, 10.0, 0.0], [10.0, 10.0, 10.0], [0.0, 10.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.0, 0.0]]], "type": "Polygon"} 42.0 {"coordinates": [[[2.0, 2.0, 2.0], [7.0, 2.0, 2.0], [7.0, 7.0, 2.0], [7.0, 7.0, 7.0], [2.0, 7.0, 7.0], [2.0, 2.0, 7.0], [2.0, 2.0, 2.0]]], "type": "Polygon"} rhsVal1


中文翻译

几何相交内连接(Geo intersection inner join)

支持:批处理(Batch)、流处理(Streaming)

根据输入几何对象是否重叠,对左右数据集进行内连接。结果中包含仅接触的几何对象。

转换类别:地理空间(Geospatial)、连接(Join)

声明参数

  • 左侧列选择条件(Condition for columns to select on the left): 将测试左侧输入模式中的所有列是否匹配此条件。如果匹配,该列将被选中输出。
    ColumnPredicate
  • 右侧列选择条件(Condition for columns to select on the right): 将测试右侧输入模式中的所有列是否匹配此条件。如果匹配,该列将被选中输出。
    ColumnPredicate
  • 连接键(Join key): 左右输入中用于连接的 GeoJSON 列。
    Tuple\, Column\\>
  • 左侧数据集(Left dataset): 用于连接的左侧数据集。
    Table
  • 右侧数据集(Right dataset): 用于连接的右侧数据集。
    Table
  • 可选 右侧列前缀(Prefix for columns from right): 为右侧所有列添加的前缀。
    Literal\

示例

示例 1:基本情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

geometryColRhs col1Rhs
{"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
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal7
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"} rhsVal8
{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal9
{"coordinates": [[[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal10

输出:

geometryColLhs col1Lhs geometryColRhs col1Rhs
{"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": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"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": [0.0, 0.0], "type":"Point"} rhsVal3
{"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": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal5
{"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": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} rhsVal7
{"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": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"} rhsVal9

示例 2:基本情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{} 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

geometryColRhs rhs1
{"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 lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

示例 3:基本情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: right_

输入:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

geometryColRhs col1Rhs
{"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 col1Lhs right_geometryColRhs right_col1Rhs
{"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": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

示例 4:基本情况

参数值:

  • 左侧列选择条件:
    columnNameIsIn(
     columnNames: [geometryColLhs],
    )
  • 右侧列选择条件:
    columnNameIsIn(
     columnNames: [geometryColRhs],
    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs col1Lhs
{"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

ri.foundry.main.dataset.right

geometryColRhs col1Rhs
{"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 geometryColRhs
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,10.0],[10.0,10.0],[10.0,0.0],[0.0,0.0]]]} {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}

示例 5:空值情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
null 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

geometryColRhs rhs1
{"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
null rhsVal3

输出:

geometryColLhs lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"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 {"coordinates": [0.0, 0.0], "type":"Point"} rhsVal2

示例 6:空值情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
null 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

geometryColRhs rhs1
{"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 lhs1 geometryColRhs rhs1
{"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 {"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"} rhsVal1

示例 7:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], "type": "Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[175.0, 175.0], [195.0, 175.0], [195.0, 195.0], [175.0, 195.0], [175.0, 175.0]]], "type": "Polygon"} rhsVal1

输出:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], "type": "Polygon"} 42.0 {"coordinates": [[[175.0, 175.0], [195.0, 175.0], [195.0, 195.0], [175.0, 195.0], [175.0, 175.0]]], "type": "Polygon"} rhsVal1

示例 8:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    columnNameIsIn(
     columnNames: [col1Rhs],
    )
  • 连接键: (col, col)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

col col1Lhs
{"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

ri.foundry.main.dataset.right

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

输出:

col col1Lhs col1Rhs
{"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 rhsVal1

示例 9:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[0.0, 0.0], [5.0, 5.0], [0.0, 10.0], [10.0, 5.0], [0.0, 0.0]]], "type":"Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[0.0, 5.0], [2.5, 7.5], [4.0, 5.0], [2.5, 2.5], [0.0, 5.0]]], "type":"Polygon"} rhsVal1
{"coordinates": [[[0.0, 5.0], [2.0, 7.0], [4.0, 5.0], [2.0, 3.0], [0.0, 5.0]]], "type":"Polygon"} rhsVal2

输出:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[0.0, 0.0], [5.0, 5.0], [0.0, 10.0], [10.0, 5.0], [0.0, 0.0]]], "type":"Polygon"} 42.0 {"coordinates": [[[0.0, 5.0], [2.5, 7.5], [4.0, 5.0], [2.5, 2.5], [0.0, 5.0]]], "type":"Polygon"} rhsVal1

示例 10:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs
{"coordinates": [0.0, 0.0], "type":"Point"}

ri.foundry.main.dataset.right

geometryColRhs
{"coordinates": [0.0, 0.0], "type":"Point"}
{"coordinates": [15.0, 15.0], "type":"Point"}

输出:

geometryColLhs geometryColRhs
{"coordinates": [0.0, 0.0], "type":"Point"} {"coordinates": [0.0, 0.0], "type":"Point"}

示例 11:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [0.0, 0.0], "type":"Point"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [0.0, 0.0], "type":"Point"} rhsVal1
{"coordinates": [15.0, 15.0], "type":"Point"} rhsVal2

输出:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [0.0, 0.0], "type":"Point"} 42.0 {"coordinates": [0.0, 0.0], "type":"Point"} rhsVal1

示例 12:边界情况

参数值:

  • 左侧列选择条件:
    allColumns(

    )
  • 右侧列选择条件:
    allColumns(

    )
  • 连接键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列前缀: null

输入:

ri.foundry.main.dataset.left

geometryColLhs lhs1
{"coordinates": [[[0.0, 0.0, 0.0], [10.0, 0.0, 0.0], [10.0, 10.0, 0.0], [10.0, 10.0, 10.0], [0.0, 10.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.0, 0.0]]], "type": "Polygon"} 42.0

ri.foundry.main.dataset.right

geometryColRhs rhs1
{"coordinates": [[[2.0, 2.0, 2.0], [7.0, 2.0, 2.0], [7.0, 7.0, 2.0], [7.0, 7.0, 7.0], [2.0, 7.0, 7.0], [2.0, 2.0, 7.0], [2.0, 2.0, 2.0]]], "type": "Polygon"} rhsVal1
{"coordinates": [[[12.0, 12.0, 12.0], [17.0, 12.0, 12.0], [17.0, 17.0, 12.0], [17.0, 17.0, 17.0], [12.0, 17.0, 17.0], [12.0, 12.0, 17.0], [12.0, 12.0, 12.0]]], "type": "Polygon"} rhsVal2

输出:

geometryColLhs lhs1 geometryColRhs rhs1
{"coordinates": [[[0.0, 0.0, 0.0], [10.0, 0.0, 0.0], [10.0, 10.0, 0.0], [10.0, 10.0, 10.0], [0.0, 10.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.0, 0.0]]], "type": "Polygon"} 42.0 {"coordinates": [[[2.0, 2.0, 2.0], [7.0, 2.0, 2.0], [7.0, 7.0, 2.0], [7.0, 7.0, 7.0], [2.0, 7.0, 7.0], [2.0, 2.0, 7.0], [2.0, 2.0, 2.0]]], "type": "Polygon"} rhsVal1