- MapLibre Tile(MLT) 은 기존 Mapbox Vector Tile(MVT)을 대체하는 새로운 차세대 벡터 타일 포맷으로, 대규모 지리공간 데이터 처리 효율을 높이기 위해 설계됨
- 최대 6배 향상된 압축률과 SIMD 기반 빠른 디코딩 성능을 제공해 저장 공간, 지연 시간, 캐시 효율을 개선
- 향후 3D 좌표(고도), GPU 기반 처리, 복합 데이터 타입, 선형 참조 및 m-values 지원을 목표로 확장 가능
- 현재 MapLibre GL JS와 MapLibre Native에서 바로 사용 가능하며, 데모 타일과 변환 서버, Planetiler을 통한 생성 지원
- 오픈소스 커뮤니티와 기업, 학계의 협력으로 개발된 포맷으로, Microsoft와 AWS의 후원을 받아 완성됨
MapLibre Tile 소개
-
MapLibre Tile(MLT) 은 [Mapbox Vector Tile(MVT)]의 후속 포맷으로, 급증하는 지리공간 데이터량과 복잡한 차세대 소스 포맷을 처리하기 위해 처음부터 새로 설계됨
- 최신 하드웨어와 그래픽 API의 성능을 활용하도록 설계되어, 행성 규모의 2D 및 2.5D 베이스맵을 고성능으로 처리 및 렌더링 가능
- 현재 구현은 MVT와 기능적으로 동등하지만, 성능과 효율성 측면에서 개선됨
-
주요 기술적 개선점
- 압축률 향상: 대형 타일에서 최대 6배 개선, 컬럼 지향 레이아웃과 재귀적 경량 인코딩을 적용
- 디코딩 성능 향상: SIMD/벡터화 명령어와 결합 가능한 빠르고 가벼운 인코딩 구조
- 결과적으로 지연 시간 감소, 저장 및 전송 비용 절감, 캐시 활용도 향상 효과
향후 확장 가능성
-
MLT는 다음과 같은 미래 기능 지원을 염두에 두고 설계됨
- 3D 좌표(고도) 지원 강화
- CPU 및 GPU 효율적 처리를 위한 저장 및 메모리 포맷 최적화
- 선형 참조(linear referencing) 및 m-values 지원으로 Overture Maps(GeoParquet) 같은 차세대 포맷과 호환
- 중첩 속성, 리스트, 맵 등 복합 타입 지원
-
MLT의 발전 방향은 커뮤니티의 요구에 따라 결정되며, 다양한 확장 아이디어와 기여를 환영함
- 관련 자료로는 Markus Tremmel의 FOSS4G 2024 발표 슬라이드, YouTube 강연, ACM 논문이 제공됨
사용 가능 시점 및 통합
-
MLT는 현재 즉시 사용 가능
- MapLibre GL JS와 MapLibre Native 모두 MLT 소스를 지원
- 스타일 JSON의
encoding속성에mlt값을 지정해 사용 가능
-
체험 및 개발 방법
- MLT 기반 데모 타일 스타일 사용
- Encoding server를 통해 기존 MVT 스타일을 MLT로 실시간 변환
- Planetiler의 차기 버전에서 MLT 생성 지원 예정
- 통합 현황은 공식 구현 상태 페이지에서 확인 가능
-
MLT 사용 경험 공유를 위해 Slack의
#maplibre-tile-format채널이나 GitHub 이슈/디스커션 참여 권장
감사 및 협력
- MLT는 학계, 오픈소스, 기업 간 다년간의 협력을 통해 개발됨
- Markus Tremmel이 포맷을 고안, Yuri Astrakhan이 프로젝트를 주도
- Tim Sylvester가 C++ 구현, Harel Mazor, Benedikt Vogl, Niklas Greindl이 JavaScript 구현 담당
- Microsoft와 AWS가 개발 자금을 지원
주석
- MLT는 MVT와 달리, 컬럼 내 값의 타입이 피처마다 달라지는 레이어는 지원하지 않음