• 검색 결과가 없습니다.

S129Viewer

문서에서 저작자표시 (페이지 50-54)

Fig. 4.2 Flow chart diagram of S129Viewer

데이터 입력과정에서는 선저여유수심관리 데이터, 드로잉 명령집합, 묘화 라 이브러리 요소를 입력한다. 선저여유수심관리 모델에서 해당 문서들은 XML 기 반의 문서들로 작성되며 XML 데이터 파싱 기술이 필요하다. S129Viewer에서는 XML 처리를 위해 firstobject.com의 CMarkup 클래스를 사용하였다. CMarkup은 C++ 기반 오픈소스로 XML 문서에 대한 입출력 함수를 제공한다. XML 문서의 엘리먼트 이름이나 속성 이름으로 데이터를 탐색할 수 있으며 CString 형태로 값을 반환한다(firstobject, 2014).

드로잉 명령집합은 입력 후 우선순위를 나타내는 drawingPriority 속성의 값 이 낮은 순으로 정렬된다. 이는 우선순위가 낮은 피처를 먼저 출력하고 우선순 위가 높은 피처를 나중에 출력하여 여러 피처가 같은 공간에 그려질 때 우선순 위가 높은 피처가 상위에 나타나기 위해서이다.

데이터 입력 후 S-52/S-57 해도가 그려지며 S-52/S-57 해도 위에 선저여유수 심관리 모델의 피처들이 그려진다. 선저여유수심관리 모델의 피처들이 S-52/S-57 해도위에 그려지기 위해서 좌표의 변환이 필요하다. 위도, 경도로 표 현된 선저여유수심관리 데이터의 좌표값들은 S-52/S-57 전자해도시스템에서 사 용하는 좌표체계에 맞춰 값이 변환된다.

선저여유수심관리 모델의 출력과정에는 앞서 입력한 선저여유수심관리 데이 터, 드로잉 명령집합, 묘화 라이브러리의 데이터들이 사용된다. Fig. 4.3은 S129Viewer의 클래스 다이어그램이다. Fig. 4.3의 UnderKeelClearancePlan 클래 스는 선저여유수심관리 데이터를 입력하기 위한 클래스로 선저여유수심관리 프 로젝트팀의 데이터 모델(Fig. 2.4)의 구조를 따른다. S129_DrawingInstruction 클 래스는 드로잉 명령집합의 데이터를 입력하며 전자해도에 피처를 그리는 함수 를 갖는다. colorProfiles 클래스는 색상정보에 대한 데이터를 다루며 S-57 ENC 클래스는 S-52/S-57 기반 전자해도 표출과 관련된 속성과 함수들을 갖는다.

Fig. 4.3 Class diagram of S129Viewer

Fig. 4.4는 S129Viewer의 시퀀스 다이어그램으로 각 문서의 데이터들이 교환 되는 과정을 보여준다. Fig. 4.4의 S129_DrawingInstruction, UnderKeelClearance Plan, ColorProfile 클래스는 각각 드로잉 명령 집합, 선저여유수심관리 데이터, ColorProfiles(묘화 라이브러리)의 데이터가 입력된 클래스이다. 피처를 그리는 함수는 S129_DrawingInstruction 클래스에 포함되어 있다. S129_Drawing Instruction 클래스는 출력할 피처의 좌표값을 얻기 위해 UnderKeelClearance Plan 클래스로 피처 참조값을 전달한다. UnderKeelClearancePlan 클래스는 피처 데이터 중 ID값과 피처 참조값이 동일한 피처의 좌표를 전달한다. 드로잉 명령 의 엘리먼트 중 색상을 사용하는 엘리먼트가 있을 시 색상의 토큰값을 ColorProfile 클래스로 전달하며 ColorProfile 클래스에서는 토큰값에 따른 색상

Fig. 4.4 Sequence diagram of S129Viewer

데이터를 반환한다. 결과적으로 S129_DrawingInstruction 클래스는 피처를 그리 기 위한 드로잉 명령 데이터, 좌표값, 색상값을 모두 갖게 되며 Draw_Feature() 함수로 S-52/S-57 기반 해도 위에 피처를 출력한다.

Fig. 4.2의 Redraw는 해도의 확대나 축소 혹은 화면 중심이 이동할 때 발생 한다. 해당 경우는 화면에 표현되는 범위나 피처들이 달라지기 때문에 해도 데 이터와 선저여유수심관리 데이터가 다시 그려진다.

구성 내용

운영체제 Windows 10 Education 64bit CPU Intel Core i5-6400 CPU 2.70GHz

RAM 8GB

개발 도구 VisualStudio 2015 MFC

렌더링 라이브러리 GDI, GDI+

Table 4.1 System configuration

문서에서 저작자표시 (페이지 50-54)

관련 문서