OpenStreetMap 벡터 타일에 대한 접근 속도 향상
웹 기반 벡터 타일 지도의 로딩 속도 문제를 해결하기 위한 최적화 작업이 소개되었습니다.
기존에는 래스터 타일을 사용해 요청 시마다 osm2pgsql 데이터베이스에서 타일을 생성했으나, 벡터 타일은 클라이언트가 스타일에 맞게 직접 지도를 렌더링하기 때문에 데이터 크기가 성능에 큰 영향을 미쳤습니다.
특히 낮은 줌 레벨(예: 벡터 줌 8)에서 벡터 타일 크기가 커서 로딩이 느려지는 현상이 관찰되었습니다.
이를 개선하기 위해 불필요하게 포함된 스타일 요소를 제거하고, 지리적 객체의 크기에 따라 타일에 포함되는 최소 줌 레벨을 조정하는 방식을 도입했습니다.
예를 들어, 건물의 면적에 따라 벡터 줌 11부터 14까지 단계적으로 표시되도록 설정하여 타일 크기를 크게 줄였습니다.
이 결과 벡터 줌 8 타일 크기가 약 50% 감소했고, 중간 줌 레벨에서도 불필요한 데이터가 줄어들어 클라이언트 렌더링 부담이 완화되었습니다.
향후에는 줌 레벨 9, 10에서의 데이터 과밀 문제와 가독성 개선을 위한 추가 작업이 계획되어 있습니다.
이번 최적화는 벡터 타일 기반 지도 서비스의 성능 향상과 사용자 경험 개선에 중요한 기여를 했습니다.
