선 위의 GeoPoint 보간
| 항목 | 값 |
|---|---|
| 화면 이름 | Interpolate geo point along linestring |
| 식별자 | interpolateGeoPointAlongLinestringV1 |
| 지원 실행 방식 | Batch, Streaming |
| 범주 | 지리공간 (Geospatial) |
| 반환 자료형 | GeoPoint |
선을 따라 보간한 점을 반환합니다. 선은 지구를 구로 근사한 최단 경로로 해석합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Fraction | 필수 | Expression<Decimal | Double | Float> | 선 문자열의 시작부터 전체 길이의 어느 비율에서 점을 추출할지 지정합니다. 0~1의 부동소수점 값이어야 합니다. |
Linestring | 필수 | Expression<Geometry> | GeoPoint를 보간할 선 문자열입니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
Fraction:fractionLinestring:linestring
| linestring | fraction | 출력 |
|---|---|---|
| {"type":"LineString","coordinates":[[0.0,2.0],[30.0,0.0]]} | 0.5 | { latitude: 1.0352686301676643, longitude: 15.004677545504547, } |
| {"type":"LineString","coordinates":[[30.0,2.0],[50.0,3.0]]} | 0.8 | { latitude: 2.8256098405656185, longitude: 45.99752305664789, } |
| {"type":"LineString","coordinates":[[45.0,9.0],[90.0,4.0]]} | 0.2 | { latitude: 8.363732883448177, longitude: 54.073497456494955, } |
예시 2: 기본 동작
인자 값:
Fraction:fractionLinestring:linestring
| linestring | fraction | 출력 |
|---|---|---|
| {"type":"LineString","coordinates":[[0.0,2.0],[30.0,0.0]]} | 0.5 | { latitude: 1.0352686301676643, longitude: 15.004677545504547, } |
| {"type":"LineString","coordinates":[[30.0,2.0],[50.0,3.0]]} | 0.8 | { latitude: 2.8256098405656185, longitude: 45.99752305664789, } |
| {"type":"LineString","coordinates":[[45.0,9.0],[90.0,4.0]]} | 0.2 | { latitude: 8.363732883448177, longitude: 54.073497456494955, } |
예시 3: 기본 동작
인자 값:
Fraction:fractionLinestring:linestring
| linestring | fraction | 출력 |
|---|---|---|
| {"type":"LineString","coordinates":[[0.0,2.0],[30.0,0.0]]} | 0.5 | { latitude: 1.0352686301676643, longitude: 15.004677545504547, } |
| {"type":"LineString","coordinates":[[30.0,2.0],[50.0,3.0]]} | 0.8 | { latitude: 2.825609851378893, longitude: 45.99752329517703, } |
| {"type":"LineString","coordinates":[[45.0,9.0],[90.0,4.0]]} | 0.2 | { latitude: 8.363732872387065, longitude: 54.0734975914614, } |
예시 4: null 처리
인자 값:
Fraction:fractionLinestring:linestring
| linestring | fraction | 출력 |
|---|---|---|
| {"type":"LineString","coordinates":[[10.0,4.0],[75.0,0.0]]} | null | null |
| {"type":"LineString","coordinates":[[10.0,8.0],[35.0,0.0]]} | -0.5 | null |
| {"type":"LineString","coordinates":[[10.0,8.0],[35.0,0.0]]} | 1.6 | null |
| {"type":"MultiLineString","coordinates":[[[100.0,0.0]], [[102.0,2.0]]]} | 0.4 | null |
| {"type":"GeometryCollection","geometries":{"type":"LineString","coordinates":[[10.0,4.0]]}} | 0.5 | null |
| null | 1.0 | null |
예시 5: 경계 조건
비율 0은 시작점, 1은 끝점의 GeoPoint를 반환합니다. 부동소수점 오차가 발생할 수 있습니다.
인자 값:
Fraction:fractionLinestring:linestring
| linestring | fraction | 출력 |
|---|---|---|
| {"type":"LineString","coordinates":[[10.0,4.0],[75.0,0.0]]} | 0.0 | { latitude: 4.0, longitude: 9.999999999999998, } |
| {"type":"LineString","coordinates":[[10.0,8.0],[35.0,0.0]]} | 1.0 | { latitude: 0.0, longitude: 35.0, } |
| {"type":"LineString","coordinates":[[10.0,8.4],[35.0,0.0],[163.0,67.9]]} | 1.0 | { latitude: 67.90000000000002, longitude: 163.0, } |
| {"type":"LineString","coordinates":[[10.0,8.4],[35.0,0.0],[163.0,67.9]]} | 0.0 | { latitude: 8.400000000000002, longitude: 9.999999999999998, } |