Java 기반의오픈소스 GIS(GeoServer, udig) 를지원하는국내공간 DBMS 드라이버의개발 2013. 08. 28. 김기웅 (socoooooool@gmail.com) 임영현 (yhlim0129@gmail.com) 이민파 (mapplus@gmail.com) PAGE 1
1 기술개발의목표및내용 2 기술개발현황 3 커뮤니티운영계획 4 활용방법및시연 PAGE 2
PAGE 3
1. 기술개발의목표및내용 : 기술개발의배경 국내오픈소스 GIS 활성화를위한요소 국내오픈소스 GIS 활성화를위한요소 한글화지원 국내특수환경지원 국내공간 DBMS 및포맷지원 프로그램한글화및한글매뉴얼완료 한글인코딩지원하기완료 서버및데스크탑프로그램에서국내포털지도보기부분완료 국내좌표체계지원하기완료 현재오픈소스 GIS 기반국내 DBMS 및포맷지원은전무한상태 국내공간 DBMS 를지원하는드라이버개발이핵심목표 PAGE 4
1. 기술개발의목표및내용 : 기술개발의배경 GeoServer, udig, QGIS 등 UI 및매뉴얼한글화 2013 년 4 월말 GeoServer 2.1.3 버전부터한글화버전출시됨 PAGE 5
1. 기술개발의목표및내용 : 기술개발의배경 TMS for Korea QGIS 에서 Daum, Naver, Olleh 지도등을레이어로사용 QGIS Plugin Repository 및 Daum 지형 PAGE 6
1. 기술개발의목표및내용 : 기술개발의배경 국내좌표체계지원 QGIS, udig, GeoServer PAGE 7
1. 기술개발의목표및내용 : 기술개발의배경 국내공간 DBMS 및파일포맷드라이버지원 MapPlus 2010 년프로토타입구현 PAGE 8
1. 기술개발의목표및내용 : 기술개발의목표 기술개발목표 현재오픈소스 GIS는전세계적으로많이사용하는상용포맷들은대부분지원하고있으나국내포맷 ( 공간 DBMS, 파일포맷등 ) 지원은전무한상태 PAGE 9
1. 기술개발의목표및내용 : 기술개발의내용 기술개발내용및범위 PAGE 10
1. 기술개발의목표및내용 : 기술개발의내용 기술개발내용및범위 ( 계속 ) 1. 국내상업용공간 DBMS Altibase Spatial - ALTIBASE(tm) ALTIBASE HDB Database Kairos Spatial - REALTIMETECH(tm) Kairos Database Tibero Spatial - Tibero(tm) Tibero Database GMS 4G - GEOMania ZEUS - CM World 2. 국내파일포맷 국토지리정보원 NGI 파일 PAGE 11
1. 기술개발의목표및내용 : 기술개발의내용 기술개발내용및범위 ( 계속 ) 구분 목표 내용 o 국내공간 DBMS 지원 1 차년도 (2013) 2 차년도 (2014) GeoTools 기반의 Data Store 개발및적용 udig 기반의 Data Store 개발및적용 - Altibase Spatial - Tibero Spatial - Kairos Spatial o 국내파일포맷지원 - 국토지리정보원 NGI 포맷 o GeoTools 2.7.x, 8.x, 9.x 모두지원 o 국내공간 DBMS 지원 - Altibase Spatial - Tibero Spatial - Kairos Spatial o 국내파일포맷지원 - 국토지리정보원 NGI 포맷 o udig 1.4.x 이상지원 PAGE 12
1. 기술개발의목표및내용 : 기술개발의내용 기술개발추진체계계획수립저장소생성 DBMS 정보수집 GeoTools 설계 udig 설계 개발 테스트 커뮤니티 (OSGeo Korean Chapter 등 ) 개발 테스트 배포 운영및피드백 배포 PAGE 13
PAGE 14
2. 기술개발현황 : 기반기술 org.geotools.jdbc PAGE 15
2. 기술개발현황 : 기반기술 org.geotools.jdbc.jdbcdatastore PAGE 16
2. 기술개발현황 : 기반기술 org.geotools.jdbc.sqldialect PAGE 17
2. 기술개발현황 Altibase DBMS 특성 PAGE 18
2. 기술개발현황 gt-jdbc-altibase 주요내용 https://github.com/mangosystem/gt-jdbc-korean http://sourceforge.net/projects/gt-jdbc-korean/files/altibase/ PAGE 19
2. 기술개발현황 gt-jdbc-altibase 주요내용 Map<String, Object> params = new HashMap<String, Object>(); params.put(jdbcdatastorefactory.dbtype.key, "altibase"); params.put(jdbcdatastorefactory.host.key, "localhost"); params.put(jdbcdatastorefactory.database.key, "mydb"); params.put(jdbcdatastorefactory.port.key, "20300"); params.put(jdbcdatastorefactory.user.key, "sys"); params.put(jdbcdatastorefactory.passwd.key, "manager"); AltibaseNGDataStoreFactory factory = new AltibaseNGDataStoreFactory(); DataStore datastore = factory.createdatastore(params); PAGE 20
2. 기술개발현황 Tibero DBMS 특성 PAGE 21
2. 기술개발현황 gt-jdbc-tibero 주요내용 https://github.com/mangosystem/gt-jdbc-korean http://sourceforge.net/projects/gt-jdbc-korean/files/tibero/ PAGE 22
2. 기술개발현황 gt-jdbc-tibero 주요내용 Map<String, Object> params = new HashMap<String, Object>(); params.put(jdbcdatastorefactory.dbtype.key, "tibero"); params.put(jdbcdatastorefactory.host.key, "localhost"); params.put(jdbcdatastorefactory.database.key, "tibero"); params.put(jdbcdatastorefactory.port.key, "8629"); params.put(jdbcdatastorefactory.user.key, "tibero"); params.put(jdbcdatastorefactory.passwd.key, "manager"); TiberoNGDataStoreFactory factory = new TiberoNGDataStoreFactory(); DataStore datastore = factory.createdatastore(params); PAGE 23
2. 기술개발현황 Kairos DBMS 특성 PAGE 24
2. 기술개발현황 gt-jdbc-kairos 주요내용 https://github.com/mangosystem/gt-jdbc-korean http://sourceforge.net/projects/gt-jdbc-korean/files/kairos/ PAGE 25
2. 기술개발현황 gt-jdbc-kairos 주요내용 Map<String, Object> params = new HashMap<String, Object>(); params.put(jdbcdatastorefactory.dbtype.key, "kairos"); params.put(jdbcdatastorefactory.host.key, "localhost"); params.put(jdbcdatastorefactory.database.key, "db"); params.put(jdbcdatastorefactory.port.key, "5000"); params.put(jdbcdatastorefactory.user.key, "root"); params.put(jdbcdatastorefactory.passwd.key, "root"); KairosNGDataStoreFactory factory = new KairosNGDataStoreFactory(); DataStore datastore = factory.createdatastore(params); PAGE 26
PAGE 27
3. 커뮤니티운영계획 : 커뮤니티구성방법 커뮤니티구성방법 저장소및배포처 개발커뮤니티 소스저장소관리및배포를위해 github 및 sourceforge 적극활용 활용에대한피드백은 OSGeo 한국어지부및 Naver GIS 프로그래밍연구소카페커뮤니티적극활용 분산형버전관리시스템인 github 을적극활용하여협업시스템구성 PAGE 28
3. 커뮤니티운영계획 : 커뮤니티운영 SourceForge(https://sourceforge.net/projects/gt-jdbc-korean/) PAGE 29
3. 커뮤니티운영계획 : 커뮤니티운영 GitHub(https://github.com/mangosystem/gt-jdbc-korean/) PAGE 30
3. 커뮤니티운영계획 : 커뮤니티운영 OSGeo 한국어지부메일링리스트 (https://groups.google.com/group/osgeo-kr/) PAGE 31
3. 커뮤니티운영계획 : 커뮤니티운영 Naver GIS 프로그래밍연구소 (http://cafe.naver.com/gisdev/) PAGE 32
3. 커뮤니티운영계획 : 향후일정 향후일정 Altibase Kairos 저장소 Tibero NGI Format 6 7 8 9 10 11 커뮤니티모임 오픈소스 GIS 솔루션데이 FOSS4G Korea 2013 2013 스마트국토엑스포 FOSS4G 2013 Asia Geospatial Forum 2013 PAGE 33
PAGE 34
4. 활용방법및시연 : 활용방법 향후응용분야및활용방법 PAGE 35
4. 활용방법및시연 : 활용방법 서버 GIS(GeoServer) 활용 PAGE 36
PAGE 37 4. 활용방법및시연 : 시연