본문 바로가기

AI/확률|통계 기반

고급데이터 탐색

1. 시공간 데이터란?

시공간 데이터공간(위치·형태)시간 정보를 함께 가진 데이터입니다.

  • 공간 정보: 좌표, 영역, 경로 등
  • 시간 정보: 언제 발생했는지, 얼마나 지속됐는지 등

예시:

  • 이동 궤적 (차량, 사람)
  • 시간에 따라 변하는 토지 이용
  • 센서 데이터 (특정 위치에서 시간에 따라 측정된 값)
  • 기후·재해 데이터

2. 시간 데이터의 주요 종류

데이터베이스와 시공간 시스템에서는 시간을 크게 다음과 같이 구분합니다.

(1) 유효 시간 (Valid Time)

  • 현실 세계에서 사실이 참인 시간
  • “실제로 언제부터 언제까지 그 상태가 유지됐는가?”
  • 예: 어떤 건물이 2020년 3월부터 2023년 5월까지 존재했다.

(2) 거래 시간 (Transaction Time)

  • 데이터베이스에 그 사실이 기록되어 있던 시간
  • “시스템에 언제 입력됐고, 언제 수정·삭제됐는가?”
  • 예: 2021년 1월에 데이터를 입력하고, 2022년 6월에 수정함.

(3) 사용자 정의 시간 (User-defined Time)

  • 시스템이 자동으로 관리하지 않는, 사용자가 직접 정의한 시간 속성
  • 예: 계약 만료일, 생년월일, 예약 시간 등
  • Valid Time이나 Transaction Time과 달리 시스템 차원의 시간 의미가 없음.

3. 시간에 따른 데이터 유형

유형설명특징
스냅샷 데이터 (Snapshot) 특정 한 시점의 상태만 저장 과거 이력이 없음. 가장 단순
유효시간 데이터 (Valid-time) 유효 시간만 관리 현실 세계의 변화 이력 추적 가능
거래시간 데이터 (Transaction-time) 거래 시간만 관리 데이터베이스 변경 이력 추적 가능 (감사·복구에 유리)
이원 시간 데이터 (Bitemporal) 유효 시간 + 거래 시간을 모두 관리 가장 풍부한 시간 정보. “과거에 어떻게 알고 있었는지”까지 표현 가능
 

4. 이원 시간 데이터 (Bitemporal Data) 상세

이원 시간 데이터는 Valid Time과 Transaction Time을 동시에 다룹니다.

예시로 이해하면 쉽습니다:

“2020년에 A 건물이 있다고 기록했지만, 나중에 확인해보니 실제로는 2019년부터 있었다.”

  • Valid Time: 실제로는 2019년부터 존재
  • Transaction Time: 2020년에 데이터베이스에 기록됨

이렇게 하면

  • “실제로 언제 그랬는가?”와
  • “우리가 언제 그렇게 알고 있었는가?”를 모두 표현할 수 있습니다.

5. 간단한 비교 요약

구분무엇을 나타내는가?주요 용도
유효 시간 현실 세계의 진리 기간 역사적 사실 관리
거래 시간 DB에 저장된 기간 변경 이력, 감사, 복구
사용자 정의 시간 사용자 임의 시간 일반 속성
스냅샷 한 순간의 상태 단순 현황 관리
이원 시간 유효+거래 시간 복잡한 시간 질의, 정확한 이력 관리
 
 
 

2. 공간 데이터란?

공간 데이터는 지리적 위치나 공간적 관계를 나타내는 데이터입니다. 단순히 숫자나 문자만 있는 데이터와 달리, 어디에 있는가, 어떤 형태인가, 다른 객체와 어떻게 연결되어 있는가를 표현합니다.

예시:

  • 건물 위치
  • 도로망
  • 행정구역 경계
  • 위성 영상
  • 센서 측정 위치

2. 공간 데이터의 주요 타입

(1) 비공간 타입 (Non-spatial Type)

  • 위치·형태 정보가 없는 일반 속성 데이터
  • 예: 이름, 인구 수, 온도 값, 소유자 정보 등
  • 공간 데이터와 함께 저장되어 “그 위치의 속성”으로 사용됨

(2) 래스터 공간 타입 (Raster Spatial Type)

  • 공간을 격자(Grid, 픽셀) 로 나눠서 표현
  • 각 셀(픽셀)에 값이 들어감
  • 연속적인 현상을 나타내기에 적합

특징

  • 영상, 고도, 기온, 강수량 등에 많이 사용
  • 해상도(셀 크기)에 따라 정밀도가 결정됨
  • 연산은 비교적 단순하지만 용량이 커질 수 있음

예시: 위성사진, DEM(수치지형모델), 토지피복도

(3) 벡터 공간 타입 (Vector Spatial Type)

  • 공간을 점, 선, 면 등의 기하 객체로 표현
  • 좌표를 이용해 정확하게 위치를 나타냄

기본 요소

  • Point (점)
  • LineString / Polyline (선)
  • Polygon (면)

특징

  • 경계가 명확한 객체 표현에 유리
  • 용량이 상대적으로 적고 위상 관계를 다루기 쉬움
  • 도로, 건물, 행정구역 등에 주로 사용

3. 벡터 내부의 세부 타입

(1) 기하학적 타입 (Geometric Type)

  • 객체의 형태와 위치를 좌표로 정확하게 표현
  • 거리, 면적, 길이, 방향 등을 계산할 수 있음
  • 예: Point, LineString, Polygon, MultiPolygon 등

→ “이 건물은 어떤 좌표에, 어떤 모양으로 존재하는가?”에 초점

(2) 위상적 타입 (Topological Type)

  • 객체 간의 연결·인접·포함 관계를 중심으로 표현
  • 정확한 좌표보다 “어떻게 연결되어 있는가”가 중요
  • 예: 도로가 서로 연결되어 있는지, 영역이 인접하는지, 한 영역이 다른 영역 안에 있는지

→ “이 도로와 저 도로가 만나는가?”, “이 구역이 저 구역과 붙어있는가?”에 초점

구분기하학적 타입위상적 타입
핵심 형태와 좌표 관계와 연결
주요 질문 어디에, 어떤 모양으로? 어떻게 연결되어 있나?
예시 건물 외곽선 좌표 도로 네트워크 연결 관계
 

4. 공간 데이터 모델 (Spatial Data Model)

공간 데이터를 컴퓨터에서 어떻게 구조화할지 정의한 것이 공간 데이터 모델입니다.

주요 모델

1. 래스터 모델 (Raster Model)

  • 격자 기반
  • 연속 데이터 표현에 강점
  • 구조가 단순하고 분석이 용이
  • 단점: 해상도에 따라 용량 증가, 경계가 계단 형태로 나타남

2. 벡터 모델 (Vector Model)

  • 점·선·면 기반
  • 이산적 객체 표현에 강점
  • 정확한 경계와 위상 관계 표현 가능
  • 단점: 복잡한 위상 유지가 어렵고, 일부 분석이 상대적으로 복잡

3. 객체 지향 모델 / 필드 모델 등

  • 최근에는 객체 기반으로 공간+속성을 함께 다루는 모델도 많이 사용
  • 필드 모델은 연속적인 공간 현상(기온, 고도 등)을 수학적 함수처럼 표현

5. 한눈에 보는 정리

분류설명대표 예시
비공간 타입 위치 없는 일반 속성 이름, 인구, 온도값
래스터 격자(픽셀)로 표현 위성영상, DEM
벡터 점·선·면으로 표현 도로, 건물, 행정경계
기하학적 타입 형태와 좌표 중심 Polygon 좌표
위상적 타입 연결·인접 관계 중심 도로 네트워크
공간 데이터 모델 데이터를 구조화하는 방식 래스터 모델, 벡터 모델
 

1. 시공간 질의어 (Spatiotemporal Query Language)

시공간 데이터를 검색·조회하기 위한 언어입니다. 일반 SQL에 공간과 시간 조건을 결합한 형태가 많습니다.

주요 질의 유형

  • 특정 시간에 특정 지역에 있던 객체 찾기
  • 특정 기간 동안 이동한 경로 조회
  • 두 객체가 특정 시간에 인접했는지 조회
  • 시간에 따라 영역이 어떻게 변했는지 조회

예시 개념

SQL
 
-- 개념적 예시
SELECT *
FROM Vehicle
WHERE location INSIDE '서울시' 
  AND time BETWEEN '2024-01-01' AND '2024-01-31';

대표적으로 Spatiotemporal SQL 확장, STQL, 일부 연구용 언어들이 있습니다.


2. 시공간 자료 정의 언어 (Spatiotemporal DDL)

시공간 데이터의 구조(스키마)를 정의하는 언어입니다. 일반 DDL(Data Definition Language)에 공간·시간 타입을 추가한 것입니다.

정의하는 내용

  • 공간 속성 (Point, Line, Polygon 등)
  • 시간 속성 (Valid Time, Transaction Time 등)
  • 시공간 객체 타입
  • 인덱스 (시공간 인덱스)

예시 개념

SQL
 
CREATE TABLE Building (
  id INT,
  name VARCHAR,
  geometry POLYGON,           -- 공간
  valid_from TIMESTAMP,       -- 유효 시작
  valid_to TIMESTAMP          -- 유효 종료
);

3. 시공간 자료 조작 언어 (Spatiotemporal DML)

시공간 데이터를 삽입·수정·삭제하는 언어입니다. 일반 DML에 시공간 제약이 추가됩니다.

주요 연산

  • 새로운 시공간 객체 삽입
  • 객체의 위치나 형태가 시간에 따라 변할 때 갱신
  • 특정 시점 이후 데이터 삭제 (이력 관리 포함)

특히 이원 시간(Bitemporal) 데이터를 다룰 때는 유효 시간과 거래 시간을 함께 고려해서 수정해야 합니다.


4. 시공간 데이터의 연산

시공간 데이터에서 수행하는 핵심 연산은 크게 두 가지로 나뉩니다.

(1) 시공간 위상 관계 연산 (Spatiotemporal Topological Operations)

객체 간의 공간적·시간적 관계를 판단하는 연산입니다.

공간 위상 관계 예시

  • Disjoint (서로 떨어져 있음)
  • Touch (접함)
  • Overlap (겹침)
  • Contain / Inside (포함)
  • Equal (동일)

시간까지 결합된 예시

  • 두 객체가 동시에 인접했는가?
  • A가 B 안에 존재하는 동안 C와 겹쳤는가?
  • 특정 기간 동안 두 이동 객체가 만남을 가졌는가?

→ “언제, 어떤 공간 관계를 가졌는가?”를 다루는 연산

(2) 시공간 기하 연산 (Spatiotemporal Geometric Operations)

객체의 형태·위치·크기와 관련된 계산 연산입니다.

주요 연산

  • 거리 계산 (특정 시점 또는 기간 동안의 거리)
  • 면적·길이 계산
  • 버퍼(Buffer) 생성
  • 교차(Intersection), 합집합(Union), 차집합(Difference)
  • 이동 궤적의 길이, 속도, 방향 계산
  • 시간에 따른 형태 변화량 계산

예시

  • 두 차량이 가장 가까워진 시점과 거리
  • 특정 기간 동안 산림 면적이 얼마나 줄었는지
  • 이동 경로의 총 거리와 평균 속도

5. 한눈에 정리

구분역할핵심 내용
시공간 질의어 데이터 검색 공간+시간 조건으로 조회
시공간 정의 언어 (DDL) 구조 정의 시공간 타입과 스키마 생성
시공간 조작 언어 (DML) 데이터 변경 삽입, 수정, 삭제 (시간 이력 포함)
위상 관계 연산 관계 분석 접함, 포함, 겹침 + 시간
기하 연산 형태·위치 계산 거리, 면적, 버퍼, 궤적 분석