본문 바로가기

GIS

[GIS] GDAL 이란?

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 업계의 표준 엔진이다.

728x90

'GIS' 카테고리의 다른 글

[GIS] 공간정보 파일 확장자 정리  (0) 2026.06.22
[GIS] OGR 이란?  (0) 2026.06.22
[GIS] DEM, DSM, DTM이란?  (0) 2026.06.22