개방海 오픈API활용 가이드라인

국가중점 개방데이터 오픈API 활용 소개

국립해양조사원 '개방海'에서 제공하는 오픈API
사용방법을 안내합니다.

시작에 앞서

본 가이드라인에서는 국립해양조사원의 '개방海' 서비스에서 제공중인 공간/속성 데이터 오픈API에 대한 전반적인 내용을 다루려 합니다.

1. 개방海 오픈API 이용 신청하기

- http://www.khoa.go.kr/oceanmap/main.do 접속합니다.

- 상단 Open-API 메뉴 선택 합니다.

Open-API선택

- 팝업레이어의 왼쪽 이용약관/API키 발급 메뉴 선택합니다.

- Open API키 발급 요청 입력 항목을 작성합니다. (약관동의체크, gmail사용필수)

발급요청작성

- 입력항목을 작성한 후 발급요청 버튼을 누르면 gmail 권한요청 화면이 나옵니다.

권한요청 화면

- 왼쪽 메뉴의 API키 발급현황 버튼을 누르면 현재 '검토'중이라고 나옵니다. 운영자의 승인 후 개방해의 오픈API를 사용하실 수 있습니다.

발급현황 확인

2. 개방海에서 제공하는 국가중점개방데이터 오픈API 리스트

개방海에서 제공하는 국가중점개방데이터 오픈API는 크게 4종류로 구분됩니다.
- 해상구역도 : 하위 18개의 데이터가 있습니다.
- 소형선항만안내도 : 하위 1개의 데이터가 있습니다.
- 어장정보도 : 하위 1개의 데이터가 있습니다.
- 요트/낚시정보도 : 하위 3개의 데이터가 있습니다.
※ 그외 다른 해양 개방데이터도 함께 제공합니다.

보다 정확한 항목을 확인하고 싶으면 Open-API 팝업의 왼쪽메뉴 'Open API 레퍼런스'를 선택하면 내용을 확인할 수 있습니다.

오픈API 서비스대상

3. WMS vs WFS

3.1 WMS (Web Map Service)

GIS 에서 데이터를 사용하기 위해 맵 서버에서 생성된 지도 이미지를 인터넷상에 제공하기 위한 표준 프로토콜입니다.

개방海에선 WMS 데이터도 제공하며 해당 오픈API를 사용하면 사용자의 베이스 지도 위에 원하는 레이어 이미지를 씌우게 됩니다.

3.2 WFS (Web Feature Service)

GIS에서 데이터를 사용하기 위해 지리데이터에 대한 feature를 인터넷상세 제공하기 위한 표준 프로토콜입니다. WMS가 단순히 지도 이미지만을 제공하는데 반해 WFS는 공간 속성 데이터도 함께 제공됩니다.

개방海에선 WFS 데이터도 제공하며 해당 오픈API를 사용하면 사용자의 베이스 지도 위에 원하는 공간정보를 표출할수 있으며 해당 속성값도 함께 확인할 수 있습니다.

4. 기본적인 사용 예제

4.1 WMS 사용방법

A. 요청주소

- http://www.khoa.go.kr/oceanmap/otmsWmsApi.do?ServiceKey=<인증키>&Layer=<레이어명>&STYLES=<스타일명>

B. 응답결과

- WMS 오픈API 요청에 대한 결과는 javascript의 eval() 메소드로 호출할 수 있는 코드 문자열로 받습니다. 받은 문자열을 eval('문자열') 메소드의 인자로 사용하여 실행하면 지도 레이어 이미지를 최종적으로 가져오게 됩니다.

C. 오류메세지
오류상황 오류메세지
ServiceKey가 없는 경우 ServiceKey is null
ServiceKey의 사용기한이 만료된 경우 Use the authentication key is expired
API호출의 하루 조회 허용 횟수가 초과한 경우 The number of requested of today is [일허용수치] exceeded
레이어가 없는 경우 '레이어명' is not exist
조건에 해당하는 자료가 없는 경우 unknown
레이어에 대한 사용 권한이 없는 경우 Do not have authentification on this layer.

4.2 WFS 사용방법

A. 요청주소

- http://khoa.go.kr/oceanmap/otmsWfsApi.do?ServiceKey=<인증키>&Layer=<레이어명>

B. 응답결과

- WFS 오픈API 요청에 대한 결과는 gml데이터로 가져옵니다. Openlayers를 통해 가져온 WFS데이터는 각각 feature객체에 저장되며 속성값을 표현할 수 있습니다.

C. 오류이벤트
오류상황 오류메세지
ServiceKey가 없는 경우 ServiceKey is null
ServiceKey의 사용기한이 만료된 경우 Use the authentication key is expired
API호출의 하루 조회 허용 횟수가 초과한 경우 The number of requested of today is [일허용수치] exceeded
레이어가 없는 경우 '레이어명' is not exist
조건에 해당하는 자료가 없는 경우 unknown
레이어에 대한 사용 권한이 없는 경우 Do not have authentification on this layer.

마무리를 지으며

개방海에서 제공하는 오픈API에 대해 알아봤습니다. 제공되는 오픈API에 대한 실 사용 방법은 웹서비스 및 모바일 어플 개발하기 메뉴에서 다루고 있습니다. 모든 가이드라인에 따라 하나하나 따라하다보면 오픈API의 활용 및 WFS공간 데이터 활용에 대해 기본적인 개념은 잡을수 있다고 생각합니다.