2023년 4월 30일 일요일

GFM (General Feature Model) 개념, 개발 및 사용 방법

이 글은 GFM (General Feature Model) 개념 및 구조를 간략히 설명한 글이다. 대부분 공간정보 표준은 GFM을 기반으로 하고 있다. 참고로, GML은 민간표준인 OGC CityGML 기반이다 

이 글은 ISO 19109 표준 문서를 읽을 때 이해해야할 포인트를 요약해서 설명한다. 이 글을 통해 GFM 를 이용한 응용 스키마 개발, 사용방법 뿐 아니라 국제 표준의 요건이 무엇인지를 이해할 수 있다.

참고로, 다음같은 ISO 표준 문서 목차의 의미를 알고 있으면 이해하기 좋다.

  • Normative: 규정
  • Informative: 참고
  • Conformance: 표준 문서 정의에 사용된 기준. 적합성이라 함
  • Term: 표준화를 위해 사용하는 용어 개념 정의
  • Abbreviations: 표준문서에 표현된 모든 약어 설명

개요

GFM ISO 19109로 알려져 있다. 다음은 19109의 특징이다

  • 이 표준은 지형 지물을 정의하는 규칙을 정의한다
  • 다양한 지형지물은 응용에 따라 그 구조와 내용이 달라진다. 그러므로, 이를 일반화한 형상(General Feature)를 정의하고, 이를 개념적 스키마 언어(CSL. Conceptual Schema Language)로 한다. 응용은 이 CSL을 기반으로 정의하면 된다는 식이다
  • 개념 스키마를 기반으로 응용 스키마를 개발하기 때문에 이를 전이(transition)이라 부른다

19109는 개념적 스키마이기 때문에 다음 내용은 범위에 포함하지 않는다

  • 특정 응용 스키마 정의
  • 메타 데이터 표현
  • 응용 스키마 간 맵핑 규칙
  • 컴퓨터 환경에서 응용 스키마 구현 방법
  • 컴퓨터 환경에서 응용 소프트웨어 설계 방법
  • 프로그래밍


용어와 약어 정의

다음 용어와 약어는 표준 문서에서 사용하는 단어의 의미를 좀 더 명확히 하여, 혼란을 방지하기 위해 정의한 것이다

용어

  • complex feature: 다수 지형지물로 구성된 객체
  • conceptual model: 개념 규정 모델
  • conceptual schema: 개념적 스키마 
  • coverage: 공간, 시간, 시공간 도메인 내 특정 위치에 대한 값을 규정하는 객체
  • dataset: 데이터 식별 가능한 모음(collection)
  • domain: 정의 집합
  • feature: 실세계 지형지물 형상
  • feature association: 지형지물 인스턴스 간의 연관관계
  • feature attribute: 지형지물의 속성
  • feature operation: 지형지물 인스턴스에 대한 실행 가능 연산
  • metadata: 데이터의 의미, 형식 정의
  • model: 현실의 한 부문을 추상화한 객체
  • property: 객체의 속성

약어

  • CSL: Conceptual Schema Language
  • GFM: General Feature Model
  • OWL: Web Ontology Language
  • UML: Unified Modeling Language

배경

이 장에서는 표준의 배경을 설명하고 있다. 배경은 용어, 약어들이 사용된 맥락을 이해할 수 있도록 설명한다

  • 응용 스키마: 하나 이상 응용에 요구된 데이터의 개념적 스키마. 응용 스키마는 데이터 내용, 구조, 연산, 무결성 제약조건을 가지고 있어야 함. 응용 스키마는 machine-readable 해야 하며, 자동화 메커니즘을 포함해야 함
  • 응용 스키마 규칙: 이 표준은 어떤 응용 스키마도 표준화하지 않음. 다만, 사용자, 시스템, 위치간 지리 정보 교환 및 처리를 위한 응용 스키마 작성을 지원하는 일관된 규칙만 정의함. 이 표준 규칙은 다음 목적에 사용 가능함
    • 데이터 교환 위한 전송 응용 스키마 개발
    • 전송된 데이터세트의 의미 해석
    • 두 이기종 데이터세트 간 변환

데이터 교환

데이터 교환은 전송과 트랜잭션으로 이뤄진다.

  • 맵핑: 두 스키마가 서로 상이한 경우, 상호 맵핑은 어렵거나 불가능할 수 있음. 만약, 응용 스키마 간 데이터 교환 요구사항을 고려해 개발했다면 이런 맵핑은 일부 가능함. 다만, 맵핑규칙은 이 표준 범위에 속하지 않음
  • 데이터 교환: 미리 정의된 의미를 가진 데이터세트 교환과 통신 기반 서비스 호출을 통한 데이터 교환이 있음

다음 그림은 데이터 교환 방법을 보여준다.

Data interchange by transfer (ISO 19109)

Data interchange by transaction

 

지형지물 정의 원칙

독립적으로 응용 스키마를 정형화하기 위한 일반 규칙을 정의한다

 

지형지물

지리 정보 기초단위는 지형지물(feature)이다. ISO 19110은 지형지물 분류를 위한 프레임웍을 제공한다. 지형지물은 다양한 상황에서 4-layer architecture에 따라 정의된다

다음 그림은 런던 브리지와 같이 실세계 현상이 어떻게 지형지물 객체로 분류되는지를 보여준다

The process from universe of discourse to data(ISO 19109)

다음 그림은 실세계 현상을 지형지물 카탈로그로 정의해, 응용 스키마를 개발하고, 데이터 구조를 정의하는 흐름을 보여준다

From reality to geographic data(ISO 19109)

 

GFM은 실세계 현상에 대한 관점을 분류하는 데 도움을 준다. GFM ISO 19103에 부합한 개념 스키마 언어인 UML로 표현된다. 참고로, 19103은 공간정보 모델링 시 사용하는 UML 용어, 개념 및 구조를 정의한 표준이다

우리가 분류하고 싶은 지형지물은 속성, 관계, 연산 등을 갖는다. 이 모든 개념은 GFM의 메타클래스로 표현된다. GFM은 지형지물 타입(type. 유형)의 메타모델인 것이다.

GFM은 지형지물 분류를 위한 구조를 정의한다. 하지만, GFM에서 UML로 맵핑은 일반향 맵핑이며, 반대 방향 맵핑은 불가능하다

응용 스키마를 개발하기 위해서는 CSL을 사용해야 한다. CSL UML을 사용하며, UML을 사용하면 스키마 간 통합이 쉬워진다

 

지형지물 주요구조

지형지물은 속성, 유형, 관계 및 행위로 정의될 수 있다. 다음 그림은 GFM 전체를 나타낸다. 그림은 UML로 구성되어 있고, 각 클래스는 <<metaclass>> 스테레오타입으로 약속되어 있다

구조는 단순한데, 지형지물 유형(FeatureType)은 속성 유형(PropertyType)을 관리하고 있고, n:n 집합 관계이다. 지형지물 유형은 여러 파생관계(InheritanceRelation)를 가질 수 있다. 속성 유형은 특성(AttributeType), 연산(Operation), 지형지물 연관 역할(FeatureAssociationRole)로 파생된다.

The General Feature Model(ISO 19109)

 

UML다이어그램에서 특이한 점은 isAbstract: Boolean 같이 비객체지향적인 정의들이 있다는 것이다. 데이터 정규화 관점에서 문제가 있어 보이는 부분들도 보인다(. constrainedBy[0..*] ...). FeatureType superType, subType관계가 있는 데, 이는 디자인 패턴 중 컴포지트 패턴 등을 고려한 것 같다

Operation 클래스는 기능적 함수를 정의하기 위해 CharacterString 타입으로 signature 문자열을 정의하고 있다

IdentiiedType GFM 클래스 간 식별을 위한 메타클래스이다

참고로, GFM UML 다이어그램의 첫번째 버전은 각 클래스에 GF_ 태그를 붙였었다

 

응용 스키마 모델링 과정

응용 스키마는 특정 응용 분야의 데이터 구조에 대한 정확한 이해를 표현하며, 데이터 처리를 자동화하여 컴퓨터가 읽을 수 있는 스키마를 제공할 수 있어야 한다

GFM은 지형지물 정의를 위한 메타모델이다. 이는 실세계 관점을 분류하는 데 필요한 개념 모델을 제공한다. 다만, 응용 스키마를 모델링하기 위해서는 CSL을 이용해 다음과 같이 프로파일해야 한다

  • 텍스트, 이름, 숫자, 날짜, 측정을 다루는 기본 유형(primitive types), 공통 구현 유형(common implementation types), 파생 유형(derived types) ISO 19103:2015를 준용한다.
  • UML 연관은 관계 수 조건 표시, 연관 끝에 역할 표시, 역할 이름 정의가 필요하다.
  • 역할 이름은 패키지 내에서 유일해야 한다.
  • 스테레오타입은 19103 표준 정의를 사용한다. 예를 들어 패키지는 ApplicationSchema, 클래스는 CodeList, 열거형은 enumeration, 클래스는 FeatureType를 사용한다.

다음 그림은 표준 및 응용 스키마간 사용 의존성 관계 다이어그램이다

Example of application schema integration

다음은 응용 패키지를 GFM을 이용해 개발한 사례이다. 이 사례는 실세계 현상 중 교량과 도로를 설명한다

Example of an application schema based on other application schemas

클래스 구조 모델링은 다음과 같이 어떤 지형지물(AnyFeature)이든 GFM 메타클래스인 FeatureType를 참조해 모델링한다. 이를 메타클래스를 인스턴스화한다고 한다

The AnyFeature feature type

FeatureType의 인스턴스는 CLASS로 구현해야 한다

다음 보기는 Building이란 Feature를 응용 스키마로 정의한 것이다

Example of UML implementation of feature types

 

만약, 자기 참조가 되어야 한다면, 다음과 같이 컴포지트 패턴을 사용할 수도 있다.

Example of feature succession at the generic feature level

공간 속성 유형은 ISO 19107과 부합해야 한다. 이 표준은 기하(geometry) 및 위상기하의 차원, 위치, 크기, 모양 및 방향을 수학 함수를 사용해 정량적으로 표현하는 방법을 제공한다. 다음은 이를 정의한 클래스이다. (참고로 19107:2003은 각 클래스앞에 GM_를 붙였다. FDIS 2019버전은 GM_이 없다).

List of valid spatial objects for spatial attributes in an application schema

다음은 ISO 19107:2003 을 사용한 예를 나타낸다

Example of geometric composites defined in application schema

철도 응용 스키마를 GFM 19107으로 모델링해보자

지형지물은 건물, 기차역이 있으며, 이는 도시지역에 1:n 관계로 구성된다. 공간표현은 복합형상(GM_Complex)로 표현되며, 기본형상(GM_Primitive) 1:n 관계로 정의한다. 철도역은 Node, 연결성은 Edge로 표현한다. 철도 시스템은 복합위상(TP_Complex)으로 구성된다.

다음 그림은 이를 보여준다.

Example of independent spatial complexes in an application schema

 

마무리

지금까지 전체 19109 GFM 표준 문서에서 핵심적인 내용을 살펴보고, 의미를 설명해 보았다. 국제표준은 파급효과가 있는 산업 기준이 되므로, 명확하고 정형적이며 일관성있는 방법으로 표준 문서를 디자인하고 있다. 국내에는 관련 정보가 매우 부족하고, 단순 ISO 해외 문서 번역으로만 그치고 있는 경우가 많다

앞에서 내용을 보았다시피 정보 데이터와 관련된 표준 작업은 전문적인 소프트웨어 공학, 도메인 지식과 경험이 필수적이다. 이를 바탕으로 개발되는 표준이 의미가 있다고 생각한다.

 

레퍼런스

  1. ISO 19109. Geographic information — Rules for application schema
  2. ISO 10103, Geographic information — Conceptual schema language
  3. ISO 19107, Geographic information — Spatial schema
  4. NSDI portal

 

댓글 없음:

댓글 쓰기

생성 AI 건설 기술 트랜드

이 글은 생성 AI 건설 기술 트랜드를 간략히 정리한다. 레퍼런스 AI is hard (to do well) - AEC Magazine AI Copilot for architects launches in beta - AEC Magazine How to...