공간정보/표준2018. 6. 20. 16:20

현재 우리나라의 공간데이터 교환은 많은 문제가 있습니다. 생산자가 데이터 공개를 기피하는 것은 논외로 치더라도, 기껏 공개한 데이터도 공개 주체마다 제 각각이라서 사용하기 힘듧니다. 그것은 단순히 교환 포맷의 문제가 아닙니다. 데이터 교환용 공통 스키마가 있어야만 해결될 수 있습니다.

데이터 생산자는 자신의 데이터를 이 공통 스키마에 따라 변환한 임시 데이터셋을 만들고, 이를 지정한 공통 포맷으로 변환한 후, 이렇게 만들어진 파일을 공유해야 합니다. 이렇게 해야 각각의 생산자별로 다른 형태의 데이터가 만들어지는 상황을 피할 수 있습니다.

공간데이터 교환을 위해 가장 좋은 포맷은 GML(지리 마크업 언어 : Geography Markup Language)입니다. ISO TC211 표준에서도 교환표준으로 GML을 추천하고 있습니다. GML은 XML의 일종입니다. XML은 IT 분야에서 정보 전달의 수단으로 널리 사용되고 있습니다. 특히 해당 XML의 구조를 xsd(xml schema definition)이라는 구조로 저장하여 이를 함께 배포함으로써 데이터의 일관성을 유지하고 사용성을 높이고 있습니다. 마찬가지로 GML도 그 구조를 xsd로 만들어 함께 배포하면 데이터 교환에 관한 문제가 해결될 수 있습니다.

이상이 제가 공간정보 유통과 표준에 대하여라는 글에서 주장한 내용입니다. 

공간정보를 GML로 변환하는 것은 어렵지 않습니다. 대부분의 공간정보 처리 소프트웨어가 모두 GML을 지원하고 있기 때문입니다. 그런데 그 GML의 구조를 나타내는 XML Schema는 어떻게 만들어야 할까요? 이 글이 바로 공통스키마를 만들고, 이 공통스키마를 xsd로 변환하는 방법에 관한 글입니다.

공통 응용스키마 작성

공통 응용스키마는 다른 응용스키마와 마찬가지로, ISO 19103에서 정의한 개념스키마 언어인 UML(통합 모델링 언어 : Unified Modelling Language)를 사용하여, ISO 19109에서 정의한 응용 스키마 규칙에 따라 만듧니다. UML은 그래픽 언어이기 때문에 파워포인트나 포토샵 아니면 그냥 워드프로세서로 만들 수도 있지만, 대부분은 UML 도구를 사용하여 만들게 됩니다. 오픈소스인 Modellio도 정말 좋은 대안입니다. 하지만, ISO TC211에서는 상용 프로그램인 Enterprise Architect를 사용하여 작업하므로, 저도 이 도구를 사용하고 있습니다.

또한 응용스키마는 클래스 다이어그램 뿐만 아니라, 각각의 패키지/클래스/속성/연관 등에 대한 상세한 설명을 담은 문서가 필요한데, 이것도 UML 도구의 문서화도구를 사용해야만 편리합니다. 클래스 다이어그램과 문서가 일관성을 유지할 수 있기 때문입니다. 이와 같은 장점때문에 ISO 19109 응용스키마 법칙에서는 UML도구의 문서화 기능을 사용하여 문서화하라고 권고하고 있습니다. 따라서 UML 도구는 공간정보 응용스키마를 작업하려면 필수사항이라고 할 수 있습니다.

그런데 Enterprise Architect 를 사용하여 만든 응용스키마는 xsd로 직접 변환이 되지 않습니다. 기본적으로 UML 은 프로그래밍 언어가 아니기 때문이기도 하고, UML과 XML이 만들어진 개념이 많이 차이가 있기 때문입니다. 그렇다고하여 UML로 만들어진 응용스키마를 보면서 xsd를 따로 만드는 것은 에너지 낭비일 뿐만 아니라 불일치가 발생할 가능성이 높으므로 반드시 피해야 합니다.

ShapeChange를 이용한 UML ->XML Schema 변환

ISO TC211에서는 이 문제를 ShapeChange 등의 공개 소프트웨어를 사용하여 해결하였습니다. 상세한 내용은 ShapeChange를 이용하여 UML 모델에서 XML 스키마 생성하기를 읽어보시면 됩니다. 이 절차의 핵심은 ShapeChange입니다. 이 소프트웨어가 UML의 교환포맷인 XMI를 읽어들여서 모델의 적합성을 체크한 후, xsd를 만들어주는 소프트웨어 입니다. 

ShapeChange를 설치하고 테스트하는 방법은 ShapeChange 소개글에 나와 있습니다. 간단히 정리하면 Java Runtime Enviroment 32비트버전을 설치하고, ShapeChange 압축파일을 적당한 위치에 압축해제 해주고 약간의 설정을 해주면 됩니다.

ShapeChange 소개글에서 사용한 테스트용 응용스키마는 아래와 같이 생겼습니다. 복잡한 연관 관계는 없이 기본적인 데이터 유형 몇개와, 이들을 사용하는 지형지물 유형 2개가 정의되어 있습니다.

이 응용스키마에 대한 xmi 파일은 아래와 같습니다. 참고로 xmi 는 OMG에서 개발한 XML 교환용 포맷입니다.

test.xml

아래는 이 파일의 시작부분입니다. 매우 복잡합니다. ㅎㅎ

아래는 ShapeChange를 실행시켰을 때 나오는 XML Schema 파일 (.xsd)입니다. 

test.xsd

아래는 이 파일의 시작부분만 일부 캡처한 것입니다. 물론 많이 복잡합니다만, xml 스키마를 일부 알아볼 수 있겠네요.

예를 들어, 위에 있는 클래스 다이어그램에서는 DataType2를 아래와 같이 정의했습니다.

xsd에서는 아래와 같이 정의되어 있습니다. 제가 아직 XML/GML을 공부하는 중이라 잘은 모르지만, 예쁘게 정리된 것 같습니다. ㅎㅎㅎ

  <element name="DataType2" substitutionGroup="gml:AbstractObject" type="test:DataType2Type"/>
  <complexType name="DataType2Type">
    <sequence>
      <element maxOccurs="unbounded" name="string" type="string"/>
      <element minOccurs="0" name="integer" type="integer"/>
    </sequence>
  </complexType>
  <complexType name="DataType2PropertyType">
    <sequence>
      <element ref="test:DataType2"/>
    </sequence>
  </complexType>

보너스 - 지형지물 카탈로그 제작

게다가... ShapeChange를 사용하면 xml 스키마 뿐만 아니라, ISO 19110에서 규정한 지형지물 카탈로그(Feature Catalogue)도 만들 수 있습니다.  아래가 그 html 파일입니다.

test.html

그리고 아래는 이 지형지물 카탈로그의 첫부분만 캡쳐한 것입니다.

지형지물 카탈로그는 ISO 19110 표준에 정의되어 있습니다만, 우리나라에서 아직까지 지형지물 카탈로그를 제작해서 공개한 경우는 못본 것 같습니다. 그런데 이렇게 쉽게 제작할 수 있다면 지형지물 카탈로그도 더 많이 공개될 수 있지 않을까 기대해볼 수 있을 것 같네요.

====

아직까지 자세히 들여다보지는 못해서 사용법이나 자세한 설정방법 등은 잘 알지 못하지만, 응용스키마 작업을 하려면 ShapeChange를 반드시 활용해야 한다는 것은 알게되었네요. 오래전부터 고민해왔었는데, 이걸 발견하니 속이 후련해지는 느낌입니다. ㅎㅎㅎ

민, 푸른하늘


Posted by 푸른하늘이

댓글을 달아 주세요

공간정보/측량2007. 11. 18. 00:48
이달초 중국 시안에서 열린 제25차 ISO 지리정보기술위원회(TC211)에서 우리나라가 제안하고 준비해온 유비쿼터스 지리정보분야(UBGI) 워킹그룹(TC211/WG10) 설립이 회원국 만장일치로 승인됐다고 합니다. 자세한 내용은 관련 기사를 보시면 됩니다. 그중 일부를 발췌하면 다음과 같습니다.
UBGI(Ubiquitous Geographic Information)는 시·공간 제약 없이 필요한 지리공간정보를 제공하는 지능형 공간정보 서비스 기반 개념으로 (...) UBGI 워킹그룹은 앞으로 위성수신 GPS 공간정보와 유·무선통신 인프라가 결합한 지리정보 응용서비스 분야에서 국제 표준화 작업을 주관하게 된다.

ISO 지리정보기술위원회(TC211)는 이번에 UBGI 작업반 설립 승인에 이어 우리나라가 제안한 유비쿼터스 위치정보 식별 표준인‘U-포지션’등 3건의 국제 표준화 프로젝트도 함께 배정함으로써 이 분야 국제 표준화 추진이 더욱 가속화될 전망이다.
사실 유비쿼터스라는 개념은 너무 넓어서 한마디로 정의하기가 힘듧니다. 저는 유비쿼터스 기술에는 지리정보가 아주 중요한 역할을 할 것이라는 것은 당연히 이해되지만, 일반적인 지리정보와 어느정도 달라야 하는지는 잘 모르겠습니다. 그래서 일단 관련자료를 볼 때까지는 판단을 유보해야 할 것 같습니다.

그런데, 우리나라가 제안한 유비쿼터스 위치정보 식별표준이라는 "U-포지션"에 대해서는 상당히 관심이 끌립니다. ZDNet Korea의 기사에 따르면 U-포지션은 "한국의 대덕연구개발특구에 위치한 중소벤처기업 GG21에서 개발한 ePosition 기술을 기반으로 기술표준원에서 표준안으로 제안"하였다고 합니다.

ePosition은 대략적으로... 우리가 메일주소나 URL을 개인식별자 비슷하게 사용하고 있는 것처럼, 위치도 비슷한 방식으로 사용하자고 하는 것 같습니다. 예를 들어 제가 사는 집의 위치를 경위도로 표현하는 것이 가장 정확하겠지만, 저를 포함해 누구도 기억하지 못할 테고, 주소로 표현하는 게 일반적이기는 하지만, 표준과는 거리가 멀고, 너무 길어서 기억하지 못합니다. 따라서 하나의 위치를 이메일과 비슷한 형태로 표기하면 쉽게 기억하고 공유할 수 있다는 아이디어로 보입니다. 이메일에서 사용하는 '@'대신 '#'기호를 사용하는 것만 다릅니다. 예를 들어 우리집의 위치는 푸른하늘#www.tistory.com 이런식으로 말입니다. (이상의 정보는 정확하지 않을 수 있습니다.)

어쨌든... 이런 방식이 세계 표준으로 사용될 수 있다면, 어느 장소의 위치를 표현하는데 획기적이 될 수도 있겠다 싶네요.

민, 푸른하늘
====
관련기사 :
한국 u 지리정보 국제표준화 주도 디지털타임스 - 2007년 11월 12일
韓, 유비쿼터스 지리공간정보 국제표준 주도 이데일리 - 2007년 11월 11일
한국 주도 ‘U-지리정보’ 표준작업반 설치 KBS 뉴스 - 2007년 11월 11일
한국, UBGI 국제 표준 주도 유리 전자신문 - 2007년 11월 12일
한국, 유비쿼터스 지리정보 국제표준 이끈다 아이뉴스24 - 2007년 11월 11일
유비쿼터스 국제 표준 주도 전기 마련 머니투데이 - 2007년 11월 11일

Posted by 푸른하늘이

댓글을 달아 주세요