공간정보/표준2018. 8. 9. 22:43

일본 국토지리원에서 공간정보 표준과 관련하여, 공공측량 시행시 공간정보 표준을 지키는 방법에 대해 설명한 글입니다.

간단히 요약하면, 측량계획기관(발주자)가 측량사업을 시행하고자할 때, 먼저 제작하고자하는 측량성과의 종류, 내용, 구조, 품질 등을 담은 제품사양서를 작성해야 합니다. 이를 공공측량시행계획서와 함께 국토지리원에 제출하여 승인을 받습니다. 

이때 제품사양서에는 여러가지 내용이 포함되므로, 이 사이트에는 여러가지 샘플을 제공함과 동시에, 제품사양서 편집툴도 제공합니다. 전형적인 측량작업인 경우에는 샘플을 편집하는 방법이 편하고(기준점 측량부터 응용측량까지 측량 종류별로 따로 샘플이 있습니다.), 독특한 측량작업이라면 처음부터 제품사양서를 만들어야 하는데, 이때 제품사양서 편집 툴을 사용합니다.

제품사양서는 측량사업을 발주시 필요한 여러가지 사업관련 서류중의 하나로 포함됩니다. 측량작업기관은 이 제품사양서를 기준으로 측량을 실시하고 그 품질을 평가하여 메타데이터와 함께 측량 계획기관에 제출합니다. 이때 측량성과는 GML 로 제출합니다. 공간정보 표준에서 데이터 교환에는 GML 포맷을 사용하는 것이 표준으로 되었기 때문입니다.

품질 평가의 경우, 각각의 측량작업 별로 [품질요구 및 평가]에 관한 샘플이 있으므로, 이를 기준으로 평가를 하게 됩니다. 평가 결과는 품질평가표에 정리하게 됩니다. 메타데이터 작성의 경우 여러가지 항목을 입력해야 하기 때문에 국토지리원에서는 메타데이터 편집기를 제공하고 있습니다. 

이렇게 작성된 공공측량결과는 국토지리정보원에 사본을 제출하도록 규정되어 있는데, 이때 품질평가표와 메타데이터를 함께 제출해야 합니다. 

이처럼, 일본에서 작업규정준칙(우리나라의 공공측량작업규정에 해당)에 따라 제품사양서로부터 메타데이터에 이르기 까지의 규정만 지키면 자동으로 공간정보 표준을 지키게 됩니다. 아니, 공공측량인 이상 공간정보 표준을 지키지 않을 수 없습니다. 규정에 정해져 있으니까요.

우리나라에서 여러가지 이유로 공간정보표준을 지키지 않거나 혹은 무시되고 있는데, 일본의 사례를 잘 참고했으면 좋겠습니다.

민, 푸른하늘

원문 : https://psgsv2.gsi.go.jp/koukyou/public/seihinsiyou/seihinsiyou_index.html

====

작업 규정 준칙 제 5 조에는 측량 계획 기관이 공공 측량을 실시하고자 할 때, 측량 성과의 종류, 내용, 구조, 품질 등을 나타내는 제품 사양서를 정하도록 규정하고 있습니다. 본 사이트에서는 공공측량 제품 사양서 등에 대한 정보를 제공합니다.


** 측량 계획기관의 GML 포맷 데이터 서비스 지원에 대하여(2014년 4월 9일)

국토 지리원이 "지리정보표준 프로파일 (JPGIS)"을 기반으로 정비.제공하는 데이터는, 2012년부터 GML 형식으로 제공하도록 하겠습니다.

1.GML 단일화 배경과 국토 지리원의 대응  

"지리 정보 표준 프로파일 (JPGIS)"은 ISO 국제 표준을 기반으로 공간 데이터의 사양을 정하고 있습니다. 2011 년 ISO 표준이 개정되어, 공간 데이터는 원칙적으로 GML 형식으로 인코딩하는 것이 국제표준이 되었기 때문에, 국토 지리원의 데이터도 앞으로 원칙적으로 GML 형식으로 제공하기로 하였습니다. 그러나 이용자 요구가 높은 지리 공간 데이터는 다른 포맷으로도 제공할 예정입니다. 

2. 측량 계획 기관의 공간 데이터 정비에 대하여

국토 지리원에서는 측량 계획 기관의 GML 포맷 데이터 서비스를 지원하기 위하여,  XML 포맷에서 GML 포맷으로 변환하는 도구를 공개하고 있습니다. 자세한 내용은 공공 측량 뷰어 컨버터 사이트를 참고하십시오. 

「지리 정보 표준 프로파일 (JPGIS)」에 대한 상세한 내용은 여기를 참조하십시오.




이 사이트 자료를 "지리정보표준 프로파일 (JPGIS) 2014"에 맞춰 갱신하였습니다.(2014년 4월1일)




메타데이터 편집기를 개선했습니다. (2013년 6월 25일)

제품사양서 및 메타데이터의 "좌표참조계"에는 "JGD2011"로 기술하여주십시오(2013년 6월25일)
-> "지리 정보 표준 프로파일 (JPGIS) 2014 '에 맞춘 본 사이트의 자료(최신 제품사양서 및 메타데이터의 "좌표참조계")를 이용할 경우, 이미 "JGD2011"로 기술되어 있으므로, 별도 처리가 필요없습니다. (2013 년 6 월 13 일)


제품사양서 작성

제품 사양서란

  • 어떤 측량 성과를 작성하는가
  • 작성하는 데이터의 내용과 구조는 어떠한가?
  • 품질은 어느 정도인가 

등을 정한 측량 업무의 발주서류 중 하나입니다. 

  • 발주자(측량계획기관)는 제품사양서 등을 사용하여 사업을 발주합니다. 
  • 수주자는 제품사양서를 기준으로 데이터를 작성합니다. 

 측량계획기관은 공공측량 실시계획서와 함께, 제품사양서를 국토지리원에 제출해 주십시오.

제품사양서 작성방법

제품사양서 작성방법은 다음의 세가지가 있습니다. 1-3. 중 하나의 방법으로 만듭니다] 

  1. "작업규정준칙"을 준용한 "공공 측량 작업 규정"에 따라 업무를 수행할 경우, 제품 사양서 샘플 (① 제품사양서, ② 응용 스키마, ③ 품질 요구 및 평가)을 사용할 수 있습니다. [가장 추천하는 방법]
    1. "① 제품사양서" 워드 파일을 다운로드받아, 필요한 내용을 작성해주세요.
    2. "② 응용스키마" PDF 파일의 내용을 확인해 주세요.
    3. "③ 품질요구 및 평가" PDF 파일의 내용을 확인해 주세요.
    4. "① 제품사양서"를 사용하여 작성한 제품사양서를 공공측량 실시계획서와 함께 국토 지리원에 제출하십시오.

      【주의】 "② 응용스키마", "③ 품질요구 및 평가"의 내용이 업무에 적합하지 않은 경우, 방법 2 또는 방법 3을 사용하여 제품사양서를 작성하십시오.

  2. 제품사양서에서 "응용 스키마", "품질요구 및 평가" 등을 직접 만들 경우, "④ 원본 작성용 제품사양서" 파일을 다운로드받아 수정하여 작성하십시오. 

  3. 제품사양서 편집기를 활용하면, 모든 제품사양서 항목을 직접 만들 수 있습니다. 단, 제품사양서  편집기는 자세한 응용스키마 UML 클래스다이어그램을 작성할 수 없으므로, 주의하시기 바랍니다.

제품사양서 등 샘플

기준점측량

① 제품
사양서
② 응용
스키마
③ 품질요구 및 평가④ 원본 작성용
제품 사양서
(참고)
기준점 측량 (GNSS)

[워드:62KB]
2018.4.1

[PDF:231KB] 
2014.4.1

[PDF:176KB]
2014.4.1

[워드:1.1MB]
2018.4.1

응용 스키마 XML 문서
(JPGIS 부속서 12 형식)
 
[XSD:8KB] 
2015.11.24 

(JPGIS 부속서 8 형식) 
[XSD:6KB] 

코드 목록
 
[XML:1KB] 
2015.11.24
기준점 측량 (TS)

[PDF:207KB]
2014.4.1

기준점 측량
(좌표 보정)

[워드:64KB]
2018.4.1

[PDF:161KB] 
2014.4.1
[워드:157KB] 
2018.4.1

  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오. 
  • 예전 공개한 "제품 사양서 (간략 버전)" 파일은 "① 제품 명세서" 파일로 대체되었습니다.
  • 예전 공개한 "제품 사양서 (상세 버전)" 파일은 "④ 원본 작성용 제품사양서" 파일로 대체되었습니다.

수준측량

①제품
사양서
②응용
스키마
③품질요구 및
평가
④원본 작성용
제품사양서
(참고))
수준측량
(신설・재설)

[워드:63KB]
2018.4.1

[PDF:259KB]
2014.4.1

[PDF:190KB]
2014.4.1
※재측, 지반변동
조사와 동일

[워드:1.0MB]
2018.4.1

응용스키마 XML문서
(JPGIS 부속서 12 형식)
[XSD:4KB]
2014.4.1

(JPGIS 부속서 8 형식)
[XSD:3KB]

코드 목록
[XML:1KB]
2014.4.1

수준측량
(이전)

[워드:63KB]
2018.4.1

[PDF:167KB]
2014.4.1

[워드:336KB]
2018.4.1

수준측량
(재측,
지반변동조사)

[워드:64KB]
2018.4.1

[PDF:271KB]
2014.4.1

[PDF:190KB]
2014.4.1
※신설・재설과
동일

[워드:1.0MB]
2018.4.1

  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오. 
  • 예전 "제품 사양서 (간략 버전)" 파일은 "① 제품 명세서" 파일로 대체되었습니다.
  • 예전 "제품 사양서 (상세 버전)" 파일은 "④ 원본 작성용 제품사양서" 파일로 대체되었습니다.

수치지형도

① 제품
사양서
② 응용
스키마
③ 품질요구 및 평가④ 원본 작성용
제품 사양서
(참고)
수치 지형도
(지도 정보 수준 500)
[워드:75KB]
2016.4.1
표준 제품사양서
[PDF:3.9MB] 
2014.4.1 
(응용스키마:제 4·5 장) 
(품질요구 및 평가:7 장) 

구현 가이드 
[PDF:1.7MB] 
2014.4.1
[워드:175KB] 
2016.4.1
응용스키마 XML 문서
(JPGIS 부속서 12 형식)
 
[XSD:88KB] 
2014.4.1 

(JPGIS 부속서 8 형식) 
[XSD:89KB] 
2014.4.1
수치 지형도
(지도 정보 레벨 1000)
[워드:74KB]
2016.4.1
수치 지형도
(지도 정보 수준
 
500/1000 혼합)
[워드:75KB]
2016.4.1
수치 지형도
(지도 정보 레벨 2500)

[워드:75KB]
2016.4.1

표준 제품사양서
[PDF:3.7MB] 
2014.4.1 
(응용 스키마:제 4·5 장) 
(품질 구 및 평가:7 장)

[워드:164KB] 
2016.4.1

촬영(사진기준점 설치, 촬영, 항공삼각측량

①제품사양서②응용스키마③품질요구 및 평가④원본 작성용
제품사양서

디지털 항공카메라

[워드:67KB]
2018.4.1
[PDF:199KB]
2014.4.1
[PDF:233KB]
2014.4.1
[워드:202KB]
2018.4.1
아날로그 항공카메라[워드:67KB]
2018.4.1
[PDF:270KB]
2014.4.1
[PDF:214KB]
2014.4.1
[워드:226KB]
2018.4.1

  • 본 명세서 샘플은 "작업규정 준칙" 제3편 제3장 제1절 ~ 7절 업무 (사진기준점 설치, 촬영, 항공삼각측량)을 고려하며, 성과품은 "수치 사진"과 "외부 표정 요소 성과표"입니다.
  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오.

정사사진 작성

①제품사양서②응용스키마③품질요구 및 평가④원본 작성용
제품사양서

정사사진

[워드:65KB]
2016.4.1
[PDF:242KB]
2014.4.1
[PDF:178KB]
2016.4.1
[워드:222KB]
2016.4.1

  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오.

항공 레이저 측량

①제품사양서②응용스키마③품질요구 및 평가④원본 작성용
제품사양서

수치 표고 모델

[워드:65KB]
2018.4.1
[PDF:200KB]
2014.4.1
[PDF:155KB]
2014.4.1
[워드:444KB]
2018.4.1

  • 본 제품사양서샘플의 성과품 (수치 표고 모델)은 그리드 데이터 (x, y, z 값을 갖는 점군 데이터) 입니다. DEM 데이터 (벡터로 격자크기 및 자료범위를 지정하여 z 값만 기술한 데이터)가 아니므로 주의하시기 바랍니다.
  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오.

응용 측량

①제품사양서②응용스키마③품질요구 및 평가④원본 작성용
제품사양서

노선 측량

[워드:189KB]
2018.4.1
[PDF:249KB]
2015.11.24
[PDF:168KB]
2014.4.1
[워드:314KB]
2018.4.1

하천 측량

[워드:172KB]
2018.4.1
[PDF:230KB]
2014.4.1
[PDF:190KB]
2014.4.1
[워드:247KB]
2018.4.1

용지 측량

[워드:169KB]
2018.4.1
[PDF:230KB]
2014.4.1
[PDF:170KB]
2014.4.1
[워드:244KB]
2018.4.1

삼차원 점군 데이터 제작

원본 작성용
제품사양서(안)

삼차원 점군 데이터

[워드:45KB]
2018.4.1

  • 이 원본 작성용 제품사양서 샘플(안)은 실시하는 측량 업무나, 필요한 제품 사양에 따라 수정하여 사용하십시오. 
  • 제품사양서는 PDF 형식으로 작성하는 것이 원칙입니다. 워드로 작성한 파일은 PDF 형식으로 변환하십시오.

=======

참고자료 : 지리 공간 데이터 제품 명세서 작성 가이드 JPGIS 2014 판 [PDF : 2.1MB]

제품사양서 편집기

아래는 국토지리원에서 공개한 제품사양서 편집기 (지리공간 데이터 제품사양서 작성 지원 툴)입니다. 단, 이 편집기에서는 자세한 응용스키마 UML 클래스 다이어그램을 작성할 수 없습니다. 별도로 작성한 UML 클래스 다이어그램 등을 추가 · 편집해야 하므로 주의하시기 바랍니다. 

[제품 명세서의 작성은 제품 사양서 등 샘플을 사용하는 방법을 권장합니다] 

지리공간 데이터 제품 명세서 작성 지원 도구
지리 공간 데이터 제품 명세서 작성 가이드 JPGIS 2014 판 [PDF : 2.1MB]

품질평가

품질 평가는 "작성한 데이터가 제품사양서에서 규정한 품질을 만족하는지" 확인하는 작업입니다. (수주자가 평가합니다.) 

  • 발주자 (측량계획기관)은 제품사양서에 품질에 관한 사항을 규정합니다. 
  • 수주자는 제품사양서를 기준으로 데이터를 제작하고 측량성과에 대한 품질을 평가합니다. 
  • 품질평가표를 보면 데이터 품질(합격 여부)을 알 수 있습니다. 

측량 계획 기관은 국토 지리원에 측량 성과를 제출 할 때, 품질 평가표 사본도 제출하십시오. 

품질 평가표는 개별 표에 각 품질 요소의 평가 결과를 기재하고, 총괄표에 합격 여부를 기재합니다. 아래에 있는 품질평가표 샘플을 제품사양서 품질 요구에 따라 변경 한 후 사용하십시오. (수치 지형도 데이터 등, 여러가지 지형지물이 포함된 측량 성과의 경우, 각각의 지형지물별로 별도의 표를 작성하십시오)

기준점 측량

품질평가표 샘플

GNSS 관측

[엑셀:43KB]
2014.4.1

토털스테이션 관측

(1급)
[엑셀:42KB]

2014.4.1

(2급)
[엑셀:42KB]

2014.4.1

(3급)
[엑셀:42KB]

2014.4.1

(4급)
[엑셀:42KB]

2014.4.1

※등급(1~4급)・관측방법(GNSS・TS)가
여러가지인 경우

[엑셀:78KB]
2014.4.1
기준점 성과좌표 보정
(보정 파라미터에 의한 재계산)
[엑셀:40KB]
2014.4.1

수준 측량

품질평가표 샘플

수준측량(신설・재설치・재관측・
지반변동 조사)

(1급)
[엑셀:40KB]

2014.4.1

(2급)
[엑셀:40KB]

2014.4.1

(3급)
[엑셀:40KB]

2014.4.1
(4급)
[엑셀:40KB]

2014.4.1
(簡易)
[엑셀:40KB]

2014.4.1
(등급 여러개)
[엑셀:67KB]

2014.4.1
수준측량 (이전)(1급)
[엑셀:40KB]

2014.4.1
(2급)
[엑셀:40KB]

2014.4.1
(3,4급)
[엑셀:40KB]

2014.4.1
(등급 여러개)
[엑셀:58KB]

2014.4.1

수치지형도

※ 데이터 품질 적용 범위는 임의로 10 가지 예를 넣었습니다. 실제 사양에 따라 재작성하십시오.

품질평가표 샘플

수치지형도 

(지도정보레벨 500)
[엑셀:83KB]

2014.4.1

(지도정보레벨 1000)
[엑셀:83KB]

2014.4.1

(지도정보레벨 500/1000 혼합)
[엑셀:83KB]

2014.4.1

(지도정보레벨 2500)
[엑셀:83KB]

2014.4.1

촬영

품질평가표 샘플

촬영(사진기준점 설치, 촬영, 항공삼각측량)

디지털 항측 카메라
[엑셀:39KB]

2014.4.1

아날로그 항측 카메라
[엑셀:41KB]

2014.4.1

정사사진 제작

품질평가표 샘플

정사사진

[엑셀:38KB]
2014.4.1

항공 레이저 측량

품질평가표 샘플

수치표고 모델

[엑셀:37KB]
2014.4.1

응용측량

품질평가표 샘플

노선측량

[엑셀:38KB]
2015.11.24
하천측량[엑셀:39KB]
2015.11.24
용지측량[엑셀:38KB]
2014.4.1

3차원 점군 데이터 제작

품질평가표 샘플(안)
三次元点群データ[엑셀:22KB]
H29.10.20

메타데이터


메타 데이터 편집기 를 개선했습니다 (2013년 6 월 25 일)
    · "위도 경도" 입력 기능을 개선했습니다.
    · "JGD2011의 전거" 입력 기능을 삭제했습니다.
     (이전 버전을 제거한 후 새 버전을 설치하십시오)

메타 데이터란 "데이터(측량 성과)에 대한 요약 데이터"로서, 검색 등에 사용됩니다. 

  • 발주자(측량계획기관)는 제품사양서에 메타데이터 작성 규정을 기재합니다.
  • 수주자는 제품사양서에 따라 메타 데이터를 작성합니다. 
  • 메타데이터는 검색 시스템 등에서 이용되어, 측량 효율화에 도움이 됩니다. 

측량계획기관은 국토지리원에 측량 성과를 제출할 때, 메타데이터 사본도 제출하십시오. 

메타 데이터 편집기를 사용하면 메타 데이터를 쉽게 작성할 수 있습니다. 자세한 내용은 다음을 참조하십시오. 


문의처

본 사이트에 관한 질문 등은 다음 문의 양식으로 접수하고 있습니다. 

문의 양식


====

원문 : https://psgsv2.gsi.go.jp/koukyou/public/seihinsiyou/seihinsiyou_index.html




Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준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 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 6. 18. 23:28

ISO TC211 UML 모델을 실제 응용프로그램에서 활용하기 위해서는, 이 모델들을 직렬화하고 정보처리단위간에 전송할 수 있는 표현으로 구현되어야 한다. 대부분 현재의 구현은 XML을 사용하여 직렬화하며, 이때 XML Schema를 사용하여 교환 문서의 구조를 정의한다. 개념 모델을 구현하는 스키마를 자동적으로 생성하려면, UML 모델로부터 XML 스키마를 생성하는 소프트웨어 처리가 필요하다. 여기에서 설명하는 처리는 여러가지 최신 표준을 위하여 사용된다.

필요 소프트웨어

여기에 서술된 내용은 매우 간략한 정보이다. 자세한 내용은 Harmonized Model Management Group 위키를 참조하라

Enterprise Architect(EA) : ISO TC211 조화 UML모델을 생성, 갱신, 관리하는데 사용되는 상용 소프트웨어 패키지. 여기에 설명된 내용은 버전 12.1.1230을 기초로 한다. 2017년 07월 현재 EA 버전은 13.5이지만, 새로운 버전에 이 절차를 테스트하지 않았다.

ISO TC211 조화 모델(Harmonized Model) : ISO TC211 조화 모델은 웹에서 접근가능한 디렉토리에 저장되어 있다. 이 디렉토리에는 TC211가 책임을 맡고있는 모든 UML 모델을 담고 있는 파일들이 있다. 이 모델들은 EA로부터 XMI XML 교환포맷을 사용하여 내보낸(export) 것으로, 이들 XMI 파일들은 이 온라인 디렉토리에서 버전 관리(아래 Subversion을 볼 것)되고 있다. EA를 제외한 다른 UML 모델링 패키지도 이들 XMI 파일을 사용할 수 있으나, 실용적으로는 모델의 측면(노트, 태그, 색 코딩 등)을 모두 신뢰성있게 변환할 수 있을 정도로 표준화된 상태가 아니다. TC211 조화모델 저장소에 있는 XMI 문서는 다음의 네임스페이스를 사용한다. 

xmi.version="1.1" xmlns:UML="omg.org/UML1.3"

아울러 Enterprise Architect exporter 버전 2.5를 사용했고, windows-1252 캐릭터 인코딩을 사용하였다.

Subversion : TC211 조화모델 저장소는 Subversion 소프트웨어와 아파치 소프트웨어 재단의 오픈소스 패키지를 사용하여 관리되고 있다. 모델 요소를 체크아웃하고 변화를 체크하려면, 반드시 Subversion 클라이언트를 설치해야 하며, 모델 저장소와 연결해야 한다.

ShapeChange : Interactive Instruments GmbH software에서 제작한 오픈소스 소프트웨어 패키지로서, UML을 XML로 변환하여 모델 구현을 위한 XML Schema를 생성한다.

Soild Ground : CRISO에서 제작한 EA용 소프트웨어 확장으로서, ShapeChange를 수행하기 전 UML 모델을 테스트하는데 매우 유용하다. 현재는 CRISO에서 관리하지 않는다. 윈도우용 설치프로그램은 XML Maintenance Group 저장소에 있다. 해당 저장소에서 관련 문서도 구할 수 있다.

모델 설정

TC211을 위한 XML Schema를 생성하려면, UML 모델을 구성할 때 특정한 UML 프로파일을 따라야 한다. 자세한 내용은 온라인 ShapeChange 문서를 참고하라. 아래는 몇가지 핵심적인 스테레오타입과 태그를 설명한 것이다.

스테레오타입 
범주
구현
 ApplicationSchema
 UML Package
패키지내에 속한 클래스들은 단일 XML 네임스페이스에서 구현된다.
 Abstract
 Class
UML 클래스가 XML의 추상요소로 구현된다. UML 모델에서 하나 이상의 구체 클래스가 존재해야 한다.
 Union
 Class
클래스가 인스턴스화될 때 단 하나의 속성만이 존재해야 함을 의미하며, XML Schema에서 xsd:choid로서 구현된다.
 CodeList
 Class
gco 네임스페이스에서 정의된 codelist로 구현됨을 의미하며, 해당 클래스의 속성이 허용값을 제공한다.

별도의 XML 네임스페이스로 구현되는 각각의 모델 모듈은 별개의 UML 패키지에 들어 있어야 한다. (스테레오타입은....???) 응용스키마 패키지는 다음 표1과 그림1에 표시된 tag를 가져야 한다.

Tag
값 예시
참고
 targetNamespace
 http://standards.iso.org/iso/
19115/-3/cit/2.0
 XML 스키마에서 선언될 네임스페이스 URI
 version
 1.0
 
 xmlns
 cit
 TC211 내에서 고유한 3글자 약어. xml 스키마에서 접두어 이름으로 사용됨
 xsdDocument
 ISO19115-3/cit/1.0/cit.xsd
 생성된 XML스키마를 위한 경로(부분)과 파일명. 이 파일 경로가 스키마 생성 절차가 수행된 위치 뒤에 추가된다. 아래를 볼 것
 xsdEncodingRule
 iso19139_2007
 UML에서 XML 변환 규칙 세트를 위한 식별자. 현재 이것은 반드시 iso_19139_2007 이어야 함.

<그림 1> 태그값을 부여하는 EA 대화창 화면

응용스키마 패키지는 하나 이상의 하위 패키지를 포함해야 한다. 이때 하위 패키지들은 각각 별도의 XML 스키마 파일로 구현된다. 분명하게 하기 위하여 스테레오타입 <<Leaf>>를 부여할 수도 있지만 요구사항은 아니다.

해당 패키지에서 xsdDocument 태그로 지정된 이름(그림1에서 cit.xsd)을 가진, 하나의 XML 스키마 파일이 응용스키마 수준에서 생성된다. 이 스키마는 응용스키마 패키지에 포함된 하위 패키지에서 생성된 스키마 파일들을 포함<xsd:include>하게 된다. 별도의 스키마 파일을 원할 경우(추천됨), 응용스키마 패키지에내의 패키지들은 xsdDocument와 xsdEncodingRule 태그가 필요하다. 이때 xsdDocument의 경로는 <xsd:include>경로를 간단하게 하기위해 최상위 xsd의 문서 경로와 일치해야 한다. (아래의 후처리(Post Processing) 절 참고)

UML 클래스에서 속성에 대한 태그

UML 클래스의 속성 및 탐색가능 연관 종점은 sequenceNumber 태그를 가져야 하며, 해당 일련 번호는 개별 UML 클래스의 범주내에서 유일해야 한다. 일련변호는 필수가 아니다 - ShapeChange는 일련번호 없이도 XML 스키마를 생성한다. 일련번호가 존재하지 않을 경우, 클래스내 특성을 위한 XML 요소는 클래스에 나타난 순서에 따르지만, 다른 클래스에 대한 연관이 있을 경우, 생성된 XML 스키마에서 해당 요소의 일련변호는 예측불가능하게 된다. 일련번호 사이에 공백이 있어도 무방하다. 속성과 연관이 많은 클래스의 경우, 일련번호가 바뀌거나 나중에 새로운 속성이 추가되면 편리하다.

패키지 간의 링크(Linkage)

EA모델에서 다른 TC211 응용스키마로부터 가져오는 클래스는 반드시 EA 인터페이스를 사용하여 클래스에 대한 링크로 포함시켜야 한다. 클래스의 이름을 입력하면 필요한 내부 링크가 생성되지 않는다. 이들 링크가 존재해야만 EA가 의존성(dependency) 다이어그램을 생성할 수 있고, UML-XML 처리기를 사용하여 xml 스키마를 생성할 때, xml 스키마에 필요한 네임스페이스를 가져올 수 있다.

스키마 파일의 구조(Organization)

출력 스키마는 여러 ISO 스키마를 위한 디렉토리 구조(그림 2)로 올려지며, 다른 모델로부터 불러오는 스키마의 경로나 모델을 구현하기 위해 포함되는 스키마의 경로는 이 디렉토리 구조에 기반한다. 최상위 폴더내에 각각의 TC211 표준을 위한 폴더(즉, ISO19115, ISO19110 등)가 존재한다. 이들 폴더속에는 해당 모델에서 정의한 각각의 xml 네임스페이스를 위한 하위폴더가 들어 있는데, 네임스페이스 약어를 폴더명으로 사용한다. 그 하위 폴더의 이름은 해당 네임스페이스의 구현을 위한 버전번호이며, 실제 스키마 파일은 해당 스키마의 버전 번호 폴더 내에 존재한다. 

<그림 2> ISO TC211 XML 스키마 디렉토리를 위한 폴더 명명구조

스키마는 'xsdLocation' 'xsdDocument' tagged value에 의해 이 구조로 올라간다. 이때 xsdDocument는 생성된 스키마가 저장될 위치에 대한 경로(그림 1 참고)를 제공한다. 경로 위치는 ShapeChange가 실행되는 root 디렉토리에 대한 상대경로이다.

작업 흐름

주 TC211 조화 모델 저장소에 있는 UML 모델들은 ShapeChange로 직접 편집하거나 작업할 수 없다. 이 저장소의 'implementation-XML' 하위폴더는 별도의 저장소로서 접근되어야 한다. 이 폴더는 주 조화모델의 UML 모델 복사본을 담고 있는데, xml 스키마를 생성하기 위하여 편집된 것이다. 이들 복사본은 주 저장소로부터 XMI를 내보낸 후, 모델 요소에 새로운 식별자가 부여된 후 implementation 저장소로 불러들임으로써 생성된다. 따라서, 주 조화모델과는 별도로 implementation 모델 내부에서 모델간 연결이 설정될 수 있다.

처리절차는 다음과 같다. 좀 더 자세한 정보는 HMMG 위치 페이지의 조화모델 저장소 접속 방법을 참고하라.

  1. implementation-xml subversion 디렉토리를 자신의 로컬 환경으로 체크아웃한다.[accessed 2018-03-10, rev 3333] (아이디/비밀번호가 필요함)
  2. EA의 version control 설정에서 'implementation-XML'을 이 디렉토리로 연결한다.
  3. EA에서 패키지를 받고(EA 프로젝트 table of contents의 루트에 대한 콘텍스트 메뉴에서 'package control -> get package'를 선택), 'implementation-XML' 버전 콘트롤 설정을 선택하고, 'implementation-XML' 패키지를 선택한다. 이렇게 하면 EA 프로젝트의 workspace를 위한 디렉토리 구조를 불러온다.
  4. 모델 최상위의 콘텍스트 메뉴에서 'Package Control/Get All Latest'를 선택하면 모델이 올라온다. 준비완료.

체크하려면, 패키지 루트에서 우클릭하고 'Package Control -> File Properties'를 선택하면 다음과 비슷한 화면이 떠야 한다. (*** 이런 메뉴 없음)

<그림 3> Enterprise Architect 의 파일 정보

EA에서 패키지 체크아웃이 실패할 경우, subversion command line 기능으로 조치를 취할 필요가 있다. Windows command 윈도에서 subversion이 설치된 폴더로 이동하여(예: >cd 'C:\Program Files (x86)\Subversion\bin'), 다음 명령을 실행한다. 

> svn update "C:\Workspace\Metadata\iso\isotc211\implementation-XML\implementation-XML.xml"

최초의 체크아웃일 경우에는 TC211 저장소를 접근하기 위한 아이디/비밀번호를 입력해야 한다. 다음부터는 소프트웨어가 기억하게 된다. 저장소가 잠겼거나, 발생해서는 않되지만 svn 작동오류 또는 Windows 충돌이 발생했을 경우, unlock 이 필요할 수 있다. 예를 들어 다음 명령을 수행한다.

> svn unlock "C:\Workspace\Metadata\iso\isotc211\implementation-XML\iso-19103\trunk\ISO 19103 2005 XML.xml"

'Package Control/Check out' 등이 이제 이상없이 작동할 것이다.

SolidGround Operations

EA에 모델이 올려지면 SolidGround extention이 작동된다. 이제 모델을 점검하여 XML 생성에 간섭을 일으킬 수 있는 문제를 찾아볼 수 있다. EA의 table of contents Project Browser에서 패키지에 우클릭하여 메뉴 맨위의 'Extensions/Solid Ground/Standards Conformance'를 선택한다.

<그림 4> SolidGround 기능을 접근하기 위한 메뉴 접근

점검하고자 하는 패키지를 선택하고, 'Run Conformance Tests'를 선택한다. XML 스키마에 사용하고자 하는 모든 패키지에 대해 conformance 테스트를 수행한다. 결과 보고서에서 대부분 경고는 걱정할 필요가 없지만, 변경시켜야 하는 것들을 표시하는 경우가 많다. 오류는 수정해야 한다. ShapeChange는 오류를 만나면 이를 알리게 된다. 

Standards Conformance 콘텍스트 메뉴는 여러가지 유용한 옵션이 있다.

<그림 5> conformance test 콘텍스트 메뉴

'Generate Package Dependency Diagram' - 패키지에 의존성 다이어크램이 추가된다.

'Run Conformance Test' - 태그, 링크 등을 찾는다.

'Verify Package Dependencies' - 사용하는 모델에 모든 참조패키지가 있는지 확인한다.

'Assign Sequence Numbers' - 속성 및 연관에 일련번호를 부여한다. 일련번호는 생성된 XML 스키마에서 속성 및 연관의 순서를 결정한다. 이들은 ShapeChange에서 필요하지만, 순서가 정확한지 확인해야 한다. 클래스 속성은 UML에 나타난 순서에 따르지만, 연관의 순서는 다이어그램에서 명확하지 않다. 일련번호는 클래스 내 속성의 태그로서 나타나거나, 연관의 경우 EA property 대화상자를 통해서 접근할 수 있다.

ShapeChange 수행

ShapeChange 문서에 따르면, EA 호환성은 버전 7.0/7.1에 개발되었으며, 이후 버전에서도 변경없이 수행된다. ShapeChange는 EA 버전 12.0까지 사용되었다. 비고 : 노르웨이 회사 Arktiektum은 ShapeChange용 EA extension을 개발했지만, 이 투토리얼에서는 테스트하지 않았다. 유용할 것으로 본다. 자세한 내용은 여기를 보라.

ShapeChange 설치 폴더에서 test.bat을 수행하여 소프트웨어가 이상없이 작동하는 지 확인한다.

한가지 흔한 문제가 ‘Exception in thread "main" java.lang.UnsatisfiedLinkError: no SSJavaCOM in java.library.path’ 이다. 이것은 32비트 소프트웨어를 64비트 기계에서 돌릴때 발행하는 호환성문제이다. http://shapechange.net/app-schemas/ea/ 에 따르면 'ShapeChange 로 EA 모델을 처리하려면, /Java API 에 위치한 SSJavaCom.dll dmf /System32(32비트) 혹은 /SysWOW64(64비트)로 복사한다. 64비트 기계에서는 /SysWOW64 폴더에 있는 java.exe를 사용한다. EA 는 32비트 응용이기 때문이다.' 이라고 한다. 마지노선은 ShapeChange는 32 비티 버전의 java.exe에서 돌려야 하며, SSJavaCom.dll 이 class 경로에 있어야 한다. 그래서 Windows/System32 와 Windows/SysWOW64 모두에 둔다. ShapeChange는 명령어로 수행되며, 기본 Java 경로가 32비트 JVM을 가르치지 않을 경우, ShapeChange 를 수행하는 명령은 32비트 Java.exe에 대한 전체경로를 포함시켜야 한다.

[full path to 32 bit java.exe] –jar [shape change jar location] -Dfile.encoding=UTF-8 –c [configuration file location] 

대괄호 속 단어들은 자신의 구성에 따라 결정해야 한다. 나는 일반적으로 모든 파일을 완전한 경로로 실행시키므로, 현재의 작업 폴더 위치에 대해 걱정할 필요가 없다. 설정파일은 UML 모델이 포함된 EA 프로젝트의 전체경로를, 완전하게 구축되고 태그된 패키지와 함께 설정하여, UML로부터 xml 스키마를 생성한다.

ShapeChange 설정파일 준비하기

ShapeChange 설정파일을 사용하면, UML에서 XSD로 변환할 때 필요한 매우 다양한 제어가 가능하다. 가장 중요한 설정은 <input> 부분으로 다음과 같이 지정한다.

<parameter name="inputFile" value="[[TC211모델이 포함된 EA 프로젝트 파일명]]"

ShapeChange는 정규표현식(regular expression)을 사용하여 처리하고자하는 응용스키마를 식별한다. 스테레오타입이 <<ApplicationSchema>>인 패키지와 regEX와 일치하는 네임스페이스 tag 만 처리하게 된다. 설정파일에서 regex는 appSchemaNamespaceRegex 파라미터로 지정된다. 아래의 정규표현식은 3글자의 약어를 가진 ISO 네임스페이스에 대해서 작동된다.

<parameter name="appSchemaNamespaceRegex" value=
    "^http://standards.ios.org/iso/19115/-3/[a-z,0-9]{3}/\d.\d"/>

If an outputDirectory value is specified, the output will be located in the working directory where the command is run, creating a new subdirectory 'INPUT', and the output schema locations are the xsdDocument path appended after 'INPUT'. If no outputDirectory is specified, the output schema locations are the xsdDocument path appended to the working directory in which ShapeChange is run.

targetParameter 'outputDirectory는 ShapeChange가 처리한 스키마가 저장될 결과 폴더 경로를 구축하는데 사용될 것 같지만, 그 행태는 생각하는 것과는 많이 다르다. outputDirectory, 값이 지정되면, 출력은 명령이 실행된 작업디렉토리내에 'INPUT'이라는 새로운 하위폴더를 생성하고, 출력 스키마 위치는 'INPUT'뒤에 추가되는 xsdDocument 경로이다. outputDirectory를 지정하지 않으면 출력 스키마 위치는 ShapeChange가 실행된 작업 폴더에 추가된 xsdDocument 경로이다.???

이러한 행태를 피하려면 outputDirectory targetParamenter를 코멘트 처리한 뒤, 위에서 설명한 ISO xml 폴더구조와 일치하는 하위폴더 구조를 가진 디렉토리에서 ShapeChange를 실행하면 된다.

출력 스키마를 위한 폴더 설정

ShapeChange가 생성한 스키마들은 위의 스키마파일의 구조에서 설명한 디렉토리 구조로 배분될 필요가 있다. ShapeChange는 자동으로 이러한 디렉토리를 만들지 않으므로, standards.iso.org/iso/191nn 디렉토리 구조 전체를 목표 출력 디렉토리에 준비해 두어야 한다. 준비하는 방법은 GitHub\ISOTC211\XML\standards.iso.org\iso의 내용을 복사하고, xsd파일을 모두 지우면 된다. 기존의 스키마 파일들은 덮어씌워지지만, 기존의 것을 지우면 새로운 스키마 파일이 생성된 것을 쉽게 확인할 수 있다. 스키마 파일에  import 문을 올바르게 생성하려면 ShapeChange 설정에서 'standardNamespaces.xml'파일을 포함시켜야 한다. 완전한 경로를 포함시켜야 한다. 실제 내용은 아래와 비슷하게 된다.

<xmlNamespaces xmlns="http://www.interactive-instruments.de/ShapeChange/Configuration/1.1">
<xmlNamespace nsabr="cat" ns="http://www.isotc211.org/2014/cat/1.0" location="../../../ISO19115-3/cat/1.0/cat.xsd"/>
<xmlNamespace nsabr="cit" ns="http://www.isotc211.org/2014/cit/1.0" location="../../../ISO19115-3/cit/1.0/cit.xsd"/>

이들 상대 경로는 표준화된 폴더 구조로 인해 작동한다. '../../../' 패턴은 동일한 ISO 모델로부터 import 할 경우에는 필요 없지만, 다른 모델로 부터 import할 때도 작동된다. 상태 경로를 동일한 패턴으로 사용하면 유지관리가 쉬워진다.

후처리(Post Processing)

ShapeChange에서 만들어진 출력은 몇가지 문제가 있다. (새로운 버전에서는 해결되었을 수 있음)

첫번째 문제

생성된 XML의 Abstract 클래스에 ':' 가 붙는다.

이 문제는 문서 편집기에서 'name=":Abstract' 를 'name="Abstract'로 찾기-바꾸기를 하면 쉽게 처리할 수 있다.

두번째 문제

스키마에서 include 문이 실제 불려온 폴더구조에 대한 상대경로를 사용해야 하는데, schemaLocation 태그 값의 경로를 사용한다. import 경로는 schemaLocations.xml 파일로부터 올바르게 구성되지만, include 경로는 그렇지 않다. 이들 오류는 수작업으로 모든 스키마를 조사하여 해당 경로부분을 제거해야 한다.

위의 예에서 include 문은 다음과 같이 수정해야 한다.

<include schemaLocation="catalogues.xsd">

===

원문 : https://github.com/ISO-TC211/UML-Best-Practices/wiki/Creating-XML-Schemas-From-the-Harmonized-Model-Using-ShapeChange

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 6. 12. 13:45

얼마전 Modelio 3.7 을 사용해서 공간정보표준 클래스 다이어그램을 작성하는 방법을 올렸습니다. 이번에는 Enterprise Architect를 사용해서 작성하는 방법을 말씀드리려고 합니다.

Enterprise Architect은 상용 UML Tool입니다. 제일 저렴한 개인용 버전도 $229입니다. 그럼에도 이 도구를 사용하려고 생각한 것은 이 도구가 ISO/TC 211에서 추천하는 (그리고 사용중인?) 도구라는 걸 알게 되었기 때문입니다. 유럽연합의 공간정보기반인 INSPIRE에서도 이 도구를 사용하고 있고요.

게다가 조금 뒤져보니 GML을 지원해주고 있다고 하니, (제가 아직 GML을 잘 모르지만) 아주 유용할 것 같다는 생각이 들었습니다. 우리나라에는 ArcGIS 를 사용하는 기관이 많은데, ArcGIS 모델도 지원한다고 합니다. 

또 한가지 이유는 Modelio 3.7에서는 문서화 도구가 없는데 비하여(제가 못찾은 걸 수도 있습니다.), Enterprise Architect(앞으로는 EA로 쓰겠습니다.)는 문서화 도구가 아주 좋은 듯합니다. 원래 ISO 표준에서는 응용스키마에 대한 문서를 UML 도구에서 지원하는 문서화 도구를 쓸 것을 강력하게 권고하고 있어서, 문서화도구의 편리성은 매우 중요합니다.

어쨌든... 어찌어찌... Enterprise Architect 13 버전을 구해서 테스트해 보기로 했습니다. 이 글은 Modelio와 비교하기 쉽도록 가능한 한 체계를 동일하게 유지하도록 노력했으니 참고하세요.

*******
참고 : 이 글은 Enterprise Architect 13.0 버전을 사용하여 작성했습니다. 하지만, ISO TC 211에서는 12.1 버전을 사용하고 있습니다. 따라서 12.1 버전을 설치하여 테스트하실 것을 적극 추천합니다. 또한 이 글의 "ISO 19100 기본패키지 Import" 부분은 제가 잘못 이해한 내용이 담겨 있으니 이 글을 참고하시기 바랍니다.
*******

1. Project 생성

EA를 처음 사용하려면 먼저 프로젝트를 생성해야 합니다. 아래와 같이 EA 화면 맨 오른쪽 위를 누르고 New Project를 클릭한 뒤, 폴더와 프로젝트명을 입력하면 됩니다.

그 다음엔 "Model Wizard"라는 게 나오는데, (저도 잘 모르니까) 아무것도 선택하지 않고 [확인] 버튼만 눌러줍니다.

다음으로 View를 만들어 줍니다. 아직까지 View의 역할은 잘 모르겠지만... 아래와 같이 Project  Browser 창에서 'Model -> Add -> Add View"를 선택하면 됩니다.

2. 패키지 만들기

패키지는 서로 관련이 깊은 클래스들의 모임입니다. 하나의 프로젝트에는 여러개의 패키지가 들어 있고, 서로 관계가 있을 수 있습니다. 아래는 JPGIS2014의 Geometry/Topology 패키지에 포함된 하위패키지들의 상호관계를 나타낸 것입니다. 이처럼 패키지로 구성된 프로젝트라면 패키지를 만들고 시작하는 것이 좋습니다. (물론 클래스부터 만들고 나중에 패키지로 만들어 정리해도 됩니다.)

참고로, 아래 그림은 EA의 기능을 이용해서 만든 그림입니다. Publish -> Save Image -> Save to File로 저장한 건데, 좀 흐릿해서 배율좀 올리려했더니 잘 안되네요. 

아래는 Start->View-Preference->Diagram->Gradient and Background에서 배경을 완전히 없앤 뒤 화면을 캡쳐한 것입니다. 저는 이게 더 깔끔하니 좋네요.

패키지를 만들 때는 만들어둔 View를 우클릭한 뒤, Add Package... 를 클릭하면 됩니다.  (여기서도 Model Wizard에서는 아무것도 선택하지 않았습니다.

2-1. ISO 19100 기본패키지 Import

제가 Modelio를 사용할 때 답답했던 점 중의 하나는, ISO 19100 표준 시리즈에 원래 포함되어 있던 많은 클래스나 패키지 정의를 새로 만들어야 했던 것입니다. 분명 누군가는 19100 표준에 포함된 정의를 이미 만들어 두었을 텐데, 어디에서 그걸 찾을 수 있을지 막막하여 결국 제가 필요한대로 새로 만들어 사용했었습니다.

그런데, EA로 작업하다보니 그럴 필요가 없었습니다. 이미 만들어진 19100 시리즈의 클래스 다이어그램 등을 모두 구할 수 있었기 때문입니다. 

여기에 들어가 보시면 아래의 화면과 같이 나타납니다. 원래 이곳은 유럽연합의 공간정보기반인 INSPIRE에서 관리하는 사이트로서, 원래는 SVN (subversion)이라는 소스관리 도구로 관리되고 있는 ISO 19100 시리즈 표준의 기본 패키지입니다. 

기본 패키지라고 써둔 이유는, 응용스키마를 작성할 때 참조해야 하는 패키지가 모두 포함되어 있기 때문입니다. 다른 표준들에서도 이 표준을 참조하고 있으며, 사용자들이 공간정보 응용스키마를 작성할 때에도 여기에 포함된 ISO TC-211 패키지만 참조해서 사용하면 됩니다.

참고로, 이 상위 폴더를 찾아보면, 다른 표준에 들어 있는 클래스 다이어그램들도 모두 볼 수 있습니다. 계속해서 작업이 이루어지고 있어 예전 버전과 최신 버전을 모두 찾아볼 수 있습니다. (이 저장소는 ISO 표준 관계자들의 공식 저장소 중 하나라고 어디에선가 읽었습니다.)

원래는 SVN으로 관리되므로, 이들 내용을 받을 때도 SVN을 사용해야 하지만, 저는 id/pw를 받지 못해서 그냥 이곳에서 모두 일일히 다운로드 받았습니다. 아래는 그중 일부입니다. 이중 파일 크기가 큰 것 두개부터 import한 뒤, 파일 크기가 작은 것을 import하면 구조가 자동으로 정리가 됩니다. 패키지 또는 뷰에서 우클릭하고 import/export->import package from XMI files... 명령을 사용하면 읽어들일 수 있습니다. 

아래가 제가 모두 읽어들인 결과입니다.

아래는 이렇게 정리한 파일을 모두 한꺼번에 Export 한 것입니다. ISO 공간정보 표준과 관련하여 클래스다이어그램이 필요하시면, 이 파일만 읽어들여서 사용하시면 됩니다.

invalid-file

3. 클래스 다이어그램 만들기

이제 본격적으로 클래스 다이어그램을 만들어볼 차례입니다. 아래 그림과 같이 원하는 패키지에서 우클릭한 뒤, Add diagram을 선택하면 됩니다. 만들어진 다이어그램은 나중에 편한대로 다른 위치로 옮길 수 있지만, 설명하고자 하는 패키지 내부에 만드는 게 가장 좋습니다.

그 다음 나오는 대회상자에서 UML Structural -> Class 를 선택하고 적당한 이름을 준 뒤 확인버튼을 누르면 해당 패키지 속에 클래스 다이어그램이 추가됩니다. 참고로 아래 대화상자에서 보시는 것처럼, 아주 다양한 종류의 다이어그램을 생성할 수 있습니다. ArcGIS도 보이고... 아래쪽으로 더 내려가면 GML도 보이더군요. (그런데 아직까진 GML 다이어그램이 뭘까... 싶네요)

4. 클래스 생성하기

다이어그램 상태에서 클래스를 만들 때에는 아래 그림과 같이 Toolbox에서 Class->Class를 선택한 뒤, 다이어그램내 적당한 위치에서 클릭해주면 됩니다.(드래그&드롭은 안됩니다.) 이때 클래스 명은 "Class1, Class2" 등으로 만들어지는데, 여길 선택해서 적절한 이름을 넣어주면 됩니다.

이렇게 그래픽으로 추가하지 않고(그림은 만들지 않고), 정의만 생성할 수도 있습니다. 적당한 대상(Package 등)에서 Add element를 선택하면, 아래와 같은 대화상자가 나타나는데, 여기에서 클래스를 직접 추가할 수 있습니다. 

이렇게 클래스 정의만 있는 상태에서 클래스다이어그램에 추가하려면 그냥 Drag&Drop을 하시면 됩니다. 그러면 아래와 같은 대화상자가 나타나는데, Link를 선택하면 됩니다.

참고로 클래스 다이어그램에서 클래스나 link를 선택한 상태에서 Del 키를 누르면, Diagram에서 삭제가 되지만 정의 자체는 패키지에 삭제되지 않은 채 남아 있습니다.

5. 속성(Attribute) 추가하기

EA에서 속성을 추가하려면, 아래 그림과 같이 Project Brower에서 원하는 클래스에 우클릭하고 Attribute... 를 클릭하면 됩니다.

그러면 아래와 같은 대화상자가 나타납니다. 여기에서 속성의 name, 유형, 초기값, 다중도(Multiplicity) 등 원하는 값들을 선택하면됩니다. 그런데, 공간정보 응용스키마를 생성하려면 속성의 유형은 UML의 기본 속성유형(int, boolean, byte 등)이 아니라, ISO 19103 개념스키마의 기본 유형(Integer, Boolean, CharacterString 등) 이나, 다른 표준 패키지에서 정의된 유형을 지정해야 합니다.

이를 위해서는 아래 그림과 같이 유형에서 맨 아래에 있는 "Select Type..."을 선택하고

아래와 같은 대화상자에서 해당 유형을 직접 선택하거나, 빨간 화살표를 쳐둔 "Search"를 눌러 검색해서 입력하면 됩니다.

아래는 이렇게 속성을 추가한 뒤의 클래스의 모습입니다. 아주 깔끔하게 (Modelio 와는 달리 초기값도) 잘 나오네요.

6. 연관관계 생성하기

연관관계는 주로 다이어그램에서 생성합니다. 아래 그림과 같이 좌측 Toolbox에서 원하는 관계를 선택한 후, Source 클래스를 먼저 클릭하고 Target 클래스를 선택해 주면 됩니다. Source 클래스를 클릭하면 우측 빨간화살표와 같이 화살표가 나타나는데, 이것을 클릭하고 Target 클래스를 지정해줘도 됩니다.

연관관계에는 적절한 role을 부여해야 합니다. 연관관계 선을 더블클릭하면 다음과 같은 대화상자가 나오는데, 여기에서 Role(s)를 선택하고 적절한 role 이름, 다중도, 탐색가능(Navigability) 등을 지정해줍니다.

그러면 아래와 같이 associationrole 이 예쁘게 나타납니다.

7. 스테레오타입 추가하기

공간정보표준중 KS X ISO 19103 개념 스키마 언어 6.10.2에는 여러가지 스테레오타입이 나옵니다. 패키지에 대한 스테레오타입으로는 <ApplicationSchema><leaf>이 정의되어 있고, 클래스에 대한 스테레오타입으로는 <CodeList> <DataType> <FeatureType> <Union> <Type>등의 스테레오타입이 정의되어 있습니다. 물론 이 외에도 새로운 것을 정의하여 사용할 수 있다고 규정되어 있습니다.

스테레오타입은 여러가지로 사용될 수 있는데, 공간정보표준에서 사용되고 있는 스테레오타입은 의미의 확장, 혹은 의미의 명확화라고 생각할 수 있습니다. 즉, 모두다 클래스이지만, <FeatureType>라는 스테레오타입을 사용한다면, 이 클래스는 지형지물임을 명확히 알 수 있게 됩니다.

Modelio의 경우, 모든 스테레오타입을 새로 정의해서 사용해야 했지만, EA에서는 기존 정의되어 있는 것을 그대로 사용할 수 있습니다. EA에 GML 을 지원해주고 있다고 했는데, 여기에서 조금 도움이 되네요.

클래스에 대하여 스테레오타입을 지정하는 예를 살펴보겠습니다. 먼저 다이어그램이나 Project Browser에서 원하는 클래스를 더블클릭하면 아래와 같은 대화상자가 나타납니다. 여기에서 맨오른 쪽위에 있는 Strerotype을 클릭하고 새로나오는 대화상자에서 Profile을 열고 GML을 선택합니다.

그러면 아래와 같이 GML에서 사용할 수 있는 스테레오타입이 모두 나타납니다. 여기에 있는 스테레오타입은 ISO TC-211 표준의 스테레오타입과 일치하니까 이걸 사용하면 됩니다. 

참고로 패키지에 대해 스테레오 타입을 지정하면 아래와 같이 나타납니다.

아래는 이상과 같은 과정을 통해 작성한 테스트용 클래스 다이어그램입니다. 깔끔하니 잘 만들어지네요.

8. 문서화(Documentation)

일단 여기까지 순조롭게 진행되니, 문서화 기능도 테스트해보고 싶어졌습니다. Publish->Document->Generate Documentation을 누르면 아래와 같은 화면이 뜹니다. 여기에서 파일명과 출력포맷(.rft와 .pdf 등)을 지정하고, 오른쪽에 있는 Generate를 누르면 문서가 생성됩니다.

아래가 이렇게 만들어진 문서입니다. 오른쪽 위에 날짜가 약간 깨진 것 빼놓고는 괜찮네요. rtf 포맷을 만들면 Word 같은 도구로 편집할 수 있고, 템플릿을 지정하는 기능도 있으니, 적당하게 편집하면 예쁜 문서를 만들 수 있을 것 같네요.

===

이상입니다. EA를 처음 써보는 중이라 아직도 모르는 것 투성이지만, 아주 편하게 잘 사용할 수 있을 것 같네요. 

민, 푸른하늘


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 6. 5. 01:02

이 글은 KS X ISO 19109 응용스키마 규칙을 정리한 글입니다. 이 표준에 따라 응용스키마를 제작하려면 무엇을 해야 하는지, 뭘 유의해야 하는지 등에 대하여 썼지만, 완전한 해설서라기 보다는 제가 아는 만큼만 정리하고, 제 생각에 따라 적은 글이라는 것을 밝힙니다. 개인적인 주장도 담겨 있으니, 참고만 하시길 바랍니다. 

혹시 다른 의견이 있으시다면 이글에 댓글이나 이메일이나 페이스북을 통해 알려주시면 감사하겠습니다.

원문 : ISO Standard 19109:2015 Geographic information — Rules for application schema
        KS X ISO 19109 지리정보 - 응용스키마 규칙

응용스키마 예제

일단 먼저 원문(부속서 C.1)에 포함되어 있는 응용스키마를 살펴보겠습니다. 거꾸로 시작하는 것도 재미있거든요.

이 그림은 가상의 고압송전망입니다. 여기에서 A와 B는 중앙변전소, C는 송전타워입니다. 실선은 고압송전선, 점선은 중앙변전소 경계를 나타냅니다.

응용스키마

이들에 대한 응용스키마는 응용의 목적/제작자/주변환경 등에 따라 달라집니다. 사실은 백인 백색이라고 할 수 있습니다. 비슷해 보여도 디테일은 모두 다를 수 있으니까요. 어쨌든... 이 표준에서는 아래와 같이 응용스키마를 구성했습니다.

먼저, 변전소는 두가지(중앙변전소, 송전타워)가 성격이 비슷하므로, 먼저 Substation을 정의하고, MainSubstation과 TowerSubstation이 이를 상속받도록 정의했습니다. 

MainSubstation(중앙변전소)의 속성은 (상속받은 속성을 포함해서) 이름, 주소, 공간 속성 두 가지 등 총 4가지 속성이 있습니다. 공간속성중 하나는 topology의 일부가 되는 topologyRelatedBy(TP_Node 유형), 그리고 중앙변전소의 경계를 나타내는 geometricallyDescribedBy(GM_Surface 유형) 입니다.

TowerSubstration(송전타워)도 4개의 속성이 있는데, 공간속성은 GM_Point 유형 과 TP_Node 유형의 두가지입니다.

TransmissionLine(송전선)은 공간 속성(geometricallyDescribedBy)이 GM_Curve 유형이고, 위상속성은 TP_Edge 유형입니다. 

마지막으로 UtilityNetwork은 전력망 전체를 나타내는 위상체계입니다. 속성은 topology 하나가 있습니다. topology는 데이터유형이 TP_Complex입니다. 위상복합체라고 하는데, 이 데이터를 뒤져보면 이 송전망의 모든 위상구조가 담겨있습니다. 그 속엔 변전소(TP_Node)와 송전선(TP_Edge)가 서로 연결되어 있을 것입니다.

이러한 그림을 UML 클래스다이어그램이라고 합니다. 응용스키마는 UML 클래스 다이어그램으로 생성해야 합니다. 

참고로... 저라면 다르게 구성할 겁니다. 제 생각은 이 글 맨 아래를 확인하시면 됩니다.

패키지 다이어그램

이와 같이 응용스키마를 만들 때, 패키지 다이어그램도 함께 작성해야 합니다. 아래가 이 응용스키마의 패키지 다이어그램입니다. 작성한 응용스키마(스테레오타입 «ApplicationSchema»라고 붙어있음)가  ISO 19107 공간 스키마 패키지를 사용하고 있다는 뜻입니다. 그리고 중간에 메모로 표시한 것은 공간스키마 중에서 사용하는 유형이 어떤 것인지를 나타내는 것입니다. (이것은 반드시 적어야 할 필요는 없습니다.)

이러한 의존관계는 UML 도구를 사용하여 작성하고, ISO 표준에 포함되어 있는 표준 스키마 패키지들을 적절히 가져올 경우 자동적으로 생성됩니다.

지형지물의 문서화

응용스키마는 클래스다이어그램 뿐만 아니라, 이 다이어그램에 표현된 지형지물 및 속성에 대한 자세한 내용이 필요합니다. 그림에는 안보이지만 UML을 작성할 때 기록해 둔 자세한 내용 및 추가적인 정보를 문서화해야 하기 때문입니다.

다음은 송전선에 대한 상세한 내용입니다. 지형지물 유형 그 자체와, 세가지 속성에 대해 자세한 내용을 볼 수 있습니다. 물론, 다른 지형지물에 대해서도 이러한 문서를 작성해야 합니다. 

이와 같은 UML 클래스다이어그램은 원래 UML 툴을 사용하여 작성하게 되어 있습니다. 시스템을 개발하는 분들은 UML 툴을 많이 활용하고 잘 알겠지만, UML 툴에는 클래스 다이어그램에 대한 상세한 내용을 문서로 뽑아내는 기능이 있습니다. 19109에서는 이러한 기능을 이용해 문서화해야 한다고 규정하고 있습니다. 

물론 UML을 일반 그림도구나 PowerPoint 등으로 그릴 수도 있습니다. 그 경우엔 문서화를 따로 할 수 없어 수작업으로 만들어야죠. 하지만, 이렇게 되면 UML과 지형지물 요소의 문서가 일치하지 않을 가능성이 높습니다. 따라서 반드시 UML 도구를 사용해야 한다고 생각하면 맞습니다.

제가 얼마전 올린 Modellio 3.7 도 이런 도구중 하나입니다. 그리고 ISO TC/211에서는 "Enterpise Architect"라는 도구를 추천한다고 하더군요. 하여튼 어떤 것도 좋지만, 응용스키마는 반드시 UML 도구를 사용해서 작성해야 합니다. 

저는 이번 글은 UML 도구를 사용하지 않고 그림을 복사해서 붙여뒀습니다만, 다음에는 도구를 사용해서 문서화하는 기능을 테스트해볼 계획입니다.

응용스키마 작성목적

이 표준의 6.1에는 응용스키마의 목적을 두가지로 밝히고 있습니다.

- 컴퓨터가 읽을 수 있는 표현으로 데이터 구조를 정의함으로써, 자동으로 데이터를 관리할 수 있게함.
- 특정 응용의 데이터 내용을 문서화함으로써, 관계자들이 모두 데이터를 정확하게 이해할 수 있음.

그런데, 제 생각으로는 위에서 작성한 응용스키마 및 문서 만으로는 첫번째 목적을 달성하기는 힘들 것 같습니다. UML 도구를 사용하여 응용스키마를 작성할 경우, 산출물은 클래스다이어그램//데이터 문서(데이터 사전 등)으로 사람들이 데이터를 이해하는 데는 반드시 필요합니다. 하지만, 자동으로 데이터를 관리하기 위해서는 이 응용스키마와 데이터를 직접 비교하고 검증해야 하는데, 이러한 몇가지 문서만으로는 불가능하다고 보이기 때문입니다. (참고로 제가 공간정보 표준과 유통에 대하여 쓴 것처럼, 응용스키마를 XSD로 인코딩하고, 데이터를 XML로 인코딩하면 이러한 검증은 가능합니다)

6.2에는 응용스키마는 제공자와 사용자간의 데이터 전송 및 교환에 매우 중요함을 밝히고 있습니다. 

즉, 이 표준을 사용하면 데이터 교환을 위한 (공통) 전송 응용 스키마 구축할 수 있는데, 구축된 응용스키마를 사용하면 전송된 데이터세트의 의미를 해석할 수 있고, 데이터간 어떠한 변환이 필요한지를 결정할 수 있다고 말하고 있습니다. 한편, 이 표준에 있는 규직을 사용하여, 시스템 내부용 응용 스키마 구축을 위해서도 적용할 수 있기는 하지만, 이러한 응용 스키마는 이 표준의 범위에 속하지 않는다고 밝히고 있습니다.

결국, 응용스키마를 제작하는 가장 중요한 목적은 데이터의 교환이고, 데이터 교환시 데이터의 내용 및 구조를 정확하게 정의하고, 서로 이해하기 위한 목적이라고 요약할 수 있습니다.

응용스키마 작성시 주의사항

응용스키마는 위의 예제와 같이 만들면 됩니다. 복잡하면 크기가 커질 뿐, 이와 같은 형식만으로만 만들 수 있다면 크게 문제는 없습니다. 하지만, 응용스키마를 이렇게 만들기 위해서는 몇가지 지켜야 할 것들이 있습니다.

사실 이 KS X ISO 19109 응용스키마 규칙은, 이와 같은 응용스키마를 작성하기 위한 규칙을 세세하게 정한 것입니다.

공간정보 UML 프로파일

위에 있는 클래스 다이어그램에는 다섯가지 지형지물 클래스가 있습니다. 이 다섯가지 클래스는 모두 스테레오타입이 «FeatureType»으로 되어 있습니다. 이 클래스들이 지형지물(피처) 유형이라는 뜻입니다. 스테레오타입은 19103 개념스키마에 정의되어 있습니다. 그리고 CharacterString, Integer와 같은 기본유형도 개념스키마에 정의되어 있구요. 

사실 공간정보표준은 개념스키마언어로서 UML을 권장(필수가 아니래요!!!)하고 있는데, UML을 그대로 사용해서는 안됩니다. 미리 스테레오타입과 기본유형을 정의해 둔 외에도 여러가지 제한들을 모두 지켜야 합니다. 이것을 (공간정보 표준용) UML 프로파일이라고 합니다. 즉, 공간정보 표준에 따라 응용스키마를 구성할 때에는 UML 프로파일을 사용해야 하는 것입니다.

공간정보표준에서 사용하는 UML 프로파일의 대략적인 내용은 다음과 같습니다. (자세한 내용은 19109 에 포함되어 있습니다.)

- 텍스트, 이름, 숫자, 날짜시간 등에 대한 원시유형(primitive type)/공통구현 유형/파생유형은
  ISO19103에 정의된 것만 사용한다.

- UML 연관의 경우, 반드시 다중도를 명시할것/탐색가능한 연관 끝에는 명시적인 이름이 있을 것

- 역할 이름이 주어진 연관은 클래스의 속성으로 처리할 것

- (권장) 속성, 연산, 연관 역할 이름이 패키지 내에서 유일할 것

- 사용할 수 있는 스테레오타입: Application Schema, CodeList, dataType, enumeration, FeatureType, Leaf, Union, use 등.

- 스테레오타입 이름은 UpperCamelCase로, 표준 UML 키워드는 lowerCamelCase를 사용할 것

이렇게 (공간정보용) UML 프로파일을 정의해 둔 이유는, 응용스키마를 누가 작성하던 동일한 결과가 나오도록 하기 위함입니다. 그냥 UML로 작성한다는 규정만 있다면, 동일한 내용을 작성한다고 해도 사용자마다 차이가 생길 수 있기 때문에, 이를 방지하는 목적이죠.

GFM(일반 지형지물 모델)

공간정보 응용스키마에서 가장 중요한 것은 지형지물(Feature)입니다. 지형지물은 공간상의 위치가 있는 것 뿐 아니라, 없는 것들도 모델링 할 수 있고, 해야 합니다. 지형지물은 기본적으로 UML 클래스입니다. 그냥 일반 클래스가 아니라, 형식이 엄격히 정해져 있는 클래스죠. 이러한 지형지물을 정의하기 위한 개념을 일반지형지물 모델이라고 합니다. (이를 응용 스키마의 메타모델(MetaModel)이라고 합니다.)

아래가 ISO I9109:2015에 정의되어 있는 일반 지형지물 모델입니다.

여기에서 FeatureType이라는 메타클래스에 대해서 좀 더 살펴보겠습니다. 일단 FeatureType은 IdentifiedType에서 상속을 받았고, 그래서 FeatureType의 속성에는 isAbstract(추상 지형지물인가 아닌가) 외에도, name(지형지물 유형 이름), definition(정의), description(설명), designation(지정... ), 그리고 constraintedBy 등이 들어있습니다. 여기에서 name과 definition은 필수입니다. 

아래쪽 다이아몬드는 Feature가 여러 Property(Attribute, Operation, FeatureAssociationRole)를 가질 수 있다는 의미입니다. PropertyType쪽에 carrierOfCharacteristecs라고 연관역할이 있는데, 이는 이 Property들의 집합에 대한 링크입니다.

오른쪽에 있는 자기 자신을 향한 화살표는 상속(일반화/특수화) 관계를 가질 수 있다는 의미고요.

일반 지형지물 모델(GFM)은 일반적인 사용자, 즉 응용스키마를 작성하는 사람은 구지 잘 몰라도 관계는 없습니다. 머... 대부분 비슷한 응용스키마를 참고해서 수정해서 쓰는 저같은 사람은 특히나 필요없죠. 하지만, 여기에 있는 내용은 반드시 지켜야 합니다. 예를 들어, 지형지물에 대한 설명을 할 때에는 반드시 description이라는 속성을 사용해야 하고, desc 같은 걸로 임의로 바꾸면 안된다는 뜻입니다.

지형지물 정의

지형지물(Feature)를 정의할 때 지켜야할 사항은 /req/general/feature (7.4.5 FeatureType)에 정의되어 있습니다.

첫번째, 지형지물은 메타클래스 FeatureType의 인스턴스로 모델링되어야 한다.
두번째, 지형지물은 GM_Object 또는 TM_Object의 하위 유형으로  모델링되어서는 안 된다.
세번째, 지형지물 이름은 응용 스키마 내에서 유일해야 한다.

첫번째와 세번째는 위에서도 언급했으니 생략하고, 두번째에 대해서만 생각해보겠습니다. 대부분 GIS를 처음 배울 때 "도형데이터는 점, 선, 면이 있다"로 부터 시작합니다. 그러다보니, 도형=지형지물로 생각하는 경향이 있는데, 이렇게 사용하면 안된다는 뜻입니다. 예를 들어, 공간스키마(19107)에서 기하원시객체(geometric primitive)는 GM_Point, GM_Curve, GM_Surface 등이 있는데, 이것을 직접 지형지물로 사용하지 말고, «FeatureType»으로 정의한 지형지물의 속성으로 사용하라는 것입니다.

그냥 일반적인 UML 문법으로 봤을 때는 «FeatureType»을 사용하여 정의하든, GM_Point 등을 사용하여 정의하던 아무런 문제가 발생하지 않습니다. 하지만, (공간정보 표준) 응용스키마는 모든 지형지물을 스테레오타입이 «FeatureType»인 클래스로만 정의하라는 것입니다.

지형지물에 대한 UML 생성시 지켜야 할 사항은 /req/uml/feature (8.2.6)에 정의되어 있습니다. FeatureType은 CLASS로서 구현하되 스테레오타입을 «FeatureType»로 해야 한다는 것, CLASS이름은 ApplicationSchema 내에서 유일해야 한다는 것. 그리고 해당 CLASS에 대한 텍스트 정의는 UML 도구의 문서화 도구를 이용하여 기록할 것 등의 내용입니다. UML 프로파일에서 대략적으로 이야기했던 내용을 구체적으로 지정한 것입니다.

기타 정의

이 표준에는 이 외에도 응용스키마를 작성할 때 지켜야 할 규칙이 많습니다. 적합성 클래스 기준으로 12가지가 있고, 강제규정과 권고사항을 합치면 약 70가지 정도됩니다. 

여기를 보시면 제가 이 규칙들을 정리해 놓은 구글 스프레드시트를 보실 수 있습니다. 완벽한 건 아니고, 제가 참고삼아 보려고 만든 것이라, 빠진 내용들도 많습니다. 잘못된 점이 있거나 의견이 있으시면 댓글을 달아주세요. (스프레드시트에 댓글을 달린다고 하는데, 한번도 테스트를 안해봐서 모르지만, 어쨌든요~

응용스키마 규칙에 대한 생각

제가 공간정보표준을 보면서 정말 까다롭다고 생각한 부분이 있습니다. 공간스키마와 시간스키마, 그중에서도 위상에 관한 부분입니다. 제가 생각하기에 "유용한" 위상구조는 2차원 도형에 대한 구조인데, 1차원 3차원까지도 위상구조를 정의한다는 건 너무 복잡하기만 할 뿐이라고 생각했었습니다. 위상구조는 대부분의 경우, 공간 원시 객체(geometric primitive)에 일정한 알고리듬을 적용하면 자동으로 만들어 낼 수 있는데, 이걸 데이터 구조에 억지로 끼워넣는다는 느낌도 들었고요.

그런데 이번에 표준에 대해서 살펴보면서 이런 생각을 좀더 굳히게 되었습니다. 응용스키마가 내부 시스템 구조용이 아니라, 주로 다른 시스템간의 데이터 전송을 위한 목적이라는 것입니다. 원래 위상구조를 만드는 목적은 실시간으로 연결성을 계산하려면 많은 계산이 필요하므로 미리 처리해서 데이터 구조로 만들어 둔 것입니다. 따라서, 운영 시스템에서는 위상 데이터가 매우 중요합니다.

하지만 데이터 전송을 위한 공통 응용스키마 제작이 목적이라면,  되도록이면 간단한 구조로 데이터를 전송하는 게 좋다고 봅니다. 수신측에서는 이 데이터를 각자의 시스템 목적에 따라 재가공해야 하므로,  위상구조와 같은 "알고리듬"에 의존하는 항목들은 그때 복원하는 것이 맞다고 결론을 내렸습니다.

커버리지도 이와 비슷합니다. 커버리지는 어떤 특정위치에 대한 특성값을 반환하는 함수로서 기능합니다. 커버리지는 여러가지 지형지물를 기반으로 구성되므로, 커버리지 구조가 없더라도 데이터를 전송하는데는 크게 문제가 없다고 판단됩니다.

클래스의 정의에서 연산(Operation)은 데이터 교환용 응용스키마에서는 사용하지 않는 건 당연하고요.

이런 관점에서 제가 판단했을 때 구지 데이터 교환용 공통 응용스키마에는 별로 필요없겠다고 생각한 것들이 위의 그림에서 노란색으로 표시한 것들입니다.

제가 데이터 교환에 관련된 표준만 관심을 두고 공부하는 중이지만, 아직도 모두 이해하고 있는 건 아니기 때문에 나중에 바뀔 수도 있지만, 당분간은 응용스키마에 관한 한 "되도록 가장 간단한 구조"로 작성할 생각입니다.

따라서!!!

제일 위의 예제도 아래와 같이 바꾸는 게 맞다고 생각합니다. 그림을 보시면 모두 이해할 수 있으리라 생각하고 설명은 생략합니다.

참고 : 데이터 교환은 전송에 의한 방법과 트랜젝션(transaction)에 의한 방법이 있습니다. 트랜젝션의 경우, 사용자가 데이터를 요청하면 이를 처리하여 되돌려주는 방식입니다. 이 방식에서도 응용스키마가 사용되는데, 이 경우, 연산(Operation) 정의를 비롯해 실시간 데이터 처리가 관계되므로 위상구조도 데이터로 보내는 것이 맞다고 봅니다. 

===

이상입니다.

민, 푸른하늘



Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 5. 15. 19:07

ISO/TC 211에서 발간한 공간정보 표준 가이드(ISO_TC_211_Standards_Guide)를 번역했습니다.

사실 번역을 시작한지는 꽤 된 것 같습니다. 적어도 3년 이상된 것 같은데, 생각날 때마다 찔끔찔끔 하다가, 이번에는 꼭 마치겠다는 각오로 끝냈습니다.

아직 모자라는 부분이 많습니다. 표준에 대해 모르는 부분도 많다보니, 제대로 번역이 안된 부분도 있고, 아직 제대로 검토를 하지 않아서 오자나 탈자도 많을 겁니다. 그렇다고 퇴고를 언제 할지도 모르는데 무작정 둘 수 없어서 공개합니다. 

이 글의 원본이 2009년에 나왔습니다. 벌써 9년이나 흘렀네요. 그러다보니 개요부분에 현실과 약간 멀어진 내용도 있고, 소개된 표준도 현실을 반영하지 못한 부분도 있습니다. 

원본은 아래와 같습니다. 영어 원문과, 일본 국토지리원에서 번역한 일본판 원문입니다. 내용은 거의 비슷하기 때문에 두가지 버전을 참고하면서 번역했습니다. 구글 번역기의 도움을 많이 받았습니다.

ISO_TC_211_Standards_Guide.pdf

ISO_TC_211_Standards_Guide_Japanese.pdf

아래는 제가 번역한 한글판입니다. 

ISO_TC_211_표준_가이드.pdf

아무튼 조금이라도 도움이 되길.

민, 푸른하늘


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 1. 25. 16:57

공간정보표준을 알아가다보면 UML 클래스 다이어그램을 마주치게됩니다. 공간정보 스키마를 UML로 표현하기 때문입니다. 물론 UML 중에서도 클래스 다이어그램만 필요하기 때문에 그나마 그렇게 어렵지는 않습니다.


UML 클래스 다이어그램을 그리는 방법은 그림판이라던가 파워포인트 등의 그래픽툴을 사용하여 그리는 방법과, UML 도구를 이용하는 방법이 있습니다. 그냥 한두개 정도 그린다면 그래픽 도구가 간단하겠지만, 전체적인 구조를 그리고, 기존 모델을 재활용한다든지... 아무튼 좀 더 복잡해지면 UML 도구를 사용하여 그리는 것이 좋습니다.


UML 도구는 종류가 많습니다. 어떤 것을 선택하면 좋을지 망설여집니다. 일단 저는 Wikipedia UML 도구 목록predictiveanalyticstoday의 글을 참고로 선택했습니다. 선택 기준은 첫째 오픈소스일것. 꾸준히 업데이트 되는 것일 것. UML 2를 지원할 것(ISO 19103 개념스키마 언어에서 UML 2를 표준으로 사용하기로 변경되었습니다.) 그리고 XMI를 지원할 것 등입니다.


여기에서 XMI 란 XML Metadata Interchange라는 표준으로서, XML 메타데이터나 UML 등을 상호 교환할 수 있는 표준 포맷입니다. 혹시라도 제가 선택한 Modelio가 마음에 안들어서 다른 도구로 바꿀 때라도 작업해둔 내용을 버리지 않아야 하기 위해서 XMI에 대한 지원이 필요했습니다. 아울러 제가 작업한 내용을 공개하게 되면 동일한 의미에서 XMI로 공개하는 게 제일 나을테고요.


Modelio 3.7버전은 여기에서 다운로드 받아 설치했습니다. 설치하는 방법은 따로 설명할 필요는 없을 것 같고... 사용법을 간단히 정리하고자 합니다.


1. 프로젝트 생성


먼저 작업할 프로젝트를 생성합니다. 저의 경우 현재 JPGIS(일본 지리정보표준 프로파일)2014 를 공부중이니까 JPGIS2014 프로젝트를 만들었습니다. 프로젝트 위치는 원하는 곳 어디나 지정할 수 있지만, 폴더명이 한글이면 잘 안되는 것 같습니다.


File -> Create a project



2. 패키지 만들기

패키지는 서로 관련이 깊은 클래스들의 모임입니다. 하나의 프로젝트에는 여러개의 패키지가 들어 있고, 서로 관계가 있을 수 있습니다. 아래는 JPGIS2014의 Geometry/Topology 패키지에 포함된 하위패키지들의 상호관계를 나타낸 것입니다. 이처럼 패키지로 구성된 프로젝트라면 패키지를 만들고 시작하는 것이 좋습니다. (물론 클래스부터 만들고 나중에 패키지로 만들어 정리해도 됩니다.)

 

패키지를 만드는 방법은 아래 그림처럼, 프로젝트를 우클릭한 후, Create Element ->Package를 선택하면 됩니다.



3. 클래스 다이어그램만들기

이제 본격적으로 클래스 다이어그램을 만들어볼 차례입니다. 원하는 패키지에서 우클릭한 뒤, Create diagram을 선택하면 됩니다. 만들어진 다이어그램은 나중에 편한대로 다른 위치로 옮길 수 있지만, 설명하고자 하는 패키지 내부에 만드는 게 가장 좋습니다.



참고로 아래 대화상자에서 보시는 것처럼, 아주 다양한 종류의 다이어그램을 생성할 수 있습니다.



4. 클래스 생성하기

다이어그램 상태에서 클래스를 만들 때에는 아래 그림에서 클래스모양의 아이콘을 누르고 작업공간에서 적당한 크기로 드래그 해주면 됩니다. 이때 클래스 명은 "Class"로 만들어지는데, 여길 선택해서 적절한 이름을 넣어주면 됩니다.



이렇게 그래픽으로 추가하지 않고(그림은 만들지 않고), 정의만 생성할 수도 있습니다. 아래그림처럼, 원하는 대상에서 Create element를 선택하면, 클래스를 직접 추가할 수 있습니다. 클래스를 선택해서 Create element를 선택하면 속성이나 연산, 연관관계등도 추가할 수 있고요.

 


5. 속성(Attribute) 추가하기

속성을 추가하는 방법도 비슷합니다. 아래 그림에서 빨간화살표의 A: 를 클릭한 후, 원하는 클래스의 가운데 단으로 마우스를 가져간 후, 아래처럼 초록색으로 바뀌면 클릭해주면 됩니다. 



이렇게 추가하면 속성이 [+Attribute : string] 으로 추가되는데, 여길 더블클릭하여 나오는 대화상자에서 이름이나, 유형, 다중도 등을 원하는대로 수정하면 됩니다. 아래그림에서 Type이 Sign으로 되어 있는데, 이것은 "Sign"이라는 클래스(기본 데이터 타입)을 먼저 입력해두면 가능합니다.



참고 : 유감스럽게도, Value (즉 초기값)를 설정했어도, 이것을 다이어그램에 나타나지를 않더군요. 어떻게 설정해야 하는지 아직도 찾지 못했습니다.


6. 연관관계 생성하기

연관관계를 생성하는 것도 비슷합니다. 아래그림 왼편에서 적절한 연관관계를 선택한 후, 시작할 클래스를 클릭, 대상 클래스를 클릭해주면 됩니다. 선택된 클래스는 초록색으로 바뀌게 됩니다.



아래는 이런 과정을 통해 집합관계(Aggregation)을 생성한 결과입니다.



이렇게 배정된 기본값은 쉽게 바꿀 수 있습니다. 해당 연관관계를 클릭하면 아래와 같이 요소 편집화면이 뜨는데, 원하는 대로 편집하시면 됩니다. 연관관계 종류도 바꿀 수 있습니다.



7. 스테레오타입 생성/추가하기

공간정보표준중 KS X ISO 19103 개념 스키마 언어 6.10.2에는 여러가지 스테레오타입이 나옵니다. 패키지에 대한 스테레오타입인 <<Leaf>>외에는 <<CodeList>> <<dataType>>  <<enumeration>> <<interface>> <<Union>> 등의 스테레오타입이 정의되어 있습니다. 물론 이 외에도 새로운 것을 정의하여 사용할 수 있다고 규정되어 있습니다.


스테레오타입은 여러가지로 사용될 수 있는데, 공간정보표준에서 사용되고 있는 스테레오타입은 의미의 확장, 혹은 의미의 명확화라고 생각할 수 있습니다. 즉, 모두다 클래스이지만, <<Feature>>라는 스테레오타입을 사용한다면, 이 클래스는 지형지물임을 명확히 알 수 있게 됩니다.


사용자 정의 스테레오타입을 사용하려면 먼저 스테레오타입을 생성해야 합니다. 스테레오타입을 생성하려면 아래 그림과 같이 프로젝트명에서 오른쪽 버튼을 클릭하고 "Create stereotype..."을 선택합니다.



그러면 다음과 같은 대화상자가 나타나는데, 아래쪽엔 종류(Class나 Package등), 위쪽엔 추가하고자하는 스테레오타입 이름을 입력하면 됩니다.



그 다음 패키지나 클래스 등에 스테레오타입을 추가하려면, 해당 객체를 더블클릭하여 편집모드로 들어간 후, 아래 그림처럼 오른쪽 위에 있는 "+" 버튼을 누르고, 원하는 것을 선택하면 됩니다. 빨간색 화살표는 이러한 과정을 통해 추가한 스테레오타입입니다.



====

이상입니다. 아직까지 사용한지 며칠 안되어서 모르는 기능도 많다보니 별로 도움이 될 것 같지는 않지만, 그래도... ㅎㅎ


민, 푸른하늘





Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

공간정보/표준2018. 1. 12. 16:57

공간정보표준은 매우 복잡합니다. 수많은 경우에 대응할 수 있도록 하기 위해서입니다. 하지만, 우리나라의 표준화가 잘 진행되고 있는 이유중의 하나가 이 복잡함 때문이라고 할 수 있습니다.


일본에서는 많은 표준문서중 꼭 필요한 것을 최소한으로 추려서 일본지리정보표준프로파일(JPGIS : Japan Profile for Geographic Information Standards)를 만들었습니다. 이것만 지키면 데이터의 호환성은 거의 100% 확보할 수 있습니다. 시스템의 상호운영성은 데이터 표준을 기반으로 하므로, 사실상 JPGIS에 포함된 10여가지의 표준이 공간정보 표준의 전부라고 해도 과언은 아닐 것 같습니다.


이제까지 일본의 표준화 추진상황은 전혀 살펴보지 못했는데, 배울점이 많은 것 같습니다. 일본인들이 실용성을 최우선으로 한다는 것을 다시 한 번 느꼈네요.


1. 지리정보표준과 실용 규격


지리정보 표준은 국제 표준화기구 (ISO) 지리정보 기술위원회 (TC 211)에서 국제 규격화된 후, 순차적으로 국내 규격화 (일본 공업 규격 : JIS)됩니다. 국토지리원에서는 그 내용을 실제 사용에 적합하도록 체계화하여, 보다 실용적인 기준으로 만든 지리정보 표준 프로파일 (JPGIS)을 책정, 권장하고 있습니다.



2. 지리공간정보의 실용화(JPGIS화)에서 가능한 것


JPGIS는 GIS의 기반인 공간 데이터를 시스템간에 교환할 때 호환성 확보를 주요 목표로 하여, 국제 표준 및 국내 표준에 따라 데이터의 설계, 품질, 작성 방법, 사양서 작성 등의 규칙을 규정한 실용 표준입니다. 


따라서 JPGIS를 이용하면, 데이터를 서로 이용하기 쉬운 환경이 정비됨으로써, 다른 정비 주체가 정비한 데이터를 공유하고, 시스템 의존성을 감소시키며, 중복 투자를 방지하는 등의 효과를 기대할 수 있습니다. 아울러 비용 절감과 업무의 효율화 등이 가능해 짐으로써, 보다 효율적인 정보 사회의 구축과 안전한 사회의 실현에 기여합니다. 


다음은 JPGIS를 활용하는 4가지 사례입니다.

  1. 제품 명세서 
  2. 데이터 및 소프트웨어 표준화 
  3. 데이터 품질 표시 
  4. 메타 데이터 정보 유통

1) 제품사양서

데이터의 정의 · 구조 · 품질 · 기록 방법 등을 통일된 개념과 기준하에서, 이용 목적에 따라 데이터 사양을 결정할 수 있습니다. JPGIS는 제품사양서 작성에 관하여 규정되어 있습니다. 


제품 사양서는 간단히 말하자면 데이터의 설계도로서, 데이터의 이용 목적에 따른 요구 사항 및 완제품의 품질, 즉 "데이터의 내용과 구조", "데이터 교환 표준 형식", "데이터 품질 보증" 이라는, 데이터를 제작하고 유통시키는 데 필요한 사항을 기술하는 것입니다. 이를 통해 데이터 작성자는 제품 사양서에 따라 데이터를 제작할 수 있고, 데이터 이용자는 데이터의 내용을 알 수 있습니다. 


즉, 제품사양서는 데이터 작성자 및 데이터 이용자에게 지켜야하는 규칙을 규정하는 것입니다. 


또한 제품사양서는 데이터 작성시에는 '발주 사양서'로, 데이터 교환시에는 "설명서"로 사용할 수 있습니다. 


공공 측량을 시행할 때 발주자(측량 계획 기관)는 제품사양서를 이용하여 발주하고, 수주자는 제품사양에 따라 데이터를 작성합니다. 국토지리원이 제공하는 제품사양서 샘플은 JPGIS을 준수하고 있기 때문에, 그 샘플에 필요 사항을 기재하면 제품 명세서를 쉽게 만들 수 있습니다. 공공 측량을 할 때 반드시 이용해 주시기 바랍니다.


JPGIS 기준 제품사양서 샘플 보러가기


2) 데이터 및 소프트웨어 표준화

상호 운용성이 확보된 데이터는 다양한 GIS 소프트웨어에서 사용할 수 있습니다. GIS에서 사용하는 경우, 일반적으로 각 시스템에서는 내부 포맷으로 변환하여 사용하고, 데이터 교환시에는 표준 형식으로 교환합니다. 이를 통하여 데이터의 상호 운용성, 정확성 · 신속성, 재사용성이 향상됩니다.


3) 데이터 품질 표시 


데이터의 이용자에게 지리정보의 품질을 알기 쉽게 설명 할 수 있습니다. JPGIS는 데이터의 품질을 확인하기 위한 규칙을 정하고 있습니다. JPGIS에서 정한 품질 검사 방법에 따라 데이터의 품질이 확인된 후 데이터가 "제품"으로 유통합니다. 품질 검사 보고서는 "메타 데이터 (※ 아래 참조)"에 설명됩니다. 


지리공간 정보의 품질이란? 


지리공간 정보의 품질은 제품사양서에 의해 기록된, 요구된 지리정보와 실제 제작된 지리정보와의 차이이며, 실제 세계와의 비교가 아닙니다.


예를 들어, 편의점의 정보를 알고 싶은 A 씨와, 아파트 건설을 계획하고있는 B 씨가 필요한 정보는 전혀 다릅니다. 각 사람이 필요로 하는 지리정보의 개념을 논의의 영역이라고 합니다. A 씨가 얻은 지리 정보가 아무리 상세한 정보라도 편의점 정보가 빠졌다면, A 씨가 원하는 지리정보 (논의의 영역)와 확보한 지리 정보에 차이가 있어, A 씨의 목적을 달성할 수 없기 때문에, 그 데이터는 품질 좋은 자료라고는 할 수 없습니다. 시간에 관해서도 마찬가지입니다. 아무리 새로운 지리 정보라도, 필요한 지리정보가 과거의 정보일 경우, 최신 버전의 데이터가 품질이 높다고는 말할 수 없을 것입니다.


4) 메타데이터 정보유통


작성된 지리공간 데이터에 대한 설명 정보를 공유함으로써, 기존의 데이터를 검색하는 데 사용할 수 있다. 메타 데이터는 데이터 자체가 아니라 데이터 (제품)에 대한 설명 정보입니다. JPGIS에서는 메타데이터를 규정하고 있습니다. JPGIS에 따르는 메타데이터를 사용하면 다음 두 가지 장점이 있습니다.


[1] 지리공간 데이터의 원스톱 검색과 취득 실현


인터넷 검색 시스템 (= 클리어링 하우스)에 등록하는 메타 데이터에 데이터의 입수 방법을 설명함으로써, 이용자가 클리어링 하우스에서 원하는 데이터의 유무를 검색함과 동시에 온라인으로 데이터를 입수할 수 있습니다.


[2] 지리공간 데이터의 품질 확보


메타 데이터에 공간 데이터의 품질을 명시함으로써, 공급자는 이용자에 대하여 데이터의 품질에 책임을 지게 되어, 이용자가 보다 안심하고 데이터를 이용할 수 있습니다. 


국토지리원은 JPGIS에 따른 메타데이터 기술 형식으로 JMP2.0를 정하고 있습니다. JMP는 일본 메타데이터 프로파일 (Japan Metadata Profile)의 약어로, 현재 버전이 2.0 인 JMP2.0이 사용되고 있습니다. 국토지리원은 JMP2.0에 따른 메타데이터 생성 도구를 공개하고 있습니다.


JMP 2.0 기반 메타데이터 작성 툴 바로가기


3. 표준 개발 경위

--- (생략) --

4. 지리정보 표준 프로파일 이용방법


JPGIS의 정식 명칭은 "지리정보 표준 프로파일 (Japan Profile for Geographic Information Standards)"로서, 지리 정보 표준군 (지리 정보에 관한 국제 규격 (ISO 19100 시리즈) 및 일본 공업 규격 (JIS X 7100 시리즈)) 중에서 최소한으로 필요한 부분을 추출하여 체계화한 실용적인 표준입니다.


(i) JPGIS 관련 자료 다운로드 

(ii) JPGIS 도서 다운로드 

(iii) 제품 명세서 편집기 Ver.2.2 다운로드


JPGIS 서문 

"지리정보 표준 프로파일 (이하 "JPGIS"라 한다)는 지리정보 표준군 중에서 지리공간정보의 개념 스키마를 작성하고 인코딩하는데 필요한 기본적인 요소를 추출하고, 체계화한 것이다. 이 프로파일에서 정의하는 스키마는 통합모델링 언어 (UML : Unified Modeling Language)을 사용하여 기술한다. UML 클래스에는 속성, 연산 및 연관관계 등 세 가지 기본적인 특성이 있는데,이 프로파일에서는 속성과 연관관계만 사용한다."


JPGIS는 지금까지의 측량 지식 외에, 정보 처리의 지식이 필요합니다. 

특히 규격의 내용을 이해하기 위해서는 "객체 지향" 개념, "UML 클래스 다이어그램"에 대한 지식이 필요하며, 공간 데이터를 작성할 때에는 "XML" 지식이 필요합니다.


JPGIS 항목 목록

적용범위

적합성

인용 표준

UML에 의한 표기법

기본 데이터 유형 

응용 스키마 규칙

공간 스키마

시간 스키마

커버리지 기하 및 함수에 대한 스키마

지리식별자에 의한 공간 참조

지형지물 목록 작성 방법론

인코딩

부속서 1 추상 시험 항목군 

부속서 2 좌표 참조계 

부속서 3 품질 

부속서 4 메타 데이터 

부속서 5 정의 

부속서 6 다른 규격에서 인용하는 클래스의 정의 

부속서 7 참조 모델 

부속서 8 XML에 기반한 인코딩 규칙 

부속서 9 격자형 커버리지

부속서 10 묘화

부속서 11 지형 공간 데이터 제품사양서 

부속서 12 지리 마크업 언어 (GML) 


JPGIS 인용규격



인용표준 : ISO19100 시리즈


ISO19100 시리즈는 국제 표준화기구(ISO)가 정한 지리정보에 관한 국제 규격입니다.  


ISO 표준 문서 내용은 다음 사이트를 참조하십시오. 

ISO Web 사이트 (영문) 

일본 규격 협회(JSA)의 Web 사이트 (일본어)  


ISO/TC211 [국제 표준화기구(ISO)중 211 번째 설립된 지리정보 전문위원회(TC)]는 지리정보의 국제 표준화를 목적으로하고 있으며, ISO19100 시리즈는 ISO/TC 211 에서 검토되고 있는 규격입니다. 


일본은 투표권이 있는 정식 멤버로서 규격 제작 및 결정에 참가하고 있습니다. 

ISO/TC 211의 국내 심의 단체는 공익 재단법인 일본측량조사기술협회 입니다. 

ISO/TC 211의 설치 목적은 다음과 같습니다. 

지리 정보에 대한 이해를 높이고, 새로운 적용방법을 늘리는 것

지리 정보의 유용성 향상, 지리정보 접근성 확대 및 통합과 공유 촉진

디지털 지리 정보와 관련 하드웨어 및 소프트웨어의 효율적인 효과적 경제적 이용의 추진

전지구적인 환경 문제와 인도적 문제에 통일적인 대응에 공헌


인용규격 : JIS X 7100 시리즈


JIS X 7100 시리즈는 지리정보에 관한 국내 표준입니다. JIS X 7100 시리즈는 원칙적으로 ISO 표준을 일본어화한 것입니다. 일본내에서 ISO 규격에 대응한 JIS 규격(일본 공업 규격)이 존재하는 경우는 JIS 규격을 사용하고 있습니다. JIS 표준 문서 내용은 다음 사이트를 참조하십시오. 


본 공업 표준 조사회 (JISC) Web 사이트

본 규격 협회 (JSA)의 Web 사이트  


JIS는 일본 공업 표준화 촉진을 목적으로하는 공업표준화법 (쇼와 24 년)에 따라 제정된 국가 표준입니다. 


지리정보 표준 JIS 규격의 대부분은 ISO/TC 211 국내 심의단체가 주최하는 JIS 원안 작성위원회에서, 전문가에 의해 ISO 표준을 번역함과 동시에 일본의 상황에 맞도록 수정하여 JIS 초안이 작성됩니다. 


또한 일본은 WTO에 가맹하고 있는데, WTO 협정 (WTO 설립 협정 및 그 부속 협정)에는 무역 관련 각종 국제 규칙을 정하고 있습니다. 그 중 "무역의 기술적 장벽에 관한 협정 (TBT)"에서 국가 표준을 제정하는 경우 ISO · IEC 등의 국제 표준이 존재하면 이에 일치시키도록 정해져 있습니다.


인용규격 목록


JIS X 0301 : 2002 정보 교환을 위한 데이터 요소 및 교환 형식 - 날짜 및 시간 표기 

※ JPGIS에서 취급하는 날짜와 시간은 위의 기준에 따라 작성됩니다. 

JIS X 4159 : 2005 확장 가능한 마크 업 언어 (XML) 1.0 

※ JPGIS는 코딩 언어로 XML을 권장하고 있습니다. 

JIS X 7105 : 2001 지리 정보 - 적합성 및 시험 

JIS X 7107 : 2005 지리 정보 - 공간 스키마 

JIS X 7108 : 2004 지리 정보 - 시간 스키마 

JIS X 7109 : 2009 지리 정보 - 응용 스키마에 대한 규칙 

JIS X 7110 : 2009 지리 정보 - 지물 카탈로그 화법 

JIS X 7111 : 2014 지리 정보 - 좌표에 의한 공간 참조 

JIS X 7112 : 2006 지리 정보 - 지리 식별자에 의한 공간 참조 

JIS X 7115 : 2005 지리 정보 - 메타 데이터 

JIS X 7123 : 2012 지리 정보 - 커버리지의 기하 및 함수에 대한 스키마 

JIS X 7131 : 2014 지리 정보 - 데이터 제품 사양 

JIS X 7136 : 2012 지리 정보 - 지리 마크업 언어 (GML) 

JMP2.0 사양서

품질 요구, 평가 및 보고를 위한 규칙

ISO / TS 19103 : 2005 Geographic Information - Conceptual Schema Language (개념 스키마 언어) ISO 19118 : 2011 Geographic Information - Encoding (인코딩)


5. JGGIS FAQ

다음문서로


6. JPGIS 링크


국내외 표준 제정과 관련된 기관 


ISO / TC 211 (국제 표준화기구 / 지리 정보 전문위원회) 

ISO에서 특히 지리정보 관련 표준의 검토·제정하고 있는 전문위원회입니다. 


ISO (International Organization for Standardization)

각국의 대표적인 표준화 기관으로 구성된 국제 표준화기관. 지리정보 표준을 포함한 전 산업에 걸친 국제 표준을 작성하고 있습니다 (단, 전기 및 전자 기술 분야 제외). 


일본 공업 표준 조사회 (JISC) 

산업 표준화 법에 따라 경제 산업성에 설치되어있는 심의회로서, 공업 표준화 전반에 관한 조사 및 심의하고 있습니다. JPGIS가 인용하는 각종 JIS (일본 표준)를 열람할 수 있습니다. 


재단법인 일본 규격 협회 (JSA) 

IS (국제 규격) 및 JIS (일본 표준) 판매하고 있습니다. JPGIS가 인용하는 각종 IS 및 JIS도 여기에서 입수할 수 있습니다. 


OGC (Open Geospatial Consortium Inc.) 

업계 주도로 지리정보 표준화를 담당하는 비영리 단체입니다. 최근에는 ISO와 공동으로 표준 제정에 참여하고 있습니다. 


국내 지리 정보 표준 관련 사이트


공익 재단법인 일본 측량 조사 기술 협회 

ISO/TC211 일본 심의 단체입니다. ISO/TC211 국내위원회를 정기적으로 개최하고, 국내 의견의 정리, 국제 회의 참석, 일본공업규격(JIS) 초안 작성을 실시하고 있습니다. 


기타 


지리공간 정보 활용 추진 회의 

지리 공간 정보의 활용에 대하여, 관계 행정 기관 상호간의 긴밀한 연계 · 협력을 확보하고, 종합적이고 효과적인 추진을 위해 "지리공간정보 활용 추진 회의"를 설치하고 필요한 정책을 실시하고 있습니다.  

※ 2008 년 6 월 5 일 "측위·지리정보 시스템 등 추진회의"로부터 명칭을 변경했습니다.  


도쿄대 공간 정보 과학 연구 센터 (CSIS) 

CSIS는 전국 공동 이용 시설로서, 공간정보 과학에 관한 연구를 수행하고, 아울러 연구용 공간 데이터 기반을 정비 · 제공함으로써, 전국의 연구자에게 제공하는 것을 목적으로하고 있습니다.


===

원문 : http://www.gsi.go.jp/GIS/jpgis-jpgidx.html

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요