GIS(지리정보시스템), 드론 측량, 위성영상 분석, 공간정보 개발을 하다 보면 반드시 만나게 되는 라이브러리가 있다.
바로 GDAL(Geospatial Data Abstraction Library)이다.
QGIS, ArcGIS, GeoServer, OpenLayers, PostGIS 등 수많은 공간정보 소프트웨어가 내부적으로 GDAL을 사용하고 있으며, 공간정보 업계에서는 사실상 표준 라이브러리로 자리잡고 있다.
이번 글에서는 GDAL이 무엇인지, 왜 중요한지, 그리고 실제 GIS 개발에서 어떻게 활용되는지 알아보자.
GDAL이란?
GDAL은 Geospatial Data Abstraction Library의 약자이다.
한마디로 말하면
다양한 공간정보 데이터를 읽고, 쓰고, 변환하고, 처리할 수 있도록 해주는 오픈소스 라이브러리
이다.
GDAL의 가장 큰 특징은 데이터 형식에 상관없이 동일한 방식으로 데이터를 다룰 수 있게 해준다는 점이다.
예를 들어 개발자는
GeoTIFF
IMG
NetCDF
DEM
DSM
DTM
GeoJSON
Shapefile
PostGIS
등 수많은 포맷을 각각 공부할 필요 없이 GDAL API만 이해하면 된다.
왜 GDAL이 필요한가?
공간정보 분야에는 수백 개 이상의 데이터 포맷이 존재한다.
예를 들어 위성영상만 해도
- GeoTIFF
- JPEG2000
- HDF5
- NetCDF
- ECW
등 다양한 형식이 존재한다.
만약 GDAL이 없다면 개발자는 파일 형식마다 별도의 코드를 작성해야 한다.
GDAL은 이러한 복잡함을 추상화하여
파일 포맷
↓
GDAL
↓
통일된 인터페이스
구조를 제공한다.
GDAL과 OGR의 차이
입문자들이 가장 많이 헷갈리는 부분이다.
과거에는 다음과 같이 구분되었다.
| 래스터(Raster) | GDAL |
| 벡터(Vector) | OGR |
예를 들면
GDAL
- 위성영상
- 드론 정사영상
- DEM
- DSM
- DTM
- GeoTIFF
과 같은 픽셀 기반 데이터를 다룬다.
OGR
- 건물
- 도로
- 행정구역
- 하천
- 객체 탐지 결과
와 같은 벡터 데이터를 다룬다.
현재는 OGR이 GDAL 프로젝트에 통합되어 일반적으로 GDAL/OGR 또는 단순히 GDAL이라고 부른다.
래스터(Raster) 데이터란?
GDAL을 이해하려면 먼저 래스터를 이해해야 한다.
래스터는 픽셀 기반 데이터이다.
예를 들어
10 12 14
11 13 15
9 10 12
와 같이 각 셀이 값을 가진다.
실제 예시는 다음과 같다.
- 위성영상
- 항공사진
- 열영상
- DEM
- DSM
- DTM
예를 들어 DEM에서는
셀 값 = 고도
를 의미한다.
DSM에서는
셀 값 = 표면 높이
를 의미한다.
GDAL이 하는 일
GDAL은 단순히 파일을 읽는 라이브러리가 아니다.
실제로는 매우 다양한 기능을 제공한다.
1. 데이터 읽기
예:
gdalinfo image.tif
영상의
- 좌표계
- 해상도
- 범위
- 밴드 정보
를 확인할 수 있다.
2. 포맷 변환
예:
gdal_translate input.tif output.png
GeoTIFF를 PNG로 변환한다.
3. 좌표계 변환
예:
gdalwarp \
-t_srs EPSG:4326 \
input.tif \
output.tif
좌표계를 변환할 수 있다.
4. 영상 재투영
예:
UTM
↓
WGS84
와 같은 작업을 수행한다.
GIS 시스템 연동 시 매우 자주 사용된다.
5. 영상 자르기
예:
대한민국 전체 영상
↓
서울 영역만 추출
6. 영상 병합
예:
타일1
타일2
타일3
↓
하나의 영상
으로 합칠 수 있다.
GIS 업계에서 가장 유명한 GDAL 명령어
gdalinfo
데이터 정보 확인
gdalinfo dem.tif
gdal_translate
포맷 변환
gdal_translate input.tif output.tif
gdalwarp
재투영 및 리샘플링
gdalwarp input.tif output.tif
gdal_merge
여러 영상을 하나로 병합
gdal_merge.py
ogr2ogr
벡터 데이터 변환
ogr2ogr output.geojson input.shp
드론 및 변화탐지 프로젝트에서 GDAL 활용
드론 기반 변화탐지 시스템을 구축한다면 GDAL은 거의 필수 도구이다.
예를 들어
드론 영상
↓
정사영상
↓
DSM
↓
DTM
↓
nDSM
↓
객체 탐지
과정에서 GDAL은
- GeoTIFF 읽기
- DEM 처리
- 영상 클리핑
- 좌표계 변환
- 타일 생성
- 데이터 병합
등의 역할을 수행한다.
특히 폐기물 탐지, 건물 탐지, 수목 분석과 같은 프로젝트에서는 거의 모든 전처리 단계에서 GDAL을 사용하게 된다.
OpenLayers 개발자라면 왜 알아야 할까?
OpenLayers는 화면에 데이터를 표시하는 역할을 한다.
반면 GDAL은 데이터를 준비하는 역할을 한다.
예를 들어
GeoTIFF
↓
GDAL
↓
타일 생성
↓
OpenLayers
구조로 동작하는 경우가 많다.
즉,
GDAL = 데이터 가공
OpenLayers = 데이터 시각화
라고 이해하면 된다.
마무리
GDAL은 공간정보 업계의 핵심 인프라라고 할 수 있다.
위성영상, 드론영상, DEM, DSM, DTM, GeoTIFF, Shapefile 등 수많은 공간정보 포맷을 하나의 인터페이스로 다룰 수 있게 해준다.
QGIS, ArcGIS, GeoServer, OpenLayers, PostGIS 같은 유명한 GIS 플랫폼들도 내부적으로 GDAL을 활용하고 있으며, GIS 개발자라면 반드시 익혀야 할 기본 기술 중 하나이다.
한 문장으로 정리하면,
GDAL은 공간정보 데이터를 읽고, 변환하고, 가공하는 GIS 업계의 표준 엔진이다.
'GIS' 카테고리의 다른 글
| [GIS] 공간정보 파일 확장자 정리 (0) | 2026.06.22 |
|---|---|
| [GIS] OGR 이란? (0) | 2026.06.22 |
| [GIS] DEM, DSM, DTM이란? (0) | 2026.06.22 |