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 형식의 지오메트리에 대한 시각화의 예제 화면은 아래와 같은데요.

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

Mr.Tiler-Xr을 이용한 배경맵 디자인 기능

Mr.Tiler-Xr을 통한 배경맵 디자인 기능에 대한 소개입니다. 공개된 DB를 활용했고, 활용한 레이어는 행정구역도, 실폭도로, 도로중심선, 건물입니다. 보다 더 다양한 레이어를 사용하면 더욱 세련된 배경지도를 디자인할 수 있습니다.

위처럼 디자인된 배경지도는 다시 Mr.Tiler-Xr에서 타일맵(Tile Map)으로 가공되어 웹에서 서비스 될 수 있습니다. 전국범위에 대해서도 매우 빠르게 가공될 수 있고, 변경된 영역에 대해서만 가공되어 다시 전체에 반영될 수 있습니다.