[브이월드] 웹지엘 3D지도에서의 인덱스맵과 스케일바 구현
이번에는 2D 지도 환경에서의 인덱스맵(Index Map)과 스케일바(Scale Bar)는 사용자의 공간 인지 능력과 계측 정확도를 극대화하는 가장 핵심적인 네비게이션 요소입니다. 이걸 브이월드 3D지도에서 구현해보았습니다.
2D와는 좀 다른 개념이고 복잡합니다.
평면 2D 지도는 픽셀 배율이 고정되어 있어 축척을 구하기 쉽지만, 원근법(Perspective)이 작용하는 3D 공간 공간에서는 발밑과 지평선의 거리 비율이 극단적으로 왜곡됩니다. 따라서 이 구현 예시는 "단순히 static한 그림을 띄운 것이 아니라, 3D 원근법과 지형 고도(z값) 왜곡을 수학적(레이캐스팅/이분탐색)으로 역산하여 2D UI 레이어와 동기화시키는 정밀 제어 시스템을 구축했다"는 개발 기술 사양입니다.
단, 지표면을 기준으로한 곡률과 왜곡을 정밀하게 했다기보다는 최대한 적합하게 한것입니다.
1. 인덱스맵 (Index Map 또는 Overview Map):
메인 3D 화면이 현재 지구상 어디를 비추고 있는지 사용자가 한눈에 알 수 있도록, 화면 구석(우측 하단 등)에 작게 띄워두는 전체 2D 미니맵(조감도)을 뜻합니다. 3D 지도를 눕히거나 급격히 확대하면 주변 지형을 놓쳐 길을 잃기 쉽기 때문에, 현재 카메라의 위치와 가시 영역(원근 부채꼴 궤적)을 조감도로 보여주어 공간적 인지 능력을 유지해 줍니다.
2. 스케일바 (Scale Bar):
지도 화면 하단에 배치되는 동적 축척 눈금자입니다. 3D 지도에서 카메라 고도가 올라가거나 각도가 비스듬히 누울 때, 지표면의 실제 미터(m)/킬로미터(km) 거리 비율을 2D 화면 픽셀(px) 너비로 실시간 가변 환산하여 지형물(건물, 도로 등)의 진짜 크기를 직관적으로 자로 재듯 가늠할 수 있게 해주는 필수 계측 장치입니다.
이것을 현재 개발중인 시스템에 반영한 화면입니다
[주요소스] https://cafe.naver.com/gisapplication/1274 게시글에서 관리합니다
1. 인덱스맵 (Index Map 또는 Overview Map):
2. 스케일바 (Scale Bar):