🏞️ GIS & RS/🗺️ 지도서비스・웹지도
[웹지도] PMTiles, mbtiles
김 홍시
2025. 3. 27. 22:59
반응형
PMTiles 포맷을 사용하기 위한 벡터 타일 생성 과정에서 Tippecanoe를 활용하는 방법을 설명하는 공식 문서
https://docs.protomaps.com/pmtiles/create#tippecanoe
Creating PMTiles | Protomaps Docs
docs.protomaps.com
이 문서는 Tippecanoe로 만든 .mbtiles 파일을 .pmtiles로 변환하는 흐름을 안내합니다.
🔄 배경: PMTiles란?
- PMTiles는 Protomaps에서 만든 클라우드 최적화 벡터 타일 포맷입니다.
- .mbtiles와 유사하지만, HTTP Range Requests를 통해 단일 파일로도 효율적인 타일 접근이 가능하다는 점이 특징입니다.
- S3, Cloudflare R2 등과 잘 어울리는 현대적 포맷입니다.
📍 Tippecanoe를 사용하는 이유
- .pmtiles 포맷을 만들기 전에, 먼저 GeoJSON을 .mbtiles로 변환할 필요가 있습니다.
- 이때 사용하는 도구가 바로 Tippecanoe입니다.
✅ 문서에서 설명하는 절차 요약
1. Tippecanoe 설치
brew install tippecanoe
(macOS 기준)
2. GeoJSON → MBTiles 변환
tippecanoe -o mydata.mbtiles -zg -l layername mydata.geojson
- -o: 출력 파일 (.mbtiles)
- -zg: 자동 줌레벨 설정
- -l: 레이어 이름 설정
3. MBTiles → PMTiles 변환
pmtiles convert mydata.mbtiles mydata.pmtiles
- pmtiles CLI를 이용해 .pmtiles 생성
👉 pmtiles 설치 필요:
npm install -g @protomaps/cli
💡 요약하면?
단계 설명
1단계 | Tippecanoe로 GeoJSON → .mbtiles 생성 |
2단계 | pmtiles CLI로 .mbtiles → .pmtiles 변환 |
3단계 | .pmtiles 파일을 웹에 업로드하여 배포 가능 |
🌐 왜 .pmtiles를 쓰는가?
- 단일 파일로 CDN 업로드 가능
- 복잡한 타일 서버 없이도 지도 시각화 가능
- Leaflet, MapLibre GL 등과 쉽게 연동
원하신다면 .pmtiles를 실제로 Leaflet에 연동하는 코드나 예제도 도와드릴 수 있어요!
혹시 지금 사용하실 GeoJSON 파일이 있으신가요? 😊
mbtiles
반응형