Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 19, No. 7, pp.1289-1296
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Jul 2018
Received 25 May 2018 Revised 18 Jul 2018 Accepted 25 Jul 2018
DOI: https://doi.org/10.9728/dcs.2018.19.7.1289

해양안전정보의 S-100 표준 기반 표출 프로세스 분석 및 실험

김효승1 ; 문창호1 ; 이서정2, *
1한국해양대학교 컴퓨터공학과
2한국해양대학교 해사IT공학부
Analysis and Experiment of Portrayal Process based on S-100 Standard of Marine Safety Information
Hyoseung Kim1 ; Changho Mun1 ; Seojeong Lee2, *
1Department of Computer Engineering, Korea Maritime and Ocean University, Busan 49112, Korea
2Department of Marine Information Technology, Korea Maritime and Ocean University, Busan 49112, Korea

Correspondence to: * Seojeong Lee, Tel: +82-51-410-4578, E-mail: sjlee@kmou.ac.kr

Copyright ⓒ 2018 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

국제해사기구에서 추진하는 이네비게이션은 해양 안전과 보안, 해양환경보호를 목적으로 선박과 육상 측에 필요한 해양 관련 정보를 전자적인 수단으로 제공하는 기술이다. 국제수로기구 S-100 표준은 공통된 데이터 구조로써 다양한 수로정보를 표현할 수 있는 지리 공간 표준이다. S-100 표준을 기반으로 전자해도를 위한 S-101을 비롯하여 다양한 명세들이 개발되고 있다. 본 논문에서는 S-100 기술의 구현에 관심 있는 개발자들의 어려움을 도와주기 위해, 선저여유수심관리 데이터모델을 기준으로 S-100 데이터 표출 프로세스 분석하고 그 결과에 대한 사례를 구현했다. 데이터 표출 프로세스는 데이터 인코딩과 표출엔진으로 구성되며, 데이터 인코딩은 응용 스키마 생성과 데이터 셋 생성과정을 포함한다. 표출엔진은 생성된 데이터 셋의 형식변환과 XSLT 처리과정, 드로잉 명령집합을 생성하는 과정으로 구성된다.

Abstract

The e-Navigation promoted by the International Maritime Organization is a technology that provides marine-related information necessary for ship and shore side by electronic means for marine safety, security and protecting marine environment. The IHO S-100 standard is a geospatial standard that can express various hydrographic information. Various specifications including S-101 for electronic charts are being developed. In this paper, to help developers who are interested in implementing the technology of S-100, we not only analyze the process to portray the S-100 based data but also implement a case study on S-129 under keel clearance management. The portrayal process consists of data encoding and portrayal engine. Data encoding includes generation of application schema and data set. Portrayal engine is performed by the reform of the generated data set, the XSLT processing, and then the generation of drawing instructions.

Keywords:

Data model, E-navigation, Electronic navigational chart, S-100 standard, Under keel clearance management

키워드:

S-100 표준, 데이터 모델, 선저여유수심관리, 이네비게이션, 전자해도

Ⅰ. 서론

국제해사기구(IMO, International Maritime Organization)는 해양 안전과 보안, 해양환경보호를 목적으로 이네비게이션 전략을 추진하고 있다. 이네비게이션은 선박 혹은 육상 측에 필요한 해양 관련 정보를 전자적인 수단으로 수집, 통합, 교환, 표현 및 분석하여 해양 관련 서비스들을 강화하고 안전한 항해를 지원하는 프로젝트이다. 이네비게이션 체계에서 선박 혹은 육상측 종사자들은 선박, 항해 및 해상 영역과 관련된 정보가 필요하다. 이 정보는 국제적으로 합의된 공통된 데이터 구조로 제공이 되어야하며 이를 위해 국제해사기구는 공통 해사 데이터 구조(CMDS, Common Maritime Data Structure)를 이네비게이션 수행 전략 계획(SIP, Strategy Implementation Plan)에 포함하였다. 국제해사기구는 이네비게이션 추진을 위해 국제수로기구(IHO, International Hydrographic Organization)의 S-100 표준을 공통 해사 데이터 구조로서 채택하였다[1].

S-100 표준은 다양한 수로정보를 표현할 수 있는 지리 공간 표준으로 육상에서 사용되고 있는 지리 정보 표준인 ISO-19100 시리즈를 기반으로 한다. 기존 전자해도(ENC, Electronic Navigational Chart) 표준인 S-52, S-57 표준의 경우 3차원 정보, 해저 지형, 조석 등의 표현에 한계가 있으며 확장성이 부족하다. S-100 표준은 제품사양(product specification)의 형태로 개발관련 표시 및 기준에 대해 소개한다. 전자해도 제품사양인 S-101을 비롯한 S-102(수심측량), S-122(해상보호구역), S-127(해상교통관리)등이 개발되고 있다[2].

2015년 국제수로기구에서 선저여유수심관리에 대한 제품사양에 대한 논의가 이루어졌으며 2016년 S-129로써 S-100 시리즈에 포함되었다[3]. 선저여유수심이란 선박의 가장 밑 부분과 해저 지형과의 거리를 의미하며 선저여유수심관리는 동적으로 변하는 환경요소에 대한 정보와 각 선박의 정보를 고려하여 선박별로 정확한 선저여유수심을 제공해주는 것이다. 화물을 운반하는 선박은 선저여유수심에 따라 최대허용 범위까지 화물을 적재할 수 있는 이점을 갖게 된다. 선저여유수심관리의 제품사양 개발은 한국해양대학교 소프트웨어 공학 실험실과 호주해사청(AMSA, Australian Maritime Safety Authority), OMC International을 비롯하여 다수의 회원사와 회원국 참가자로 구성된 선저여유수심관리 프로젝트팀에서 요구사항분석, 데이터 모델링 등의 제품사양 개발이 현재 진행 중이다.

현재까지 S-100 표준을 기반으로 하는 데이터 모델링 및 피처에 대한 정의는 다수 진행되고 있으나 실제 구현에 대해 상세하게 분석한 연구는 거의 없어 S-100 관련 구현에 관심 있는 개발자들이 어려움이 많은 상황이다.

본 논문에서는 이를 해소하기 위해 선저여유수심관리 데이터모델을 기준으로 기존 전자해도에 S-100 기반 데이터를 표출하기 위한 프로세스와 각 단계에 필요한 입력과 출력에 대해 분석한 결과를 사례를 통해 보여준다.


Ⅱ. 관련연구

2-1 S-100 표준 등장 배경

S-57 표준은 1992년 제14차 국제수로 총회에서 공식 표준으로 승인되었다. S-57 표준은 2000년 3.1버전이 공개되었으며 이후 동결되어있는 상황이다. S-57 3.1버전은 국제해사기구에서 성능 표준을 정의한 전자해도표시시스템(ECDIS, Electronic Chart Data and Information System)을 대상으로 하는 표준이다. 따라서 다양한 수로데이터의 표현에는 한계점이 존재하며 다양한 첨단 요구사항을 만족시킬 수 없다[4].

이네비게이션 체계가 구체화되고 관련된 다양한 연구가 진행됨에 따라 다양한 해양 관련 정보에 대한 요구가 증가하였으며 전자해도표시시스템의 발달로 다양한 정보의 획득과 표현이 가능해졌다. S-100 표준은 다양한 해양관련정보를 표현하고 유연한 확장성을 만족시키기 위해 육상 지리 정보 시스템 표준인 ISO 19100 시리즈를 참조하며 객체 지향 표기언어인 UML(Unified Modeling Language)을 활용하여 작성되었다. 2017년 4월 S-100 국제 수로 데이터 모델 3.0 버전이 공개되었으며 S-100 표준을 기반으로 전자해도 제품사양인 S-101을 비롯한 다양한 제품사양들이 개발되고 있다[5].

S-100 기반 제품사양 개발은 요구사항 분석과 데이터 모델링, 데이터 분류, 인코딩 등의 과정을 거친다. 이후 제품사양은 국제수로기구의 최종승인을 거쳐 레지스트리에 등록된다[2]. 데이터 모델링은 표현하고자하는 현실 세계의 객체를 분석하여 피처(Feature)로 분류하며 각 피처의 속성(Attribute)과 피처간의 관계(Relationship)를 도출하는 과정이다. 피처는 등대, 항구, 부이 등 특정 지점에 존재하는 물체나 항로, 구역 등의 범위가 될 수 있다. 속성은 피처의 정보, 특성을 나타내며 속성의 이름과 자료 형을 갖는다. S-100 표준에서는 정수(Integer), 실수(Real), 논리(Boolean), 시간(Time) 등의 단순 자료형(Simple type), 두 개 이상의 속성으로 이루어진 복합 자료형(Complex type) 혹은 유효한 속성 값들을 미리 정의하여 사용하는 열거형 자료형(Enumeration type) 등의 자료형을 제공한다. 그림 1은 S-100 표준에 수록된 복합 자료형과 열거형 자료형의 사례를 보여준다.

Fig. 1.

Example of complex type and enumeration

정보타입(Information Type)은 피처와 관련된 정보를 속성으로 갖는 객체로 피처와 마찬가지로 속성과 관계를 갖는다. 정보타입은 독립적으로 사용되기보다 하나 이상의 피처와 관계를 갖고 피처에 대한 정보 표현을 돕는 목적으로 사용된다. 도출된 피처, 정보타입, 속성, 관계는 UML로 표현된다.

2-2 선저여유수심관리

선저여유수심(UKC; under keel clearance)이란 선박의 가장 밑 부분과 해저 지형 사이의 높이로 선박 운항을 위해 요구되는 공간을 의미한다. 선저여유수심은 수심, 조위 등의 환경정보와 운항하는 각 선박의 정보를 고려하여 계산한다. 호주해사청은 선저여유수심의 제한을 1m 혹은 흘수 값의 10%로 규정하고 있다. 그림 2는 호주해사청에서 정의한 선저여유수심의 개념을 나타낸다[6].

Fig. 2.

Concept of under keel clearance

선저여유수심관리(UKCM; under keel clearance management)는 환경정보와 선박정보를 기반으로 정확한 선저여유수심 값을 계산하여 각 선박에게 제공하는 것으로, 안전운항을 돕고 화물 적재 효율성을 증진시키는 이점을 갖는다. 이러한 이점으로 인해 선저여유수심관리 서비스는 현재 호주, 캐나다 등의 국가에서 실시하고 있다.


Ⅲ. S-100표준 기반 데이터 표출 프로세스 분석

본 장에서는 S-100기반 데이터 표출 프로세스를 분석하고 선저여유수심관리 데이터를 이용하여 각 단계를 수행한다. 3.1절은 선저여유수심관리의 데이터 모델링을 소개하며 3.2절은 S-100기반 데이터 표출 프로세스의 구성과 각 단계별 산출물, 그리고 선저여유수심 데이터를 기반으로 수행한 결과를 보인다.

3-1 선저여유수심관리 데이터 모델링

그림 3은 선저여유수심관리 프로젝트팀에서 요구사항 파악을 통해 정의한 데이터 모델링 결과이다. 각 피처에 대한 설명은 다음과 같다.

Fig. 3.

Result of UKCM data modeling

(1) UnderKeelClearancePlan

메타피처는 데이터 셋 내의 다른 피처들에 대한 정보를 다루는 피처로 실제 해도에는 표시되지 않는다. 그림 3의 UnderKeelClearancePlan은 메타피처로 데이터 생성시간(generationTime), 선박 식별번호(vesselId) 등 선저여유수심관리 모델의 데이터 셋을 설명하는 공통 정보들을 속성으로 갖는다. 3가지 종류의 피처인 S129_NavigationArea, S129_ControlPoint, S129_Route와 합성연관 관계를 갖는다.

(2) S129_NavigationArea

그림 3의 S129_NavigationArea 피처는 해도에서 항해와 관련된 특정 구역을 나타내기 위한 피처이다. 선저여유수심을 계산했을 때 충분한 높이가 확보된 경우 운항하는데 안전한 구역을 표현하며 선저여유수심의 높이가 충분하지 않는 경우 운항 시 위험이 발생할 수 있는 구역을 표현한다.

(3) S129_ControlPoint

S129_ControlPoint 피처는 항해경로에서 선박의 진행 방향이 변하는 기준점을 나타낸다. 기준점은 축척에 따라 기준점 자체를 표현하거나 기준점과 관련된 정보를 표현한다. 기준점과 관련된 정보는 선박이 기준점을 통과하는 예상시간과 선박이 기준점을 통과해야 하는 시간적 범위를 포함한다.

(4) S129_Route

S129_Route 피처는 항해중인 선박의 항해경로를 나타내기 위한 피처이다. 선저여유수심관리 프로젝트팀에서는 항해경로의 경우 기존 경로교환형식인 RTZ(route exchange) 형식을 참고하거나 기존 전자해도표시시스템의 경로 제공방식을 따르는 방안을 고려하고 있다.

3-2 선저여유수심관리 데이터 표출 프로세스

본 절에서는 S-100 표준의 데이터 표출 프로세스를 분석한 결과에 대해 설명한다. 이를 위해, 데이터 모델과 표출 시나리오를 분석하였으며 표준 문서를 통해 수행 과정과 방법 및 관련 기술들을 파악하고 연구하였다. 3.1절의 데이터 모델링 결과는 데이터 표출 프로세스의 데이터 인코딩 단계에서 사용한다.

S-100 기반 표준의 표출을 위한 구현과정은 그림 4와 같이 이루어진다. 해당 제품사양에 포함된 데이터 모델을 기반으로 데이터 인코딩과 표출 엔진 구현의 단계를 거친다. 데이터 인코딩 단계는 S-100 표준에 제시된 방법을 따라야하고, 그 결과 응용스키마와 데이터 셋이 각 XSD(XML schema definition)와 GML(geography markup language)의 형식으로 작성된다[7].

Fig. 4.

Portrayal process of UKCM data model)

표출 엔진은 다음 단계의 렌더링 수행을 위한 드로잉 명령집합을 생성한다. 드로잉 명령집합은 피처가 전자해도에 어떤 모양으로 표현되어야 하는지에 대한 정보를 담는 XML 문서이다. 드로잉 명령집합은 XSLT 처리 과정을 통해 생성되며 해당 과정에 필요한 스타일시트 문서와 관련 SVG 이미지, 색상 정의 문서를 작성한다. 데이터 셋과 드로잉 명령집합이 생성되면 전자해도에 데이터 모델을 표출할 수 있다.

본 논문에서는 S-129 선저여유수심관리 데이터에 대해 데이터 셋, 드로잉 명령집합 등 표출에 필요한 문서들을 생성한다.

1) 데이터 인코딩

표출 단계를 수행하기 위해 먼저 피처 데이터 형식의 결정과 인코딩된 데이터 셋이 필요하다. S-100 표준은 데이터 인코딩에 대해 ISO/IEC 8211, GML, HDF5(hierarchical data format 5) 등 여러 데이터 인코딩 방식을 지원한다. 본 연구에서는 S-100 표준에 따른 GML 형식의 데이터 인코딩에 대해 설명한다. GML 형식의 데이터 인코딩은 데이터 모델링 결과를 바탕으로 응용 스키마를 생성하는 과정과 데이터 셋을 생성하는 과정으로 진행된다.

(1) 응용 스키마 생성

GML은 OGC(open geospatial consortium)에서 정의한 지리적 요소를 표현하기 위해 만든 XML 기반의 언어이다. XML 문서 작성을 위하여 XML 문서의 형태와 구조를 정의한 XML 스키마 문서를 참조한다. S-100 표준은 S-100 표준 기반 제품에서 사용될 GML 요소들을 미리 정의한 XML 스키마 문서를 제공한다. S-100 표준의 GML 데이터 인코딩은 UML 형태의 데이터 모델링 결과와 S-100 표준의 XSD 문서를 이용해 피처를 위한 응용 스키마(application schema)를 생성한다. 응용 스키마는 데이터 모델에서 도출된 피처, 속성, 관계 등을 작성한다.

Example of application schema

(2) 데이터 셋 생성

응용 스키마가 생성되면 응용 스키마의 구조와 형식에 따라 최종적으로 XML 문서 형태의 데이터 셋을 생성한다. 데이터 셋은 S-100 표준에서 정의한 XML 스키마와 응용 스키마를 참조하고 지리적 요소들을 포함하여 GML문서로 작성한다. 표 2는 데이터 인코딩 과정에서 도출될 수 있는 결과물의 종류와 사례를 나타낸다.

Example of dataset

2) 표출 엔진(Portrayal Engine)

표출 단계는 피처에 따라 표출에 필요한 드로잉 정보를 매칭시켜 드로잉 명령집합을 생성하는 과정으로 입력 문서 도출, XSLT 변환, 드로잉 명령집합 도출의 과정을 진행한다.

표출 엔진은 XSLT(extensible stylesheet language transform)과정을 진행한다. XSLT는 기존 XML문서를 새로운 문서로 변환하는데 사용하는 방법이다. XSLT를 위하여 표출 규칙이나 심볼 정보 등을 담고 있는 표출 함수(portrayal function)를 변환 규칙으로 사용한다. 그림 5는 표출 엔진에서 수행해야하는 작업과 입력 및 출력 결과에 대한 프로세스이다.

(1) 데이터 셋 형식변환(reform)

XSLT 과정에 앞서 데이터 셋에 대해 XML 문서 형식으로 변환하는 과정을 거친다. S-100 표준은 ISO/IEC 8211, GML, HDF5 등 다양한 데이터 인코딩 방식을 지원한다. S-100 표준에서는 표출 프로세스에서 모든 인코딩 방식에 대해 적용이 가능하도록 데이터 셋 형식변환 과정을 권고한다.

Fig. 5.

Detail process of portrayal engine

본 논문에서는 3.1절에서 GML 형식으로 인코딩된 데이터 셋을 S-100 표준의 데이터 입력 스키마를 참조하여 XML 형식의 입력 문서로 도출한다.

입력 문서를 생성하기 위해 입력 스키마를 정의한다. 입력 스키마는 피처, 공간, 정보로 객체를 분류하며 관계를 갖는다. 입력 스키마를 구성하기 위한 기본 객체들은 S-100 표준에서 제공하는 스키마 문서에 정의되어 있으며 해당 스키마 문서를 참조하여 입력 스키마를 정의한다.

입력 문서는 입력 스키마에 지정된 형식에 따라 구성되며 피처이름, 아이디, 원시값과 XLST 처리 과정에 필요한 속성들을 포함한다. 원시값은 해당 피처의 지리적 형태를 나타내며 point, curve, surface 등의 값을 갖는다.

(2) XSLT 처리 과정

표출 엔진에서는 입력 문서와 표출 함수를 사용하여 XSLT 처리 과정을 수행한다. XSLT는 XML 문서의 변환 기능을 수행하는 과정으로 입력 문서의 데이터에 스타일시트를 적용하여 데이터를 다른 구조로 출력한다. XSLT 처리 과정에서 처리기는 입력문서의 내부요소들을 탐색하며 XPath 기술이 사용된다. XPath는 스타일시트에 사용된 요소나 속성들을 찾기 위해 사용되며 /, *, @ 등 특수한 기호를 통해 XML 문서에서 모든 유형의 정보를 탐색하는 기술이다. XPath를 통해 입력 문서의 엘리먼트나 속성 중 스타일시트에 정의된 템플릿과 일치하는 부분을 찾는다.

스타일시트는 입력 문서가 어떤 형식으로 출력되어야 하는지에 대해 정의하는 문서로 CSS(cascading style sheet), XSL(extensible stylesheet language) 형식을 사용할 수 있다. S-100 표준에서는 CSS보다 복잡하고 다양한 기능을 지원하는 XSL을 사용한다. XSL은 템플릿 단위로 출력 문서의 서식을 관리하며 템플릿은 입력 문서의 특정 엘리먼트, 속성 등에 적용될 수 있다.

Rule set은 XSLT 처리 과정에서 사용되는 XSL 스타일시트의 모음이다. 선저여유수심관리에 사용되는 스타일 시트 문서는 10가지이며 그림 6과 같다[7]. main.xsl 문서는 템플릿 적용 범위를 지정하고 탐색한다. 탐색 중인 엘리먼트 중 Group 1의 템플릿을 적용할 수 있는 엘리먼트가 발견되면 해당 템플릿을 적용한다. Group 1의 템플릿에서는 매개변수를 통해 드로잉 명령집합을 구성하는데 필요한 데이터들을 Group 2의 템플릿으로 전달한다. Group 2의 템플릿에서는 매개변수를 전달받아 드로잉 명령집합의 구성에 따라 엘리먼트, 속성 등을 새로운 XML 문서에 출력한다.

Fig. 6.

Structure of rule sets for XSLT

(3) 드로잉 명령집합(drawing instructions)

표출 엔진의 XSLT 처리 과정을 통해 드로잉 명령집합이 도출된다. 드로잉 명령집합은 피처에 따라 전자해도에 표현될 형상에 대한 데이터를 다루는 XML 형식의 문서이다. 형상은 피처 타입에 따라 결정되거나 룰에 따라 정의되며 형상의 유형에 따라 필요한 데이터들이 다르다. 본 절에서는 선저여유수심관리 모델의 피처들을 표현하기 위한 드로잉 명령집합에 대해 설명한다.

드로잉 명령집합은 S-100 표준의 드로잉 명령 패키지 모델에 따라 구성된다. 드로잉 명령집합은 먼저 모든 드로잉 명령에서 사용되는 공통된 속성들을 갖는 부모 클래스를 정의한다. 이후 점, 선, 면, 텍스트 등의 형상 유형에 따라 추가적으로 필요한 속성들을 자식 클래스로 정의하여 사용한다. 각 클래스의 구조대로 드로잉 명령이 생성되며 이 드로잉 명령들로 구성된 XML 문서로 생성한다. 표 3은 선저여유수심관리 모델의 드로잉 명령 집합 구성을 보여준다.

Structure of drawing instructions of UKCM model


Ⅳ. 실험 및 결과

4장에서는 S-52/S-57 기반 전자해도 상에 오버레이할 수 있는 소프트웨어 모듈을 구현한 결과를 보여준다.

선저여유수심관리 모델의 피처들을 표출하기 위해 피처들이 그려질 대상 전자해도가 필요하다. S-100 기반의 전자해도인 S-101 해도는 현재 제품사양이 확정된 후 개발 단계에 있어 본 논문의 실험대상으로 활용하기 어렵다. 본 논문에서는 기존 전자해도 표준인 S-52/S-57 기반 해도에 테스트할 수 있도록 소프트웨어 모듈을 구현하고 선저여유수심관리 데이터 표출 테스트를 진행하였다. 테스트 및 구현 환경은 표 4와 같다.

System configuration

테스트는 선박이 부산항에서 출발하여 부산항의 협수로를 따라 동해를 향해 운항하는 경우를 가정하고 선저여유수심관리 모델의 모든 피처를 나타낼 수 있도록 설정하였다.

선저여유수심관리 데이터는 제공하는 서비스에 따라 서비스 시나리오가 달라질 수 있다. 본 테스트에서는 선박의 진행 경로와 선박의 위치에 따라 주변의 선저여유수심 데이터를 표출하며 표출되는 데이터는 항행위험구역과 기준점이다. 아래는 테스트를 위하여 가정한 시나리오이다.

(1) 항행위험구역

항행위험구역의 표출을 위해서 선박의 가장 밑 부분과 선저여유수심 제한값의 차이를 기준값으로 설정한다. 기준값이 0이상이지만 0에 가까운 값이라면 항해가 가능하나 위험이 발생할 수 있는 구역을 표시한다. 기준값이 0 이하인 경우 항행불가구역으로 표시한다.

(2) 기준점

테스트에서 기준점은 출항시를 Point 0으로 가정하고 30분 간격으로 예상도착시간(ETA; estimated time of arrival)에 맞는 3개의 예상지점을 표시한다. 선박이 Point 1을 통과하면 Point 1은 해도 상에서 표시하지 않으며 새로운 예상지점(Point 4)를 표시한다. 기상 환경이나 항해 상황에 따라 기준점이 가지는 정보가 달라질 수 있으며 이에 따라 표출 결과도 달라질 수 있다.

그림 7그림 8은 테스트를 위하여 구현한 소프트웨어 모듈의 화면이다. 그림 7의 ①은 경로와 기준점을 나타낸다. 경로는 검정색 선으로 기준점은 검정 나비넥타이 모양의 기호와 관련된 정보를 가진 텍스트로 표시한다. ②와 ③은 각각 항행위험구역을 나타낸다. 해당 영역은 위험정도에 따라 투명도가 적용된 빨강 혹은 주황의 색으로 채워졌으며 그 위에 사선 형태의 패턴이 표시된다. 그림 8은 Point 3 통과로 인해 새로 생성된 Point 4, Point 5, Point 6을 보여준다.

Fig. 7.

Portrayal result of test scenario 1

Fig. 8.

Portrayal result of test scenario 2


Ⅴ. 결론 및 향후 연구

본 논문에서는 해양안전을 위한 새로운 전자해도 및 관련서비스를 위한 S-100 표준 기반의 구현 과정에 대해 분석하고 그 결과에 대한 사례를 구현해보았다. 최근 S-100 표준과 관련된 데이터 모델링 및 피처에 대한 정의는 진행되고 있으나 표준에서는 실제 구현에 대한 방법을 제공하지는 않는다. 본 논문에서는 선저여유수심관리 프로젝트팀에서 정의한 데이터 모델을 전자해도에 표출하는 과정을 연구하였다. 이를 위해 S-100 표준의 표출 단계를 분석하고 관련 기술을 분석하였다. 표출 단계에 따라 데이터 셋, 표출 라이브러리, 드로잉 명령집합 및 관련 문서들을 생성하였으며 전자해도 상에 표출하는 테스트를 해보았다. 본 논문의 결과는 S-100관련 소프트웨어 개발에 관심이 있는 개발자들에게 도움이 될 수 있다.

Acknowledgments

본 논문은 해양수산과학기술진흥원 지원 “국제표준 선도기술 연구개발”과 정보통신산업진흥원 지원 “기상.환경.선체 정보를 활용한 IEC 61162-150 기반 선박안전운항지원 SW 플랫폼 및 서비스 개발” 과제로 연구한 내용입니다.

References

  • International Maritime Organization, “ANNEX 20 Strategy For The Development AND Implementation Of e-Navigation”, International Maritime Organization, MSC, 85/26/Add.1 (2008).
  • H. Kim, C. Mun, S. Lee, "A Design of Data Model for Marine casualty based on S-100", Journal of Digital Contents Society, 18(1), p151-159, Feb), (2017.
  • International Hydrographic Organization, "HSSC7-05.1D Development of an S-100-Based Product Specification for Under Keel Clearance Management Information", International Hydrographic Organization, (2015).
  • H. Y. Lee, "Standardization trends : Standards of Next Generation Electronic Navigational Chart and International Trends", TTA Journal, (131), p89-96, (2010).
  • International Hydrographic Organization, “S-100 – UNIVERSAL HYDROGRAPHIC DATA MODEL edition 3.0.0”, International Hydrographic Organization, Apr), (2017.
  • Australian Maritime Safety Authority, "Fact Sheet - Under Keel Clearance Management System", Apr), (2016.
  • C. Moon, Implementation of a Data Model for S-129 Under Keel Clearance Management and Display Test on S-52/S-57 SENC, (dissertation of M.S.), Korea Maritime and Ocean University, (2018).
저자소개
김효승(Hyoseung Kim)

2010~2015 : 한국해양대학교 IT공학부 학사

2015~2017 : 한국해양대학교 대학원 컴퓨터공학전공 석사

2017~현재 : 한국해양대학교 대학원 컴퓨터공학전공 박사과정 재학

※관심분야 : 소프트웨어 품질, 해양 소프트웨어, e-Navigation

문창호(Changho Mun)

2010~2016 : 한국해양대학교 IT공학부 학사

2016~2018 : 한국해양대학교 대학원 컴퓨터공학전공 석사

※관심분야 : 해양 소프트웨어, e-Navigation

이서정(Seojeong Lee)

숙명여자대학교 전산학과 졸업(1989, 이학사)

동대학교 대학원 전산학과 석사과정 졸업(1991, 이학석사)

동대학교 대학원 전산학과 박사과정 졸업(1998, 이학박사)

1998년~2003년 동덕여자대학교 강의교수

2003년 미국 카네기멜론대학교 소프트웨어전문가 과정이수

2005년~현재 한국해양대학교 해사IT공학부 교수

2009년~현재 해양수산부 국제해사기구 정부대표단 활동

2015년 바다의날 해양수산부 장관표창 수상(해양소프트웨어품질보증 표준개발 공적)

※관심분야: 소프트웨어설계, 해양소프트웨어품질, 소프트웨어기능안전성

Fig. 1.

Fig. 1.
Example of complex type and enumeration

Fig. 2.

Fig. 2.
Concept of under keel clearance

Fig. 3.

Fig. 3.
Result of UKCM data modeling

Fig. 4.

Fig. 4.
Portrayal process of UKCM data model)

Fig. 5.

Fig. 5.
Detail process of portrayal engine

Fig. 6.

Fig. 6.
Structure of rule sets for XSLT

Fig. 7.

Fig. 7.
Portrayal result of test scenario 1

Fig. 8.

Fig. 8.
Portrayal result of test scenario 2

Table 1.

Example of application schema

<?xml version="1.0" encoding="utf-8"
<xs:schema
...
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:S100="http://www.iho.int/s100gml/1.0">
<xs:import namespace="http://www.iho.int/s100gml/1.0"
schemaLocation="GML/s100gmlbase.xsd"/>
...
<!--feature type-->
<xs:complexType name="UnderKeelClearanceNonNavigableAreaType">
<xs:annotation>
<xs:documentation>UnderKeelClearanceNonNavigableArea</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="S129_NavigationAreaType">
<xs:sequence>
<xs:element name="geometry" type="S100:SurfacePropertyType"/>
...
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
...

Table 2.

Example of dataset

<?xml version="1.0" encoding="utf-8"
<Dataset
xsi:schemaLocation="http://tempuri.org/XMLSchema.xsd
S129_ApplicationSchema.xsd"
...
xmlns:S100="http://www.iho.int/s100gml/1.0"
xmlns:gml="http://www.opengis.net/gml/3.2">
...
<UnderKeelClearanceNonNavigableArea gml:id="nna1">
<geometry>
<S100:Surface gml:id="su3">
<gml:patches>
<gml:PolygonPatch>
<gml:exterior>
<gml:LinearRing>
<gml:posList>129.0422 35.1019 129.0402 35.1031 ...</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
</S100:Surface>
</geometry>
<scaleMinimum>1</scaleMinimum>
<distanceAboveUKCLimit_m>1</distanceAboveUKCLimit_m>
</UnderKeelClearanceNonNavigableArea>
...
</Dataset>

Table 3.

Structure of drawing instructions of UKCM model

Name Description
DrawingInstruction Common class for all drawing
LineInstruction Class for expressing line
AreaInstruction Class for expressing area using color-fill or patterns
PointInstruction Class for expressing point using specific symbol
TextInstruction Class for expressing text

Table 4.

System configuration

Items Details
OS Windows 10 Education 64bit
CPU Intel Core i5-6400 CPU 2.70GHz
RAM 8GB
Developing tools VisualStudio 2015 MFC
Rendering libraries GDI, GDI+