# MapLibre Tile 공개 - 현대적이고 효율적인 벡터 타일 포맷

> Clean Markdown view of GeekNews topic #26154. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26154](https://news.hada.io/topic?id=26154)
- GeekNews Markdown: [https://news.hada.io/topic/26154.md](https://news.hada.io/topic/26154.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-27T09:57:02+09:00
- Updated: 2026-01-27T09:57:02+09:00
- Original source: [maplibre.org](https://maplibre.org/news/2026-01-23-mlt-release/)
- Points: 15
- Comments: 1

## Summary

**MapLibre Tile(MLT)** 은 기존 Mapbox Vector Tile(MVT)를 대체하는 **차세대 벡터 타일 포맷**으로, 대규모 지리공간 데이터를 더 빠르고 효율적으로 처리하도록 설계되었습니다. 컬럼 지향 구조와 SIMD 기반 인코딩을 통해 최대 6배 높은 압축률과 빠른 디코딩 속도를 제공하며, 저장 공간과 전송 지연을 크게 줄입니다. 현재 MapLibre GL JS와 Native에서 바로 사용할 수 있고, 향후 3D 좌표와 GPU 처리 등 확장을 염두에 둔 개방형 사양으로 발전하고 있습니다.

## Topic Body

- **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 기반 데모 타일 스타일](https://raw.githubusercontent.com/maplibre/demotiles/refs/heads/gh-pages/tiles-mlt/plain.json) 사용  
  - [Encoding server](https://github.com/maplibre/maplibre-tile-spec/tree/main/java/encoding-server)를 통해 기존 MVT 스타일을 MLT로 실시간 변환  
  - [Planetiler](https://github.com/onthegomap/planetiler)의 차기 버전에서 MLT 생성 지원 예정  
  - 통합 현황은 [공식 구현 상태 페이지](https://maplibre.org/maplibre-tile-spec/implementation-status/)에서 확인 가능  

- 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와 달리, **컬럼 내 값의 타입이 피처마다 달라지는 레이어**는 지원하지 않음

## Comments



### Comment 49990

- Author: neo
- Created: 2026-01-27T09:57:02+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46763864) 
- 토요일 FOSDEM의 Geospatial devroom에서 열리는 **MapLibre 발표**에 참석해보길 권함  
  [행사 일정 링크](https://fosdem.org/2026/schedule/event/QAL9VN-state-of-the-maplibre-tile-format/)
  - 자리가 있다면 꼭 가보고 싶음 😄

- 예제 페이지를 조금 찾아봤는데, [MLT로 지도 표시 예시](https://maplibre.org/maplibre-gl-js/docs/examples/display-a-map-with-mlt/)와 기존 [지도 표시 예시](https://maplibre.org/maplibre-gl-js/docs/examples/display-a-map/)를 비교해봄  
  콘솔 로그를 보니 약 **10% 정도 압축 효율이 향상**된 걸 확인했음. 꽤 인상적임
  - 다만 데모 타일 스타일은 실제 **OpenMapTiles 기반의 프로덕션 베이스맵**과는 비교하기 어려움  
    MLT 포맷에는 다양한 **경량 인코딩**이 내장되어 있고, 타일마다 다른 방식으로 인코딩할 수도 있음  
    따라서 최적의 조합을 찾기 위해 **휴리스틱 접근**이 필요하며, 타일 크기와 디코딩 성능 간의 트레이드오프가 존재함  
    아직 초기 단계이지만, AWS가 올해도 MLT 최적화 작업을 후원 중이라 앞으로 개선 여지가 많음  
    벤치마크 시에는 전체 타일 크기보다 실제 사용 패턴을 보는 게 중요함 — 아무도 바다 한가운데를 확대하지 않으니까 😉

- 최근 **pmtiles 기반 솔루션**을 배포했는데 정말 만족스러움  
  [PMTiles 문서](https://docs.protomaps.com/pmtiles/) 참고  
  pmtiles는 MVT를 사용하지만, 앞으로 MLT로 변환할 수 있는 툴이 나오길 기대함
  - 사실 PMTiles는 **타일 형식에 독립적**임. 이미 MLT를 포함하도록 타입 바이트를 업데이트하는 [PR](https://github.com/protomaps/PMTiles/pull/596)이 올라와 있음  
  - PMTiles는 MVT뿐 아니라 PNG, JPEG, WebP, AVIF 등 다양한 포맷을 담을 수 있음. [스펙 문서](https://github.com/protomaps/PMTiles/blob/main/spec/v3/spec.md#tile-type-tt) 참고  
  - 나는 Tilemaker로 PMTiles를 빌드 중인데, MLT를 Tilemaker로 생성하려면 꽤 많은 작업이 필요할 듯함 😅  
  - pmtiles는 정말 **단순하면서도 혁신적인 솔루션**임

- **MapLibre**는 브라우저에서 지도를 표시하기에 지금까지 써본 JS 라이브러리 중 최고임  
  새 포맷으로 전환될 걸 생각하니 기대됨
  - 완전 공감함 👍

- **Planetiler**에서는 `--tile-format=mlt` CLI 옵션으로 MLT 생성이 가능함  
  현재는 main 브랜치에만 있지만 곧 릴리스 예정임  
  테스트 결과 기본 설정에서 **OpenMapTiles 아카이브 크기가 약 10% 감소**했음. 추가 최적화도 진행 중임

- 아쉽게도 **Tilemaker는 중기적으로 MLT 지원 계획이 없음**  
  그래서 커뮤니티 일부는 전환에서 소외될 수 있음  
  관련 논의는 [이슈 스레드](https://github.com/systemed/tilemaker/issues/856) 참고
  - 그래도 나중에 변환은 가능함. MVT에서 MLT로 바꾸는 **Java 기반 변환 프로그램**이 저장소에 있음

- 벡터 파일 포맷이 여전히 새롭게 **재발명**되고 있다는 게 흥미로움  
  압축률이나 디코딩 속도 향상은 이해하지만, 이 디자인을 이끈 **새로운 아이디어나 통찰**이 무엇인지 궁금함

- 이 프로젝트를 한동안 지켜봤는데 정말 기대됨  
  MapLibre 스택 사용자 입장에서 마지막 큰 과제는 **PostGIS에 As_MLT() 함수**가 추가되는 것이라 생각함
  - 그리고 **Geoserver 지원**도 필요함

- 혹시 **지도 셀프호스팅** 하는 사람 있는지? 장단점과 사용하는 툴이 궁금함
  - 우리는 몇 년째 **protomaps(pmtiles)** 를 셀프호스팅 중임  
    서버는 단순히 정적 파일을 range request로 제공할 수 있으면 됨 (Caddy나 Nginx 모두 가능)  
    맵은 하나의 큰 파일이라 여러 서버 간 공유도 쉬움  
    단점은 거의 없지만, 클라이언트 측에 **커스텀 프로토콜 지원 라이브러리**를 추가해야 함  
    스타일 편집은 약간 까다로운데, [Maputnik 에디터](https://maputnik.github.io/editor)로 protomaps 스타일을 불러와 수정 가능함  
    [가이드 문서](https://docs.protomaps.com/guide/getting-started) 참고  
  - 나도 pmtiles로 **호주 지역 매장 찾기 지도**를 셀프호스팅함  
    전 세계 저해상도 지도(50MB)와 호주 고해상도 지도(900MB)를 따로 만들어 S3에 업로드했음  
    최신 데이터가 필요 없어서 그대로 두고 쓰는데 아주 잘 작동함  
  - 인쇄용 고해상도 지도 제작 프로젝트에서도 셀프호스팅이 유일한 해법이었음  
    상용 API는 **300dpi 래스터 생성 비용**이 너무 높거나 재판매 제한이 있었음  
  - 나도 셀프호스팅 중임. 장점은 **데이터와 스택을 완전히 통제**할 수 있다는 점이고, 단점은 직접 스택을 구축하고 클라우드 관리해야 함  
    PostGIS로 벡터 타일을 저장·서빙하고, AWS S3에 GeoTiff COG 형태로 래스터 데이터를 저장함  
  - 우리는 [mod_tile+renderd](https://github.com/openstreetmap/mod_tile)를 사용함  
    OSM에서 관심 지역(콜로라도)의 pbf를 빌드하고, openstreetmap-tile-server 컨테이너를 띄운 뒤 스타일을 적용해 renderd로 렌더링함

- MLT도 멋지지만, **3D 타일 포맷**에서도 이런 발전이 있었으면 좋겠음  
  현재는 **Cesium의 3D Tiles**가 사실상 유일한 선택지인데, 성능이 기대만큼 빠르지 않음
