SlideShare una empresa de Scribd logo
1 de 22
전자해도 세미나
- 나의 전자해도 분투기-
주제 데이터를 어디서 얻지 …?
돈 들여서 산다. 그런데 이제 S-63 만 나온다. 배가 있어야 차트를 산다.
1. 전자해도 를 공부 하기 위해
아니지 프로그래밍 을 지금 부터 배워서 S-63 차트를 풀어 보자. 어 근데 좀 복잡하네
이것도 귀찮다. 기냥 전자해도 공부할 수 있는 샘플을 다운로드 받자
http://www.charts.noaa.gov/InteractiveCatalog/nrnc.shtml
2. 실습 전자해도 다운로드 방법
데이터 변환
및 적용 성 평가
 US3NY01M
앞에 두글자는 해도를 제작한 국가약자 (한국은 KR) 세번째 위치한
숫자는 축척으로 세번째 스케일을 갖는 해도를 뜻 함
코드 지도구분 축척
1 총도(Overview Chart) ≤ 1,500,000
2 항양도(General Chart) 350,000 ∼ 1,499,999
3 해안도(Coastal Chart) 90,000 ∼ 349,999
4 항만접근도(Approach Chart) 30,000 ∼ 89,999
5 항박도(Harbour Chart) 7,500 ∼ 29,999
6 항박계류도(Berthing Chart) 5,000
4. ISO/IEC 8211가 필요 한 이유
- 전자해도 인코딩 표준이 ISO/IEC 8211로 되어 있기에…
- 전자해도 S-57 및 S-101 기본데이터를 가지고 먼가 만들라믄 필요 함
- 다행인 것은 차세대 전자해도는 GML 데이터로 굳어지고 있음.. 다행
- 그러나 어찌될지 모름
여기서 잠깐 …
데이터 해석단계
ISO/IEC 8211 구조
파싱
데이터 가공단계
DBMS, File, Memory etc
데이터 디스플레이 단계
S-52 Standard Process Library
CSP 알고리즘 적용
 항해용 S/W 제작을 위한 표준들
항해 GIS
항해 통신
항해 GIS
항해 통신
기타 관련 표준
S-57, S-100,S-10X,S-52,S-58,S-63,S-64
IEC-61162, IEC-61163, NMEA 0183, NMEA 2000
IEC 61174
이 과정을 부르는 오브젝트를 얻는다.
속성‘DRVAL1’ 과 ‘DRVAL2’ 값를 얻어라
‘DRVAL1’ = –1.
이것은 저조 선보다 위에 있는 디폴트 색이
' DEPIT ' ( 조간대 지역 )이라는 것을
확실히 하기 위한 안전 장치이다
이 영역 오브젝트를 심볼화 하기위해 ‘SEABED01’의 심볼화 절차를 수행한다.
DRVAL1과 DRVAL2의 값을 ‘SEABED01’로 넘겨준다.
SEABED01(‘DRVAL1’,DRVAL2’)
심볼 라이브러리로 부터 ‘DRGARE01’을 선택후
영역을 컬러로 채운 제일위에 나타내라.
경계를 Dashed 라인으로,1 unit폭으로,색깔은 ‘CHGRF’로 심볼화 하라.
LS(DASH,1,CHGRF)
속성값 ‘DRVAL1’이 주어졌나?
심볼화 종료
출입구 과정을 빠져나감 .
DEPARE01
속성값 ‘DRVAL2’이 주어졌나? ‘DRVAL2’ = ‘DRVAL1’ + 0.01m.
오브젝트가 클래스’DRGARE’의 절차에 의해 불려 졌는가?
속성’RESTRN’의 값을 얻어라.
속성값 ‘RESTRN’이 주어졌나?
‘DRGARE’의 심볼화를 완성하기 위해 ‘RESCSP01’의 심볼화 절차를 수행한다.
‘RESTRN’의 값을 ‘SEABED01’로 넘겨준다.
RESCSP01(RESTRN)
no
yes
no
yes
yes
yes
no
no
- 전자해도를 그릴때 일반 지리정보 데이터와는
달리 데이터의 속성 값에 따라 그려지는 절차가
정해져있음 표준으로
- 원 이렇게 까다로워서야 ….
 C++ 로 구현 되어 있는 오픈 소스가 있음
 C++ 소스정보는 위의 링크 참조
(https://web.archive.org/web/20120630005558/http://home.gdal.org
/projects/iso8211/)
 JAVA는 nasa north wind project에 포함되어 있음(JNI)
 Python도 있음
Model Structure
Feature object························································Feature record
Meta feature object················································Meta feature record
Cartographic feature object····································Cartographic feature record
Geo feature object·················································Geo feature record
Collection feature object········································Collection feature record
Spatial object·························································spatial record
Vector object·························································Vector record
Isolated node object···············································Isolated node vector record
Connected node object···········································Connected node vector record
Edge object····························································Edge vector record
Face object························Face vector record or (loop of) edge vector record(s)
Raster object··························································Raster record
Matrix object·························································Matrix record
Attributes····························································Feature or spatial attribute field
Relationship between feature objects······Collection feature record or pointer field
Relationship between feature and spatial objects·····Pointer field
① Data Set Descriptive(Meta) : 전체 Exchange set에 관련 정보를 가짐
▪ Exchange set의 일반적인 목적과 성질을 식별하는데 필요한 정보
▪ 사용된 좌표계, 수평 및 수직 데이텀, 원천 규모, 높이 및 수심의 측정
단위 등에 관한 정보
▪ Exchange set의 기원에 관한 정보
▪ Spatial 레코드 내의 위치 데이터의 정밀도를 기술하는 정보
② Catalogue : 어떤 레코드 혹은 어떤 범위의 레코드를 찾는데 필요한 정보를 제공
▪ 전체 Exchange set 내에서 참조 파일에 위치한 디코더를 허가하기 위해 필요한 정보
▪ Exchange set 내의 개개의 레코드들 간의 특별한 관계에 관한 정보
③ Data Dictionary : 사용된 객체와 속성에 관한 설명을 담고 있음
▪ 객체 클래스와 속성을 정의하는 정보
▪ 속성이 가질 수 있는 속성 값들에 관한 정보
▪ 객체 클래스에 대한 속성들이 유효한지 확인하는 정보
④ Feature : 업데이트 명령 및 관계를 포함한 실세계 관련정보를 가짐 (속성정보)
⑤ Spatial : 업데이트 명령 및 위상관계, 공간 속성을 포함한 feature
레코드에 대한 좌표값 (공간정보)
*.전자해도 를 텍스트 파일로 변환해보자
1) 로컬에 있는 ENC 를 선택한다.
2) 로컬에 떨어진 텍스트 파일을 확인해
보자
3) 첨부되어 있는 S-57 문서와 비교해보자
 전자해도는 위계관계가 있다.
Field
SubField
Value
 모듈 기능 구성
ISO8211Reader reader = new ISO8211Reader(); //객체를 생성한다.
reader.Open( File); //파일열기를 시도한다.
while (reader.getRecord() && bContinue) //레코드를 읽어드림
{
count++;
while (reader.getField() && bContinue)
{
while (reader.getSubField())
{
//데이터를 해석하는 로직을 집어넣는다.
}
}
}
reader.close();
 전자해도 객체들은 정해져 있음
 코드들이 객체사전에 들어가 있음 (http://www.s-57.com/)
 프로그램 실행 후 앞서 생성한 파일과 비교해 보시오.
 CTRL+F 로 OBJL 부분을 찾아서 비교
.
 MONALISA 2.0 (https://github.com/maritime-web)
 OpenSeaMap
 OpenCPN (https://opencpn.org/OpenCPN/info/downloads.html)
 전자해도 기반 S/W를 오픈소스로 개발하고자 할 때 파싱방법과 파싱
할 수 있는 방법을 알아야 함
 전자해도는 IEC 8211 표준으로 캡슐링 되어 있음
 전자해도를 처음 파싱할 때는 표준문서를 참조하면서 구조를 익혀
야 함
감사합니다.

Más contenido relacionado

La actualidad más candente

[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례BJ Jang
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현MinPa Lee
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028BJ Jang
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석MinPa Lee
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기Byeong-Hyeok Yu
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향SANGHEE SHIN
 
[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계Kwang Woo NAM
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0Byeong-Hyeok Yu
 
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용Kwang Woo NAM
 
[공간정보시스템 개론] L04 항공사진의 이해
[공간정보시스템 개론] L04 항공사진의 이해[공간정보시스템 개론] L04 항공사진의 이해
[공간정보시스템 개론] L04 항공사진의 이해Kwang Woo NAM
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019Joonho Lee
 
GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서SANGHEE SHIN
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습HaNJiN Lee
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google mapsVisionGÉOMATIQUE2012
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS MinPa Lee
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)Sungjin Kang
 

La actualidad más candente (20)

[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향
3차원 위치 기반의 CAD/BIM/GIS 융합 활용 방향
 
[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계[공간정보시스템 개론] L03 지구의형상과좌표체계
[공간정보시스템 개론] L03 지구의형상과좌표체계
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0
 
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
 
[공간정보시스템 개론] L04 항공사진의 이해
[공간정보시스템 개론] L04 항공사진의 이해[공간정보시스템 개론] L04 항공사진의 이해
[공간정보시스템 개론] L04 항공사진의 이해
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019
 
GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google maps
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
 
QGIS 활용
QGIS 활용QGIS 활용
QGIS 활용
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)
 
6 QGIS layout
6 QGIS layout6 QGIS layout
6 QGIS layout
 

Similar a 전자해도세미나

Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircleYongyoon Shin
 
동기화, 스케줄링
동기화, 스케줄링동기화, 스케줄링
동기화, 스케줄링xxbdxx
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9진현 조
 
Implements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayImplements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayYEONG-CHEON YOU
 
DeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsDeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsSOYEON KIM
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오Taeoh Kim
 
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)XAIC
 
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석R 프로그래밍을 이용한 야생동물 행동권(HR) 분석
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석Byeong-Hyeok Yu
 
Scala, Scalability
Scala, ScalabilityScala, Scalability
Scala, ScalabilityDongwook Lee
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0Minwoo Kim
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
TenforFlow Internals
TenforFlow InternalsTenforFlow Internals
TenforFlow InternalsKiho Hong
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기Yongha Yoo
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfHo Jeong Im
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작Terry Cho
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장HyeonSeok Choi
 
Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Thisisone Lee
 

Similar a 전자해도세미나 (20)

Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircle
 
동기화, 스케줄링
동기화, 스케줄링동기화, 스케줄링
동기화, 스케줄링
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9
 
Implements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayImplements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture Array
 
DeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsDeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social Representations
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오
 
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
 
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석R 프로그래밍을 이용한 야생동물 행동권(HR) 분석
R 프로그래밍을 이용한 야생동물 행동권(HR) 분석
 
Scalability
ScalabilityScalability
Scalability
 
Scala, Scalability
Scala, ScalabilityScala, Scalability
Scala, Scalability
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0
 
R 시작해보기
R 시작해보기R 시작해보기
R 시작해보기
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
TenforFlow Internals
TenforFlow InternalsTenforFlow Internals
TenforFlow Internals
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
 
강의자료3
강의자료3강의자료3
강의자료3
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdf
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장
 
Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2
 

Más de Jiyoon Kim

Foss4 g kr-workshop_gps_2021
Foss4 g kr-workshop_gps_2021Foss4 g kr-workshop_gps_2021
Foss4 g kr-workshop_gps_2021Jiyoon Kim
 
Qgis에서 GPS 연동
Qgis에서 GPS 연동Qgis에서 GPS 연동
Qgis에서 GPS 연동Jiyoon Kim
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advancedJiyoon Kim
 
Geo tools Data Transfer
Geo tools Data TransferGeo tools Data Transfer
Geo tools Data TransferJiyoon Kim
 
Pyqgis 기초편
Pyqgis 기초편Pyqgis 기초편
Pyqgis 기초편Jiyoon Kim
 
Mongodb and spatial
Mongodb and spatialMongodb and spatial
Mongodb and spatialJiyoon Kim
 
osgeo 봄 세미나 -R
osgeo 봄 세미나 -Rosgeo 봄 세미나 -R
osgeo 봄 세미나 -RJiyoon Kim
 
웃는동안 배우는 Qgis
웃는동안 배우는 Qgis웃는동안 배우는 Qgis
웃는동안 배우는 QgisJiyoon Kim
 
웃으면서Python
웃으면서Python웃으면서Python
웃으면서PythonJiyoon Kim
 
Vworld api desktop에서 쓰기
Vworld api desktop에서 쓰기Vworld api desktop에서 쓰기
Vworld api desktop에서 쓰기Jiyoon Kim
 

Más de Jiyoon Kim (10)

Foss4 g kr-workshop_gps_2021
Foss4 g kr-workshop_gps_2021Foss4 g kr-workshop_gps_2021
Foss4 g kr-workshop_gps_2021
 
Qgis에서 GPS 연동
Qgis에서 GPS 연동Qgis에서 GPS 연동
Qgis에서 GPS 연동
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advanced
 
Geo tools Data Transfer
Geo tools Data TransferGeo tools Data Transfer
Geo tools Data Transfer
 
Pyqgis 기초편
Pyqgis 기초편Pyqgis 기초편
Pyqgis 기초편
 
Mongodb and spatial
Mongodb and spatialMongodb and spatial
Mongodb and spatial
 
osgeo 봄 세미나 -R
osgeo 봄 세미나 -Rosgeo 봄 세미나 -R
osgeo 봄 세미나 -R
 
웃는동안 배우는 Qgis
웃는동안 배우는 Qgis웃는동안 배우는 Qgis
웃는동안 배우는 Qgis
 
웃으면서Python
웃으면서Python웃으면서Python
웃으면서Python
 
Vworld api desktop에서 쓰기
Vworld api desktop에서 쓰기Vworld api desktop에서 쓰기
Vworld api desktop에서 쓰기
 

전자해도세미나

  • 1. 전자해도 세미나 - 나의 전자해도 분투기-
  • 2. 주제 데이터를 어디서 얻지 …? 돈 들여서 산다. 그런데 이제 S-63 만 나온다. 배가 있어야 차트를 산다. 1. 전자해도 를 공부 하기 위해 아니지 프로그래밍 을 지금 부터 배워서 S-63 차트를 풀어 보자. 어 근데 좀 복잡하네 이것도 귀찮다. 기냥 전자해도 공부할 수 있는 샘플을 다운로드 받자 http://www.charts.noaa.gov/InteractiveCatalog/nrnc.shtml
  • 3. 2. 실습 전자해도 다운로드 방법 데이터 변환 및 적용 성 평가
  • 4.
  • 5.  US3NY01M 앞에 두글자는 해도를 제작한 국가약자 (한국은 KR) 세번째 위치한 숫자는 축척으로 세번째 스케일을 갖는 해도를 뜻 함 코드 지도구분 축척 1 총도(Overview Chart) ≤ 1,500,000 2 항양도(General Chart) 350,000 ∼ 1,499,999 3 해안도(Coastal Chart) 90,000 ∼ 349,999 4 항만접근도(Approach Chart) 30,000 ∼ 89,999 5 항박도(Harbour Chart) 7,500 ∼ 29,999 6 항박계류도(Berthing Chart) 5,000
  • 6. 4. ISO/IEC 8211가 필요 한 이유 - 전자해도 인코딩 표준이 ISO/IEC 8211로 되어 있기에… - 전자해도 S-57 및 S-101 기본데이터를 가지고 먼가 만들라믄 필요 함 - 다행인 것은 차세대 전자해도는 GML 데이터로 굳어지고 있음.. 다행 - 그러나 어찌될지 모름
  • 8. 데이터 해석단계 ISO/IEC 8211 구조 파싱 데이터 가공단계 DBMS, File, Memory etc 데이터 디스플레이 단계 S-52 Standard Process Library CSP 알고리즘 적용
  • 9.  항해용 S/W 제작을 위한 표준들 항해 GIS 항해 통신 항해 GIS 항해 통신 기타 관련 표준 S-57, S-100,S-10X,S-52,S-58,S-63,S-64 IEC-61162, IEC-61163, NMEA 0183, NMEA 2000 IEC 61174
  • 10. 이 과정을 부르는 오브젝트를 얻는다. 속성‘DRVAL1’ 과 ‘DRVAL2’ 값를 얻어라 ‘DRVAL1’ = –1. 이것은 저조 선보다 위에 있는 디폴트 색이 ' DEPIT ' ( 조간대 지역 )이라는 것을 확실히 하기 위한 안전 장치이다 이 영역 오브젝트를 심볼화 하기위해 ‘SEABED01’의 심볼화 절차를 수행한다. DRVAL1과 DRVAL2의 값을 ‘SEABED01’로 넘겨준다. SEABED01(‘DRVAL1’,DRVAL2’) 심볼 라이브러리로 부터 ‘DRGARE01’을 선택후 영역을 컬러로 채운 제일위에 나타내라. 경계를 Dashed 라인으로,1 unit폭으로,색깔은 ‘CHGRF’로 심볼화 하라. LS(DASH,1,CHGRF) 속성값 ‘DRVAL1’이 주어졌나? 심볼화 종료 출입구 과정을 빠져나감 . DEPARE01 속성값 ‘DRVAL2’이 주어졌나? ‘DRVAL2’ = ‘DRVAL1’ + 0.01m. 오브젝트가 클래스’DRGARE’의 절차에 의해 불려 졌는가? 속성’RESTRN’의 값을 얻어라. 속성값 ‘RESTRN’이 주어졌나? ‘DRGARE’의 심볼화를 완성하기 위해 ‘RESCSP01’의 심볼화 절차를 수행한다. ‘RESTRN’의 값을 ‘SEABED01’로 넘겨준다. RESCSP01(RESTRN) no yes no yes yes yes no no - 전자해도를 그릴때 일반 지리정보 데이터와는 달리 데이터의 속성 값에 따라 그려지는 절차가 정해져있음 표준으로 - 원 이렇게 까다로워서야 ….
  • 11.  C++ 로 구현 되어 있는 오픈 소스가 있음  C++ 소스정보는 위의 링크 참조 (https://web.archive.org/web/20120630005558/http://home.gdal.org /projects/iso8211/)  JAVA는 nasa north wind project에 포함되어 있음(JNI)  Python도 있음
  • 12. Model Structure Feature object························································Feature record Meta feature object················································Meta feature record Cartographic feature object····································Cartographic feature record Geo feature object·················································Geo feature record Collection feature object········································Collection feature record Spatial object·························································spatial record Vector object·························································Vector record Isolated node object···············································Isolated node vector record Connected node object···········································Connected node vector record Edge object····························································Edge vector record Face object························Face vector record or (loop of) edge vector record(s) Raster object··························································Raster record Matrix object·························································Matrix record Attributes····························································Feature or spatial attribute field Relationship between feature objects······Collection feature record or pointer field Relationship between feature and spatial objects·····Pointer field
  • 13. ① Data Set Descriptive(Meta) : 전체 Exchange set에 관련 정보를 가짐 ▪ Exchange set의 일반적인 목적과 성질을 식별하는데 필요한 정보 ▪ 사용된 좌표계, 수평 및 수직 데이텀, 원천 규모, 높이 및 수심의 측정 단위 등에 관한 정보 ▪ Exchange set의 기원에 관한 정보 ▪ Spatial 레코드 내의 위치 데이터의 정밀도를 기술하는 정보 ② Catalogue : 어떤 레코드 혹은 어떤 범위의 레코드를 찾는데 필요한 정보를 제공 ▪ 전체 Exchange set 내에서 참조 파일에 위치한 디코더를 허가하기 위해 필요한 정보 ▪ Exchange set 내의 개개의 레코드들 간의 특별한 관계에 관한 정보 ③ Data Dictionary : 사용된 객체와 속성에 관한 설명을 담고 있음 ▪ 객체 클래스와 속성을 정의하는 정보 ▪ 속성이 가질 수 있는 속성 값들에 관한 정보 ▪ 객체 클래스에 대한 속성들이 유효한지 확인하는 정보
  • 14. ④ Feature : 업데이트 명령 및 관계를 포함한 실세계 관련정보를 가짐 (속성정보) ⑤ Spatial : 업데이트 명령 및 위상관계, 공간 속성을 포함한 feature 레코드에 대한 좌표값 (공간정보)
  • 15. *.전자해도 를 텍스트 파일로 변환해보자 1) 로컬에 있는 ENC 를 선택한다. 2) 로컬에 떨어진 텍스트 파일을 확인해 보자 3) 첨부되어 있는 S-57 문서와 비교해보자
  • 16.  전자해도는 위계관계가 있다. Field SubField Value
  • 18. ISO8211Reader reader = new ISO8211Reader(); //객체를 생성한다. reader.Open( File); //파일열기를 시도한다. while (reader.getRecord() && bContinue) //레코드를 읽어드림 { count++; while (reader.getField() && bContinue) { while (reader.getSubField()) { //데이터를 해석하는 로직을 집어넣는다. } } } reader.close();
  • 19.  전자해도 객체들은 정해져 있음  코드들이 객체사전에 들어가 있음 (http://www.s-57.com/)  프로그램 실행 후 앞서 생성한 파일과 비교해 보시오.  CTRL+F 로 OBJL 부분을 찾아서 비교 .
  • 20.  MONALISA 2.0 (https://github.com/maritime-web)  OpenSeaMap  OpenCPN (https://opencpn.org/OpenCPN/info/downloads.html)
  • 21.  전자해도 기반 S/W를 오픈소스로 개발하고자 할 때 파싱방법과 파싱 할 수 있는 방법을 알아야 함  전자해도는 IEC 8211 표준으로 캡슐링 되어 있음  전자해도를 처음 파싱할 때는 표준문서를 참조하면서 구조를 익혀 야 함

Notas del editor

  1. 제안 제목으로 제시한 “S-10X 기반 전자해도 데이터 모델링 및 서비스 연구 제안“ 제목이 구체적이지 않고, 모호하다는 생각이 듭니다. 한국선급은 이네비 과제 진행하면서, S-100 표준에 대해 상당히 많은 부분을 파악 하였기 때문에, 구체적이고 명확한 용어를 사용 하셔야 할 것 같습니다. S-10X 기반 전자해도라는 용어는 의미가 모호하구요, S-101 전자해도 인지, S-10X 수로정보인지에 대한 확인이 필요합니다. 내용을 종합해보면 주제1는 재검토가 필요하고, 주제3의 경유 1과제 내용 외의 신규 모델링 대상을 식별하는 것에 관심이 적을 것 같으므로, 주제2에 대해 “공간 DBMS 기반 S-100 데이터 관리 및 활용 기술”로 제안해 보시면 어떨까 합니다. 혹은 Open GIS를 활용한 S-100 데이터 처리 및 활용 기술(S-100 Viewer) 개발 등등
  2. 위의 절차는 S-100 Feature Catalogue 제작 절차로 이해되며, S-100 Feature Catalogue는 S-100 FCB(Feature Catalogue Builder)로 작업을 하기 때문에, Feature Catalogue의 유효성은 담보 되어 있다고 확신합니다. Feature Catalogue에 대한 검증 절차는 불필요 하다는 생각 입니다.
  3. 위의 절차는 S-100 Feature Catalogue 제작 절차로 이해되며, S-100 Feature Catalogue는 S-100 FCB(Feature Catalogue Builder)로 작업을 하기 때문에, Feature Catalogue의 유효성은 담보 되어 있다고 확신합니다. Feature Catalogue에 대한 검증 절차는 불필요 하다는 생각 입니다.