GDAL로 래스터 데이터를 웹맵 타일로 변환하기
GDAL(Geospatial Data Abstraction Library)은 지리공간 데이터를 처리하는 강력한 오픈소스 라이브러리입니다. 오늘은 GDAL을 사용하여 래스터 이미지를 웹맵에서 사용할 수 있는 MBTiles 형식으로 변환하는 과정을 살펴보겠습니다.
1단계: 좌표계 변환 (gdalwarp)
gdalwarp.exe bsr.tif bsr3857.tif -t_srs "+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs"
이 명령어는 원본 GeoTIFF 파일(bsr.tif)을 웹 메르카토르 좌표계(EPSG:3857)로 변환합니다. 웹 지도에서는 대부분 이 좌표계를 사용하므로 필수적인 단계입니다.
2단계: MBTiles 포맷으로 변환 (gdal_translate)
gdal_translate.exe bsr3857.tif bsr.mbtiles -of MBTILES
좌표변환된 이미지를 MBTiles 포맷으로 변환합니다. MBTiles는 SQLite 데이터베이스 기반의 타일맵 포맷으로, 웹맵에서 널리 사용됩니다.
3단계: 오버뷰 생성 (gdaladdo)
gdaladdo.exe bsr.mbtiles 2 4 8 16 32 64 128 256
마지막으로 다양한 줌레벨에서 사용할 타일 이미지를 생성합니다. 숫자는 축소 비율을 나타내며, 2는 1/2, 4는 1/4 크기를 의미합니다. 이를 통해 지도를 확대/축소할 때 자연스러운 표출이 가능해집니다.
이렇게 생성된 MBTiles 파일은 MapLibre, Leaflet, OpenLayers 등 다양한 웹맵 라이브러리에서 배경지도로 사용할 수 있습니다. 현재 버전의 GeoServer는 mbtiles를 지원하고 있지 않지만 곧 지원 예정이라고 하네요. 다른 웹맵 타일 서버는 많지만 지난번 소개해 드린 Martin으로 해도 잘 됩니다.
GeoServer
GeoServer is an open source server for sharing geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.
geoserver.org
추가 설명이 필요하신 부분이 있다면 댓글에 물어보세요.