Vector Tile Server(벡터 타일 서버)는 지도 데이터를 Vector Tile(벡터 타일) 형식으로 저장하고 클라이언트(웹 또는 모바일 앱 등) 요청에 따라 제공하는 서버이다. 일반적으로 웹 지도를 구성할 때 사용하는 벡터 기반 지도 데이터를 줌 레벨별로 타일 형태로 분할하여 빠르고 유연하게 전달할 수 있도록 하는 역할을 한다.
벡터 타일은 포인트, 라인, 폴리곤 등의 지도 데이터를 텍스트나 바이너리 형식(예: .pbf)으로 담고 있는 파일이다. 기존의 래스터 타일(이미지 기반 지도)와 달리 클라이언트에서 스타일을 동적으로 지정하거나 변경할 수 있으며, 고해상도 화면에서도 깨짐 없이 부드럽게 표현될 수 있다.
동작 방식
- 클라이언트는 {z}/{x}/{y}로 타일을 요청한다. (.../tiles/14/8764/5372.pbf)
- 서버는 해당영역의 벡터 데이터를 조회하여 타일을 생성하여 반환 하거나 캐싱된 타일을 반환한다.
- 클라이언트는 전달받은 벡터 타일을 로컬에서 스타일링 설정 파일에 따라 랜더링 한다.
벡터 타일 서버 종류
다음은 대표적인 벡터 타일 서버의 종류이다.
1. tippecanoe (https://github.com/mapbox/tippecanoe)
Mapbox에서 개발한 벡터 타일 생성 도구이다. GeoJSON 등의 공간 데이터를 고성능 벡터 타일 형식으로 변환하는데 사용된다. 파일의 형식은 .mbtiles 또는 .pbf로 변환할 수 있다. Mapbox Vector Tile(MVT) 사양을 따른다.

2. Tegola (https://tegola.io/)
Go로 개발된 빠른 벡터 타일 서버로 PostGIS와 GeoPackage 데이터 소스를 지원한다.

Mapbox GL 스타일이 적용된 벡터 및 래스터 맵 제공 서버이다. MapLibre GL Native에 의한 서버측 렌더링을 제공한다. MapLibre GL JS, Android, iOS, LeafletJS, OpenLayers에서 사용되는 지도 타일 서버이다.

4. GeoServer (https://docs.geoserver.org/main/en/user/community/mbtiles/index.html)
MBTiles 플러그인을 사용하면 Vector Tiles 형식을 제공할 수 있다.

5. Martin (https://martin.maplibre.org/)
Martin은 대규모 PostGIS 데이터베이스, PMTile, MBTile 파일에서 벡터 타일을 즉시 생성하고 제공할 수 있는 타일 서버로, 여러 타일 소스를 하나로 동적으로 결합할 수 있다. Martin은 속도와 트래픽 폭주에 최적화되어 있으며 Rust로 개발되었다.

Reference
https://ogcapi.ogc.org/tiles/overview.html
OGC API - Tiles - Overview
OGC API - Tiles OGC API - Tiles specifies a standard for Web APIs that provide tiles of geospatial information. Different forms of geospatial information are supported, such as tiles of vector features ("vector tiles"), coverages, maps (or imagery) and pot
ogcapi.ogc.org
https://docs.mapbox.com/style-spec/guides/
Mapbox Style Spec | Mapbox Docs
This specification defines and describes the visual appearance of a map: what data to draw, the order to draw it in, and how to style the data when drawing it.
docs.mapbox.com
'Dev Stories > 지리정보(Spatial)' 카테고리의 다른 글
| [MapLibre] Projection 변환시 발생되는 렌더링 오류 (0) | 2025.09.08 |
|---|---|
| Great-circle Distance - 대원 거리 (0) | 2025.08.13 |
| Vector Tiles 벡터 타일 (0) | 2025.06.12 |
| 공간 인덱스(Spatial Index)를 구성하는 작동할까? (0) | 2025.06.10 |
| [PostGIS] 폴리곤을 분할하는 방법 (Voronoi Polygons) (1) | 2022.03.24 |