FingerEyes-Xr에서 WKT 문자열로부터 GraphicRow 생성하기

서버 측으로부터 뭔가를 요청해서 얻은 결과가 Geometry 일때, 그 Geometry의 형식은 WKT가 가장 일반적입니다. WKT는 Well-Known Text의 약자입니다.

예를 들어, 두 개의 좌표 사이의 최단경로에 대한 결과로써, Polyline 형태로 경로에 대한 연속된 좌표 리스트값을 WKT로 요청하는 서비스 호출이 아래와 같다고 합시다.

var url = "http://localhost/Gp?command=wlkroute;start=(132648 283024);end=(155054 243212);db=gdb";

위의 요청에 대한 결과는 두 지점간의 최단경로에 대한 연속된 좌표값을 가지는 WKT 형식입니다. 이런 WKT 형식의 데이터를 지도 상에 시각화 하기 위해 FingerEyes-Xr에서 그래픽 요소로 추가하고자 한다면.. 아래와 같은 코드를 적용할 수 있습니다.

var url = "http://localhost/Gp?command=wlkroute;start=(132648 283024);end=(155054 243212);db=gdb";
$.ajax({
    url: url,
    dataType: "text",
    type: "GET",
    statusCode: {
        200: function (response) {
            response = JSON.parse(response);
            var wkt = response.wkt;

            var map = ...;
            var layers = map.layers();
            var lyrName = "gl_route";
            var grp = new Xr.layers.GraphicLayer(lyrName);

            layers.remove(lyrName);
            layers.add(grp);

            var rs = grp.rowSet();
            var psd = new Xr.data.PolylineShapeData([[]]);

            psd.fromWKT(wkt);

            var pgr = new Xr.data.PolylineGraphicRow(0, psd);
            pgr.penSymbol().width(10).color("red").opacity(0.5);

            rs.add(pgr);

            var mbr = psd.MBR();
            map.coordMapper().zoomByMBR(mbr);
            map.update();
        }
    }
});

9번 코드가 서버단에서 받아온 WKT 문자열이고, 이 문자열을 22번 코드에서처럼 그래픽 요소의 좌표값으로 해석하기 위해 fromWKT 함수를 사용합니다. 여튼.. 이러한 서버단에서 보내온 WKT 형식의 지오메트리에 대한 시각화의 예제 화면은 아래와 같은데요.

위의 화면은 두 지점에 대한 최단 경로입니다.

NexGen에서 지형에 대한 3차원 시각화 기능

우리는 GIS의 많은 기능을 2차원에서 수행하다가, 실제 그 형상을 보다 사실적으로 시각화 파악하고 싶을 때가 있습니다. NexGen은 이러한 사용자의 요구 사항을 완벽하게 충족시키기 위해 지형에 대한 3차원 시각화 기능을 제공합니다.

아래의 동영상은 이에 대한 기능의 시연입니다.

공간 서버에 지형에 대한 표고 데이터에 대한 DEM을 저장해 이처럼 웹에서 지형을 3차원 시각화할 수 있는 NexGen은 (주)지오서비스의 공간서버인 GeoService-Xr와 공개소프트웨어인 FingerEyes-Xr을 이용해 개발되었습니다. NexGen의 기능에 대한 더 많은 내용은 (주)지오서비스의 홈페이지를 참고하시기 바랍니다.

넥스젠(NexGen)의 DEM 데이터를 활용한 측정 기능

“넥스젠 GIS 기반 솔루션”은 항공영상, DEM, 수치지도 등과 같은 공개된 공간 DB를 활용할 수 있는 시스템으로, 주소 검색 등과 같은 기본적인 GIS 기능을 제공하는 솔루션으로써, 별도의 커스터마이징 작업을 통해 고객이 원하는 공간 DB와 기능을 추가할 수 있습니다. 아래는 넥스젠에서 DEM 데이터를 활용해 수행할 수 있는 표고 측정, 단면도 측정, 평균경사도측정과 3차원 가시화 기능에 대한 동영상입니다.

GIS 공개소프트웨어 넥스젠의 지형에 대한 3차원 가시화

넥스젠은 DEM 데이터를 활용하여 경사도, 단면도를 측정할 수 있는 기능을 기본적으로 제공합니다. 이러한 기본 기능 위에 사용자가 원하는 지역을 선택해, 선택한 지역에 대한 3차원 지형 가시화 기능도 함께 제공하고 있는데요. 먼저 아래의 화면처럼 마우스를 통해 3차원으로 가시화 하고자 하는 지형을 선택합니다.

그러면 다음과 같이 3가지 형태로 지형에 대한 3차원 가시화 결과가 사용자에게 제공됩니다. 먼저 지형의 형상을 그물망으로 표시하는 와이어프레임 형태입니다.

다음은 석고상처럼 회색으로 지형을 간결하게 표현하는 솔리드 형태입니다.

그리고 다음은 항공영상을 지형에 맵핑한 형태입니다.

지형에 대한 3차원 가시화 기능은 사용자가 지도를 살펴보다가 실제 지형의 형태를 3차원으로 빠르게 파악하기 위한 목적에 맞게 개발된 기능으로 NexGen의 기본기능 중 하나입니다.