Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

도형 KNN 왼쪽 조인

항목값
화면 이름Geometry knn left join
식별자geoKnnLeftJoinV1
지원 실행 방식Batch
범주지리공간 (Geospatial), 조인 (Join)

기준 데이터셋의 유효한 도형마다 이웃 데이터셋에서 가장 가까운 k개 점을 선택하는 왼쪽 조인입니다. 지정한 좌표 참조 체계로 변환한 뒤 WGS84로 되돌립니다. 이웃 전체 데이터가 드라이버와 실행기 메모리에 들어가야 하며 3GB 실행기의 참고 규모는 최대 약 100만 점입니다.

입력 인자

이름지정 여부자료형의미와 조건
Base dataset필수Table조인의 기준 데이터셋입니다.
Condition for columns to select on the left필수ColumnPredicate왼쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다.
Condition for columns to select on the right필수ColumnPredicate오른쪽 스키마의 각 열을 검사하여 조건에 맞는 열만 출력으로 선택합니다.
Join key필수Tuple<Column<Geometry>, Column<GeoPoint>>질의 데이터셋의 GeoJSON 열과 이웃 데이터셋의 GeoPoint 열입니다.
K필수Literal<Integer>왼쪽의 유효한 도형마다 오른쪽에서 선택할 이웃 수입니다.
Neighbors dataset필수Table이웃 후보 데이터셋입니다.
Projected coordinate system필수Literal<String>조인 전에 입력을 이 좌표계로 변환하고 해당 단위로 거리를 측정합니다. authority:id 형식이며 UTM 18N의 예는 EPSG:32618입니다.
Prefix for columns from right선택Literal<String>오른쪽 열 이름 모두에 붙일 접두사입니다.

입출력 예시

예시 1: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col],
    )
  • Join key: (geometryCol, geometryCol)
  • K: 2
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryCollhsCol
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0

ri.foundry.main.dataset.right

geometryColcol
{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal3

출력:

geometryCollhsColrhs_geometryColrhs_col
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2

예시 2: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • 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],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: null

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1

ri.foundry.main.dataset.right

geometryColRhsrhs-1

출력:

geometryColLhslhs-1geometryColRhsrhs-1

예시 3: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col],
    )
  • Join key: (geometryCol, geometryCol)
  • K: 2
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryCollhsCol
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColcol
{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal3

출력:

geometryCollhsColrhs_geometryColrhs_col
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}43.0{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}43.0{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2

예시 4: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col],
    )
  • Join key: (geometryCol, geometryCol)
  • K: 3
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryCollhsCol
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0

ri.foundry.main.dataset.right

geometryColcol
{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal3

출력:

geometryCollhsColrhs_geometryColrhs_col
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2

예시 5: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • 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],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: null

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal2
nullrhsVal3

출력:

geometryColLhslhs-1geometryColRhsrhs-1

예시 6: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • 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],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: null

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1

출력:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0nullnull
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}43.0nullnull

예시 7: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col1, arrayCol],
    )
  • Join key: (geometryCol, geometryCol)
  • K: 5
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:4326
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryCollhsCol
{"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

geometryColcol1arrayColtoDrop
{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1[ 0.0, 1.1 ]1.0
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2[ 0.0, 1.1 ]1.0
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal3[ 0.0, 1.1 ]1.0

출력:

geometryCollhsColrhs_geometryColrhs_col1rhs_arrayCol
{"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{
 latitude: 33.440609443703586,
 longitude: -112.14843750000001,
}
rhsVal1[ 0.0, 1.1 ]
{"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{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
rhsVal2[ 0.0, 1.1 ]
{"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{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal3[ 0.0, 1.1 ]

예시 8: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • 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],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • 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
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal2
nullrhsVal3

출력:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
null43.0nullnull

예시 9: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: null

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal2
nullrhsVal3

출력:

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}43.0

예시 10: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    columnNameIsIn(
     columnNames: [],
    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • Join key: (geometryColLhs, geometryColRhs)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:2868
  • Prefix for columns from right: null

입력:

ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
{
 latitude: 33.440895931474124,
 longitude: -112.11796760559083,
}
rhsVal2
nullrhsVal3

출력:

geometryColRhsrhs-1
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null
{
 latitude: 33.44082430962016,
 longitude: -112.14560508728029,
}
null

예시 11: 기본 동작

인자 값:

  • Base dataset: ri.foundry.main.dataset.left
  • Condition for columns to select on the left:
    allColumns(

    )
  • Condition for columns to select on the right:
    columnNameIsIn(
     columnNames: [geometryCol, col1, arrayCol],
    )
  • Join key: (geometryCol, geometryCol)
  • K: 1
  • Neighbors dataset: ri.foundry.main.dataset.right
  • Projected coordinate system: epsg:4326
  • Prefix for columns from right: rhs_

입력:

ri.foundry.main.dataset.left

geometryCollhsCol
{"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
{"coordinates": [[40.0, 0.0], [0.0, 40.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"}45.0
{"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}46.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"}47.0
{"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"}48.0

ri.foundry.main.dataset.right

geometryColcol1arrayColtoDrop
{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]1.0
{
 latitude: 100.0,
 longitude: 100.0,
}
rhsVal2[ 0.0, 1.1 ]1.0

출력:

geometryCollhsColrhs_geometryColrhs_col1rhs_arrayCol
{"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{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"coordinates": [55.0, 5.0], "type":"Point"}43.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"coordinates": [[40.0, 0.0], [0.0, 40.0]], "type":"LineString"}44.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}45.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}46.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"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"}47.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]
{"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"}48.0{
 latitude: 5.0,
 longitude: 5.0,
}
rhsVal1[ 0.0, 1.1 ]