[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 변수에 저장됩니다. 저장된 결과에 대한 화면 표시는 다음과 같습니다.

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

[GIS] 모바일 GPS 위치정확도 향상 연구

블랙포인트(BlackPoint-Xr)을 이용해 스마트폰의 GPS 좌표를 그 상황에 맞도록 정확도를 높여 주는 연구과제를 전주대학교 주체하에 진행하고 있습니다. 내일쯤.. 논의된 알고리즘을 실제 구현하여 논의해야하는데.. 실제 구현 단계에서 보니 논의된 알고리즘의 구현에 어려운 점과 제공 받은 데이터의 한계로 알고리즘의 재검토와 데이터 보완을 위한 요청 문서를 만들고 있습니다.

사용자 삽입 이미지
위의 화면은 지금까지 개발된 연구에 대한 구현 시스템입니다. 실제 동영상을 통해 보여드리면 좀더 좋겠지만.. 추후에 정확도 향상 알고리즘이 시스템에 적용되면 동영상으로 제공하면 좋겠습니다.

오차가 많은 모바일 GPS의 정확도를 개선하기 위해 다양한 보정 방법을 적용할 수 있습니다. 그런데 문제는 매우 다양한 변수가 존재한다는 것입니다. 그 수를 셀수도 없는 도로의 선형에 대한 형태들은 물론 GPS가 제공하는 위치에 대해 예측하기 어려운 변수들…

이러한 다양한 변수들에 대해서 정확도 향상을 위한 보정 알고리즘을 “강요”할 경우 시스템이 얼어 버리는 문제가 발생합니다. 또한 얼지는 않더라도 여러개의 보정 알고리즘이 동시에 적용될 경우 서로 상반되는 조건이 발생할 수도 있고요.

해서 GPS에 대한 상황을 길게 유지하지 않고 짧게 유지하되.. 이 짧은 상태에 대해서 제약 조건을 걸고 정확도 보정을 하고 다시 아무런 제약 조건이 깨끗한 상태에서 다시 위치 정확도를 보정하는 알고리즘이 최선이 아닐까 싶습니다.

재밌기도 하고.. 아직 문제 해결을 위한 실제 구현을 위한 구체적인 방법을 강구하고 있기에 조금 답답하기는 하지만 분명 의미가 큰 연구과제라고 생각됩니다.