교차 도형 왼쪽 안티 조인
| 항목 | 값 |
|---|---|
| 화면 이름 | Geo intersection left anti join |
| 식별자 | geoIntersectionAntiJoinV1 |
| 지원 실행 방식 | Streaming |
| 범주 | 지리공간 (Geospatial), 조인 (Join) |
오른쪽의 어떤 도형과도 교차하지 않는 왼쪽 행만 반환합니다. 조인 키가 null이거나 유효하지 않으면 교차하지 않는 것으로 처리합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Condition for columns to select on the left | 필수 | ColumnPredicate | 왼쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다. |
Condition for columns to select on the right | 필수 | ColumnPredicate | 오른쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다. |
Join key | 필수 | Tuple<Column<Geometry>, Column<Geometry>> | 조인에 사용할 양쪽 GeoJSON 열입니다. |
Left dataset | 필수 | Table | 조인에 사용할 왼쪽 데이터셋입니다. |
Right dataset | 필수 | Table | 조인에 사용할 오른쪽 데이터셋입니다. |
Prefix for columns from right | 선택 | Literal<String> | 오른쪽의 모든 열에 붙일 접두사입니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.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 |
출력:
| geometryColLhs | col1Lhs |
|---|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 |
예시 2: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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 |
|---|---|
| {} | 42.0 |
예시 3: 기본 동작
인자 값:
Condition for columns to select on the left:
columnNameIsIn(
columnNames: [lhs1],
)Condition for columns to select on the right:
allColumns(
)Join key: (geometryColLhs,geometryColRhs)Left dataset: ri.foundry.main.dataset.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from right: null
입력:
ri.foundry.main.dataset.left
| geometryColLhs | lhs1 |
|---|---|
| {"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
| 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 |
출력:
| lhs1 |
|---|
| 43.0 |
예시 4: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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]]]} | 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
| 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 |
|---|
예시 5: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from right: null
입력:
ri.foundry.main.dataset.left
| geometryColLhs | col1Lhs |
|---|---|
| {"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
| 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": [0.0, 0.0], "type":"Point"} | rhsVal2 |
출력:
| geometryColLhs | col1Lhs |
|---|---|
| {"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: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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]]]} | 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
| 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": [0.0, 0.0], "type":"Point"} | rhsVal2 |
| {"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"} | rhsVal3 |
출력:
| geometryColLhs | col1Lhs |
|---|---|
| {"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: 기본 동작
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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]]]} | 1.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 2.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 |
출력:
| geometryColLhs | col1Lhs |
|---|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} | 2.0 |
예시 8: 기본 동작
인자 값:
Condition for columns to select on the left:
allColumns(
)Condition for columns to select on the right:
allColumns(
)Join key: (geometry,geometry)Left dataset: ri.foundry.main.dataset.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from right: rhs_
입력:
ri.foundry.main.dataset.left
| geometry | value |
|---|---|
| {"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
| geometry | value |
|---|---|
| {"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 |
출력:
| geometry | value |
|---|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 |
예시 9: 기본 동작
인자 값:
Condition for columns to select on the left:
columnNameIsIn(
columnNames: [geometryColLhs],
)Condition for columns to select on the right:
allColumns(
)Join key: (geometryColLhs,geometryColRhs)Left dataset: ri.foundry.main.dataset.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.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 |
|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} |
예시 10: null 처리
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from right: null
입력:
ri.foundry.main.dataset.left
| geometryColLhs | lhs1 |
|---|---|
| {"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 |
| null | 2.0 |
| {} | 3.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 4.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 |
| null | rhsVal2 |
출력:
| geometryColLhs | lhs1 |
|---|---|
| null | 2.0 |
| {} | 3.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 4.0 |
예시 11: null 처리
인자 값:
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.leftRight dataset: ri.foundry.main.dataset.rightPrefix for columns from 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 |
|---|---|
| null | 42.0 |