2013년 10월 6일 일요일

[GeoServer] GeoServer에서 국내 공간 DBMS 드라이버 사용하기

GeoServer에서 국내 공간 DBMS 드라이버를 사용하여 서비스하는 방법을소개합니다.

지원하는 공간 DBMS는 다음과 같습니다.
 - Altibase Spatial: http://support.altibase.com/kr
 - Tibero Spatial: http://technet.tmax.co.kr
 - Kairos Spatial: http://www.realtimetech.co.kr

▣ 국내 공간 DBMS 지원 프로젝트 소개
 - [GeoTools Data Store] 국내 공간 DBMS 및 파일 포맷 지원 

▣ GeoServer 다운로드
 - SourceForge: http://sourceforge.net/projects/geoserver/
 - 2013년 10월 6일 현재 2.4.0 버전이 릴리스되었습니다.

▣ 국내 공간 DBMS 드라이버 다운로드
 - SourceForge: http://sourceforge.net/projects/gt-jdbc-korean/
 - GeoServer 버전에 따라 드라이버 버전을 모두 지원하므로 GeoServer 버전에 맞게 다운로드 합니다(예, GeoServer 2.4.0의 경우 GeoServer 설치 폴더의 WEB-INF\lib 폴더에 보면 GeoTools 10.0을 사용)

▣ 설치 방법 (GeoServer 2.4.0 + GeoTools 10.0 기준)
 ① Altibase
  - GeoServer 설치 폴더의 WEB-INF\lib 폴더에 다운로드한 gt-jdbc-altibase-10.0.jar 및 Altibase가 제공하는 Altibase5.1.4.jar JDBC 드라이버를 복사

 ② Tibero
  - GeoServer 설치 폴더의 WEB-INF\lib 폴더에 다운로드한 gt-jdbc-tibero-10.0.jar 및 Tibero가 제공하는 tibero5-jdbc.jar JDBC 드라이버를 복사

 ③ Kairos
 - GeoServer 설치 폴더의 WEB-INF\lib 폴더에 다운로드한 gt-jdbc-kairos-10.0.jar 및 Kairos가 제공하는 kairosjdbc.jar JDBC 드라이버를 복사

▣ 저장소 등록 확인
이제 GeoServer 서비스를 다시 시작합니다.
GeoServer의 [데이터] -> [저장소] -> [새로운 저장소 생성하기] 메뉴를 실행하면 다음과 같습니다.

 ▣ 레이어 등록 및 발행
이후 과정은 PostGIS에서 레이어를 등록하고 활용하는 과정과 동일합니다.
단, Altibase, Tibero, Kairos에서 WKT 크기 제한이 있으므로 반드시 preparedStatements 사용에 체크하시기 바랍니다.

 ▣ 참고 사항
위에서 제공하는 Altibase, Tibero, Kairos 드라이버는 레이어 읽기 및 쓰기 모두 지원합니다. 따라서 GeoTools를 사용하는 개발자라면 간단한 프로그램을 이용하여 DBMS에 레이어를 추가하는 작업도 가능합니다.

다음은 망고시스템에서 uDig GIS 및 위 드라이버를 활용하여 데이터 변환 도구를 작성한 예입니다.