실습강의자료 ㅡ 스마트기기융합서비스개발

경일대의 공간정보공학과에서 진행한 모바일 GIS 실습자료입니다. 모바일 GIS 엔진인 블랙포인트를 이용하여 실습을 진행하였습니다. 다음과 같은 내용을 중심으로 실습을 하였습니다.

  1. 스마트 폰 또는 태블릿 PC의 화면에 지도를 표시하고
  2. 지도를 레이어(Layer) 단위로 구성하며
  3. 구성된 레이어의 색상 등의 심벌을 지정하고
  4. 구성된 레이어의 라벨을 표시하며
  5. 표시된 건물을 터치하면 터치된 건물의 속성 정보를 제공하고
  6. 현재 내 위치로 지도를 이동함

아래의 이미지는 최종 실습 결과물에 대한 실행화면 예시입니다.

사용자 삽입 이미지

그리고 아래는 실습을 위한 수업자료입니다.

[GIS] BlackPoint-Xr, 네트워크를 통한 공간 데이터 서비스

안드로이드(Android) GIS 엔진인 블랙포인트에서 네트워크를 통해 항공영상이나 수치지도를 받아 지도로 표시하는 기능에 대한 샘플 코드를 정리해 봅니다. 먼저 항공영상에 대한 레이어를 추가한느 코드는 다음과 같습니다.

ILayer aerial = new TileImageLayer(
    "aerial", 
    "http://222.237.78.28:8080/tiles/a", 
    false);

layerMan.addLayer(aerial);

TileImageLayer 클래스의 생성자 함수의 첫번째 인자는 레이어의 식별자이고 두번째는 항공영상지도를 받아올 인터넷 URL입니다. 세번째는 파일에서 항공영상을 처리하는 것이 아니므로 false를 지정합니다. 다음은 수치지도를 표시하는 코드 예입니다.

ShapeLayer jibun = new ShapeLayer(
    "jibun", 
    "http://222.237.78.28:8080/Xr?layerName=jj");

layerMan.addLayer(jibun);

ShapeLayer 클래스의 생성자 함수의 첫번째 인자는 레이어의 식별자이고 두번째는 수치지도를 받아올 인터넷 URL입니다.

안드로이드 GIS 엔진인 블랙포인트는 공간 데이터를 SD 카드를 통한 로컬 방식과 네트워크를 통해 받아 사용 방식에 대해서 모두 동일한 TileImageLayer와 ShapeLayer를 사용함으로써 라벨이나 속성, 좌표 등의 정보를 얻어오고 사용하는 방식이 동일합니다. 다음은 위의 예제에서 추가한 항공영상과 수치지도를 추가한 화면입니다.