정렬된 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_pointOrder by (ascending):orderOutput geometry type:LINE_STRING
입력 테이블:
| geo_point | order |
|---|---|
| { 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_pointOrder by (ascending):orderOutput geometry type:POLYGON
입력 테이블:
| geo_point | order |
|---|---|
| { 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_pointOrder by (ascending):orderOutput geometry type:LINE_STRING
입력 테이블:
| geo_point | order |
|---|---|
| { latitude -> 0.0, longitude -> 0.0, } | 0.0 |
| null | 1.0 |
| null | 2.0 |
| { latitude -> 0.0, longitude -> 1.0, } | 2.0 |
출력: {"type":"LineString","coordinates": [[0.0,0.0],[1.0, 0.0]]}
예시 4: 기본 동작
인자 값:
GeoPoint:geo_pointOrder by (ascending):orderOutput geometry type:LINE_STRING
입력 테이블:
| geo_point | order |
|---|---|
| { latitude -> 0.0, longitude -> 0.0, } | 0.0 |
출력: null
예시 5: 기본 동작
인자 값:
GeoPoint:geo_pointOrder by (ascending):orderOutput geometry type:POLYGON
입력 테이블:
| geo_point | order |
|---|---|
| { 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_pointOrder by (ascending):orderOutput geometry type:POLYGON
입력 테이블:
| geo_point | order |
|---|---|
| { latitude -> 0.0, longitude -> 0.0, } | 0 |
| { latitude -> 1.0, longitude -> 0.0, } | 1 |
출력: null
예시 7: null 처리
인자 값:
GeoPoint:geo_pointOrder by (ascending):orderOutput geometry type:POLYGON
입력 테이블:
| geo_point | order |
|---|---|
| null | 0 |
출력: null
예시 8: null 처리
인자 값:
GeoPoint:geo_pointOrder by (ascending):orderOutput geometry type:LINE_STRING
입력 테이블:
| geo_point | order |
|---|---|
| { 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]]}