Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

점 사이 3차원 거리 내부 조인

항목값
화면 이름GeoPoint-to-GeoPoint 3d distance inner join
식별자geoPointToPoint3dDistanceInnerJoinV1
지원 실행 방식Batch
범주지리공간 (Geospatial), 조인 (Join)

점 도형 사이의 거리로 내부 조인합니다. z 좌표는 선택 사항이며 지정한 투영 좌표계로 변환해 계산한 뒤 WGS84로 되돌립니다. 점이 아닌 도형은 무시합니다. 오른쪽 전체 데이터가 드라이버와 실행기 메모리에 들어가야 하며 3GB 실행기의 참고 규모는 이웃 데이터 최대 약 400만 점입니다.

입력 인자

이름지정 여부자료형의미와 조건
Condition for columns to select on the left필수ColumnPredicate왼쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다.
Condition for columns to select on the right필수ColumnPredicate오른쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다.
Distance필수Literal<DefiniteNumeric>조인할 최대 거리이며 좌표 참조 체계와 같은 단위를 사용합니다.
Join key필수Tuple<Column<Geometry>, Column<Geometry>>조인할 왼쪽과 오른쪽 GeoJSON 열입니다.
Left dataset필수Table조인에 사용할 왼쪽 데이터셋입니다.
Projected coordinate system필수Literal<String>조인 전에 입력을 이 좌표계로 변환하고 해당 단위로 거리를 측정합니다. authority:id 형식이며 UTM 18N의 예는 EPSG:32618입니다.
Right dataset필수Table조인에 사용할 오른쪽 데이터셋입니다.
Use z-coordinate필수Literal<Boolean>z 좌표를 포함해 3차원 거리를 계산할지 지정합니다. false이면 z를 무시하고 2차원 거리를 계산합니다.
Prefix for columns from right선택Literal<String>오른쪽의 모든 열에 붙일 접두사입니다.

입출력 예시

예시 1: 기본 동작

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • Distance: 2.5
  • Join key: (geometryColLhs, geometryCol)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: EPSG:4326
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: false
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0
{"coordinates": [0.0, 0.0], "type":"Point"}44.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]
{"coordinates": [0.0, 1.0], "type":"Point"}rhsVal2[ 0.0, 1.0 ]

출력:

geometryColLhslhs-1rhs_geometryColrhs_arrayCol
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}44.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}44.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]

예시 2: 기본 동작

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • Distance: 2.5
  • Join key: (geometryColLhs, geometryCol)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: EPSG:4326
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: true
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0
{"coordinates": [0.0, 5.0], "type":"Point"}44.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]
{"coordinates": [1.0, 1.0, 6.0], "type":"Point"}rhsVal2[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 3.0], "type":"Point"}rhsVal3[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal4[ 0.0, 1.0 ]

출력:

geometryColLhslhs-1rhs_geometryColrhs_arrayCol
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [0.0, 0.0, 3.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [1.0, 1.0, 6.0], "type":"Point"}[ 0.0, 1.0 ]

예시 3: 기본 동작

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • Distance: 1641
  • Join key: (geometryColLhs, geometryColRhs)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: epsg:2868
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: false
  • Prefix for columns from 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: 기본 동작

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [],
    )
  • Distance: 10.0
  • Join key: (geometryColLhs, geometryCol)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: EPSG:4326
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: false
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [15.0, 5.0], "type":"Point"}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [15.0, 5.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]

출력:

geometryColLhslhs-1
{"coordinates": [15.0, 5.0], "type":"Point"}42.0

예시 5: 기본 동작

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • Distance: 10.0
  • Join key: (geometryColLhs, geometryCol)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: EPSG:4326
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: false
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [15.0, 5.0], "type":"Point"}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [55.0, 5.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]

출력:

rhs_geometryColrhs_arrayCol
{"coordinates": [55.0, 5.0], "type":"Point"}[ 0.0, 1.0 ]

예시 6: null 처리

인자 값:

  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col1, arrayCol],
    )
  • Distance: 10.0
  • Join key: (geometryColLhs, geometryCol)
  • Left dataset: ri.foundry.main.dataset.left
  • Projected coordinate system: EPSG:4326
  • Right dataset: ri.foundry.main.dataset.right
  • Use z-coordinate: false
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [15.0, 5.0], "type":"Point"}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}44.0
null45.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [15.0, 5.0], "type":"Point"}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": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}rhsVal3[ 0.0, 1.0 ]
nullrhsVal4[ 0.0, 1.0 ]

출력:

geometryColLhslhs-1rhs_geometryColrhs_col1rhs_arrayCol
{"coordinates": [15.0, 5.0], "type":"Point"}42.0{"coordinates": [15.0, 5.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]