Summary

  • 공간 데이터는 크게 벡터와 래스터로 구분되며 상호 변환이 가능함
  • 벡터 데이터는 좌표를 기반으로 명확한 경계를 가진 객체를 표현하며 Shapefile, GeoJSON, GeoParquet 등 다양한 형식으로 저장
  • 래스터 데이터는 균일한 격자 구조를 통해 영상 이미지와 같은 연속적인 현상을 나타내며 공간, 시간, 방사 해상도에 따라 품질이 결정
  • 공간 네트워크는 교차점인 노드와 연결 링크인 엣지로 구성되어 데이터의 연결성과 방향성을 모델링하는 데 특화된 구조를 가짐

Python에서 GIS를 다루기 위한 핵심 패키지

  • 벡터(Vector): geopandas, pyproj, shapely
  • 래스터(Raster): xarray, rioxarray, rasterio

개요

공간 데이터 유형은 크게 벡터래스터 2가지로 구분할 수 있다.

벡터 데이터는 점, 선, 면과 같은 기하학적 요소를 사용하여 지리적인 개체를 표현한 데이터다. 거리 네트워크를 표현하거나 최단 경로를 찾는 경우 매우 유용하다.

래스터 데이터는 격자 또는 그리드 형태로 지리적인 개체를 표현한 데이터다. 픽셀로 구성되어 있고 각 픽셀에 지리적인 속성 값이 할당된다.

두 데이터는 구성 요소가 매우 다르기 때문에 GIS 도구 및 방법론도 구분된다. 그렇다고 완전히 분리된 것은 아니며, 특정 작업을 위해 형식을 변환(예. 벡터 → 래스터)하는 것이 유용한 경우도 많다.


벡터(Vector) 데이터

구성 요소 (기하학 유형)

벡터 데이터의 가장 기본적인 기하학 객체는 점, 선, 면이다.

유형설명예시
점 (Point)단일 지점, 2D/3D 좌표POINT (25 60.5)
선 (LineString)점들을 연결한 선, 최소 2개 좌표LINESTRING(24.5 51, 25 60.5)
면 (Polygon)선들로 채워진 영역, 최소 3개 좌표POLYGON(24.5 51, 25 60.5, 25.5 61)
다중 지오메트리여러 객체를 하나의 엔티티로 표현MultiPoint, MultiLineString, MultiPolygon

데이터 형식

형식확장자특징
Shapefile.shp + 다수여러 파일 필요, 최근 사용 감소
GeoJSON.geojsonJSON 기반, 읽기 쉽지만 파일 크기 큼
GeoPackage.gpkgSQLite 기반, 벡터+래스터 저장 가능
GeoParquet.parquet최신 형식, 압축 효율 높음
GML.gmlXML 기반, 모든 지리 정보 통합

래스터(Raster) 데이터

래스터 데이터는 픽셀 셀 배열로 표현되어 실제 세계 객체나 연속적인 현상을 나타낸다.

구성 요소

래스터 데이터의 품질을 결정하는 주요 기준:

기준설명
공간 해상도단일 픽셀의 크기 (예: 10m × 10m)
시간 해상도동일 영역에서 데이터가 캡처되는 빈도
방사 해상도저장 가능한 밝기 값의 범위 (bit depth)
좌표 참조 시스템CRS 종류

데이터 형식

형식확장자특징
GeoTIFF.tif휴대성 좋음, 가장 범용적
COG.tif클라우드 환경 최적화
NetCDF.nc4지구 과학 데이터 저장
ASCII Grid.asc단순한 파일 형식

공간 네트워크

일반적으로 노드(Node)와 엣지(Edge)로 표현

  • 노드(Node): 교차로 등 포인트 정보, 위치 정보 포함
  • 엣지(Edge): 노드 간 연결 링크, 시간·거리 등의 가중치 정보 포함
종류설명사용 예
비방향성 (undirected)양방향 (A ←→ C)도보, 자전거 경로
방향성 (directed)단방향 (A → B)일방통행 도로

데이터 형식

  • GML (Graph Modelling Language): .gml, Key-Value 리스트 구조
  • GraphML: .graphml, XML 기반, Python networkx 라이브러리 활용

Reference