Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

정렬된 GeoPoint 행으로 도형 생성

항목값
화면 이름Create simple geometries from ordered rows of GeoPoints
식별자createGeometryFromOrderedGeoPointRowsV1
지원 실행 방식Batch
범주지리공간 (Geospatial)
반환 자료형Geometry

GeoPoint 열의 점을 지정한 순서로 연결해 다각형 또는 선 문자열을 만듭니다. 한 행은 점 하나를 나타내고 별도 열이 순서를 지정합니다. 다각형의 외곽 점은 반시계 방향으로 배열해야 합니다. 파티션별로 order-by 열의 오름차순에 따라 점을 연결합니다.

입력 인자

이름지정 여부자료형의미와 조건
GeoPoint필수Expression<GeoPoint>도형을 만들 GeoPoint 열입니다. 데이터셋의 각 행은 점 하나를 나타내며 null 행은 무시합니다.
Order by (ascending)필수Expression<Byte | Date | Decimal | Double | Float | Integer | Long | Short | Timestamp>점들을 선 문자열 또는 다각형 외곽으로 연결할 정렬 기준 열입니다. 그룹 안에서 값이 같으면 순서는 무작위이며 null 값의 행은 무시합니다.
Output geometry type필수Enum<LineString, Polygon>출력을 다각형과 선 문자열 중 어느 것으로 만들지 지정합니다.

입출력 예시

예시 1: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: LINE_STRING

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 0.0,
}
1
{
 latitude -> 1.0,
 longitude -> 1.0,
}
2

출력: {"type":"LineString","coordinates": [[0.0,0.0],[0.0, 1.0],[1.0,1.0]]}

예시 2: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: POLYGON

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 0.0,
}
3
{
 latitude -> 1.0,
 longitude -> 1.0,
}
2
{
 latitude -> 0.0,
 longitude -> 0.0,
}
4
{
 latitude -> 0.0,
 longitude -> 1.0,
}
1

출력: {"type":"Polygon","coordinates": [[[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 1.0], [0.0, 0.0]]]}

예시 3: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: LINE_STRING

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0.0
null1.0
null2.0
{
 latitude -> 0.0,
 longitude -> 1.0,
}
2.0

출력: {"type":"LineString","coordinates": [[0.0,0.0],[1.0, 0.0]]}

예시 4: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: LINE_STRING

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0.0

출력: null

예시 5: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: POLYGON

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 1.0,
}
2
{
 latitude -> 1.0,
 longitude -> 0.0,
}
3
{
 latitude -> 0.0,
 longitude -> 1.0,
}
1

출력: {"type":"Polygon","coordinates": [[[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 1.0], [0.0, 0.0]]]}

예시 6: 기본 동작

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: POLYGON

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 0.0,
}
1

출력: null

예시 7: null 처리

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: POLYGON

입력 테이블:

geo_pointorder
null0

출력: null

예시 8: null 처리

인자 값:

  • GeoPoint: geo_point
  • Order by (ascending): order
  • Output geometry type: LINE_STRING

입력 테이블:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 1.0,
}
null
{
 latitude -> 1.0,
 longitude -> 0.0,
}
1

출력: {"type":"LineString","coordinates": [[0.0,0.0],[0.0, 1.0]]}