[1. 개요]
인코딩 한 polyline 을 다시 decoding 하는 방법을 정리한다.
decoding 은 encoding 을 거슬러 올라가면 된다.
wgs84 좌표를 encoding 한 형태에 대해서 정리한다.
[2. encoding 과정]
encoding 에 대해서 정리한 페이지는 아래를 참조한다.
간략하게 정리하면 아래와 같다.
- 소수점 확보
- 1 bit left-shift
- 음수 인 경우, bit 반전
- 하위 5bit 단위로 처리
# 다음 bit chunk 가 0이 아닌 경우, 현재 bit chunk 와 0x20 를 OR 연산
## 0x20 == 0010_0000
# 연산 결과에 63 을 더함
# ascii 문자로 변환 - bit chunk 가 0 인 경우 종료
encoding 된 polyline 의 각 문자에 대해서 위 과정을 역으로 해주면 된다.
- ascii 문자를 정수로 변환
- 63 을 뺌
- 상위 5bit 단위로 처리
# 다음 bit chunk 가 0 인 경우
# 음수 인 경우, bit 반전
[3. 코드]
출력
126.59683
32.12345
encoding 시 사용한 좌표는 소수점 7번째 자리까지 표현하지만,
encoding 은 5번째 자리까지만 사용하도록 하였기에, 5번째 자리까지만 decoding 되었다.
'기타 자료 > geometry' 카테고리의 다른 글
polyline encoding (0) | 2023.06.14 |
---|