[GIS] 오픈소스, ‘FingerEyes-Xr’의 적용사례

오픈소스인 핑거아이즈(FingerEyes-Xr)의 적용사례 중 대표적인 것 3가지에 대해 소개해 보고자 합니다. 핑거아이즈는 웹기반의 GIS 엔진으로써 플래시(Flash) 기술로 개발되어 있습니다. GIS는 대용량의 데이터를 처리하고 화면에 표시합니다. 이러한 대용량의 데이터 처리와 화면에 빠르게 표시하고 서버로부터 제공받은 공간 데이터를 원활하고 빠르게 처리하기 위한 기술로 플래시가 가장 적합합니다. (ActiveX 방식은 보안적인 이슈와 특정 플랫폼에 종속적인 문제가 있으며 HTML은 속도에 대한 문제가 발생합니다)

핑거아이즈는 지도를 기본으로 다양한 시설물을 관리하고 조회할 수 있는 시스템을 개발할 수 있습니다. 아래의 시스템은 상수, 하수, 도로 시설물에 대한 GIS 시스템입니다. 25cm 급 항공영상과 지적도를 기반으로 수많은 시설물을 검색하고 그 내용을 쉽게 확인할 수 있습니다. 시설물들은 각기 하나 하나의 수치지도 레이어로 제공됨으로써 쉽게 관리될 수 있고 매우 빠르게 검색될 수 있습니다. 이외에도 지적기반의 주소검색, 도로명 기반의 새주소 검색, 건물명칭 검색등이 가능합니다.

사용자 삽입 이미지
또한 핑거아이즈는 웹에서 공간 데이터를 편집하는 시스템을 개발 할 수 있습니다. 아래의 시스템은 인허가에 대한 인허가에 해당하는 구역을 직접 지도 위에 편집하여 추가하고 변경할 수 있는 시스템입니다. 공간 데이터는 DBMS에 저장됨으로써 안정적으로 관리되며 속성값에 의한 조건 검색 및 버퍼링(Buffering)을 통한 중첩 여부를 조건으로 하는 공간 검색이 가능합니다. 공간 데이터에 대한 편집은 정점 및 선분에 대한 스냅핑 기능을 제공하고 편집에 대한 Undo/Redo가 가능합니다.
사용자 삽입 이미지
또한 핑거아이즈는 웹에서 지도를 기반으로 하는 관제시스템 개발이 가능합니다. 아래의 시스템은 실시간으로 각 운행 차량의 상황을 관제하는 시스템입니다. 해당 차량의 현재 위치, 운행한 경로, 위험행동이 발생한 지도 상의 위치를 실시간으로 제공하고 관제할 수 있는 시스템입니다. 또한 이러한 관제 데이터를 기반으로 다양한 통계정보를 차트, 주제도, 밀집도 등으로 사용자에게 효과적으로 제공할 수 있는 시스템입니다.

사용자 삽입 이미지
이처럼 핑거아이즈는 웹에서 빠르게 지도를 서비스하는 것을 기본으로 지도 위에 다양한 시설물을 관리하고 조회할 수 있으며 웹에서 공간 데이터를 안정적으로 편집할 수 있으면서 기본적인 편집 기능인 스냅핑, Undo/Redo를 제공하여 정확한 편집 및 언제든 편집한 내역을 되돌릴 수 있습니다. 또한 실시간 관제 시스템 개발은 물론 다양한 데이터를 기반으로 통계처리하여 지도 위에 차트, 주제도, 밀집도 등으로 정보를 사용자에게 제공할 수 있는 웹기반 GIS 엔진입니다.

[GIS] BlackPoint-Xr, 블랙포인트를 이용해 개발된 앱 소개

블랙포인트로 개발된 현장조사시스템을 소개해 봅니다. 블랙포인트는 비영리적인 연구 목적과 비영리적인 개인 사용에 한하여 라이선스 비용없이 사용할 수 있는 안드로이드 기반의 모바일 GIS 엔진입니다. 위의 화면(클릭시 크게 볼 수 있음)은 블랙포인트에서 제공하는 지도 엔진에 항공영상(50cm)과 지적도 그리고 건물을 표시하고 있는 화면입니다.

사용자가 원하는 지적 필지를 하나 선택하여 선택된 필지에 대해 다양한 데이터를 저장할 수 있습니다. 저장할 수 있는 데이터는 지도 위에 자유롭게 그린 스케치 데이터, 사진 데이터, 동영상 데이터, 음성 녹음 데이터, 텍스트(폼 입력) 데이터입니다.

위의 화면에 해당 필지에 대해서 다양한 정보를 입력하고 있는 화면입니다. 현장에서 자유롭게 원하는 형태로 데이터를 수집할 수 있고 이렇게 수집된 데이터는 SD 카드에 체계적으로 주소를 기준으로 정리되어 있어 일반 USB를 통해 PC에 연결하여 내려받을 수 있습니다. 이 시스템은 현재 지자체 납품을 위해 준비하고 있는 시스템입니다.

[GIS] 모바일 GIS 개발 서적 소개

이 책은 구글, 네이버, 다음 등에서 제공하는 지도 API를 사용하지 않고 항공영상이나 수치지도를 활용하여 직접 지도를 디자인하고 제작하여 지도와 관련된 보다 다양한 정보와 데이터를 활용할 수 있고, 더 나아가 공간연산과 분석을 통해 더 고도화된 모바일 GIS 앱 개발을 하는데 큰 도움을 줄 것으로 확신합니다.


http://www.yes24.com/24/goods/8297262?scode=032&OzSrank=1

사용자 저마다의 원하는 다양한 앱을 개발하는 데 필요한 전문 GIS 엔진을 소개하고 이 엔진의 활용방법을 자세한 튜토리얼 형식으로 제공함으로써 독자들이 원하는 모바일 GIS 앱을 쉽고 빠르게 개발할 수 있도록 구성되었습니다.

이 책에서 소개하는 모바일 GIS 엔진은 블랙포인트(BlackPoint-Xr)로 저자가 직접 개발한 엔진이며, 이를 통해 다양한 공간 데이터에 대한 검색 및 편집기능을 수행할 수 있고 더 나아가 공간연산 및 분석을 통한 전문적인 업무까지 지원 가능한 GIS 앱을 개발할 수 있습니다. 또한, GPS를 통한 위치 추적 및 다양한 좌표계 변환을 쉽게 지원하도록 설계되었습니다.

모바일 GIS 앱을 개발하기 위해 이 책에서 소개하는 블랙포인트는 이미 많은 기관에서 현장 중심의 모바일 GIS의 기반 엔진으로 사용되고 있으며 많은 GIS 회사에서 블랙포인트를 이용해 직접 모바일 GIS 앱을 개발함으로써 검증된 모바일 GIS 엔진입니다.

이미 국가에서 다양한 공간데이터를 일반인들이 사용할 수 있도록 공개하고 있으며 그 공개의 범위도 더욱 넓어지리라 생각합니다. 이러한 공간 데이터를 이용하여 자신이 원하는 모바일 GIS 앱을 개발하여 직접 사용한다는 것은 큰 경쟁력이라 생각합니다.

저자 소개

김형준 : 지리정보시스템(GIS) 분야의 개발자이다. 웹 기반의 GIS 엔진과 모바일 GIS 엔진을 개발했으며 현재 HTML5 기반의 GIS 엔진을 개발 중이다. 지도 관련 서비스 개발에 관심이 많으며 많은 개발자가 제약 없이 쉽게 사용할 수 있는 다양한 Open API를 개발하고 있다.

이근상 : 한국수자원공사에서 연구원으로 지냈으며 현재 전주비전대학교의 교수로 재직 중이다. ‘GIS 공간분석’을 전문분야로 연구하고 있으며, 도시계획 및 토지이용 계획을 지원하기 위한 다양한 공간분석 알고리즘 개발을 비롯하여 홍수 및 토양침식과 같은 수재해 관련 공간분석 알고리즘 개발 및 현장 적용 등을 응용분야로 연구하고 있다. 최근에는 모바일 관광업무 지원을 위한 위치 서비스 개선 및 토지정보 현장지원 시스템에 관한 연구도 수행 중이다.

박진호 : 현재 공간정보기술(주) 연구소에서 근무 중이다. 10여 년간 IT와 GIS 관련 분야에 종사하면서 급변하는 IT 기술에 대해 연구하고 있다. 최근에는 1인 1GPS를 가능케 한 스마트폰 확산을 기회로 삼아 최신 IT 기술의 접목을 통한 GIS 산업영역 확대라는 작은 소망의 실현을 위해 노력 중이다.

[Java] URL로부터 데이터(문자열) 읽어오기

지정된 URL에 존재하는 데이터소스로부터 데이터, 특히 문자열 값으로 읽어오는 자바 코드입니다.

URL url = null;
try {
    url = new URL("http://222.237.78.208:8080/yp_tiles/a/metadata.xml");
} catch(MalformedURLException e1) {
    e1.printStackTrace();
}

InputStream in = null;
try {
    in = url.openStream();
    byte[] buffer = new byte[128];
    int readCount = 0;
    StringBuilder result = new StringBuilder();
   
    while((readCount = in.read(buffer)) != -1) {
        String part = new String(buffer, 0, readCount);
        result.append(part);
    }   
   
    System.out.println(result);
} 
catch (IOException e) {
    e.printStackTrace();
}

위의 코드를 실행하게 되면 해당 URL로부터 가져온 데이터가 문자열로써 result 변수에 저장됩니다. 저장된 결과에 대한 화면 표시는 다음과 같습니다.

사용자 삽입 이미지
위의 결과는 타일맵으로 가공된 데이터에 대한 메타 데이터입니다.