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 | .geojson | JSON 기반, 읽기 쉽지만 파일 크기 큼 |
| GeoPackage | .gpkg | SQLite 기반, 벡터+래스터 저장 가능 |
| GeoParquet | .parquet | 최신 형식, 압축 효율 높음 |
| GML | .gml | XML 기반, 모든 지리 정보 통합 |
래스터(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 기반, Pythonnetworkx라이브러리 활용
Reference