[GIS] FingerEyes-Xr, ShapeMapLayer의 포인트에 이미지 심벌 설정

수치지도 데이터를 서비스 받아 화면에 표시하는 레이어인 XrShapeMapLayer는 도형 데이터를 표현하는 다양한 방법을 제공합니다. 단순히는 일괄적인 색상 심벌에서부터, 속성값에 따라 달라지는 다양한 심벌에까지.. 이 포스트는 포인트 타입의 수치지도 데이터에 대해서 이미지 심벌을 지정하는 코드 예입니다.

layer = new XrShapeMapLayer("LAYER_NAME", "http://www.gisdeveloper.co.kr/Xr?layerName=SPTBL");
shpTheme = layer.theme as XrSingleColorTheme;
 
var ImgSym:XrImageMarkerSymbol = new XrImageMarkerSymbol(   
    {borderEnable:false, markerUrl:"http://www.gisdeveloper.co.kr/images/0.png"});

shpTheme.markerSymbol = ImgSym;

map.layers.addLayer(layer);

포인트 타입의 수치지도의 경우 원, 사각형 등과 같은 단순 도형에서부터 위의 글에서처럼 이미지 뿐만 아니라 특수 기호 표시를 위한 텍스트 심벌을 지원합니다.

[GIS] 인허가담당자에게 인허가시스템 소개 순서 가이드라인

1. 지번 검색

사용자 삽입 이미지
검색하고자 하는 읍면리와 번지를 통해 검색. 검색 결과를 선택하고 이동 버튼을 통해 지도 이동을 하고 옳바른 위치로 이동하는지 확인할 것.

2. 신규 인허가 등록 선택

사용자 삽입 이미지
새롭게 추가할 인허가항목을 선택하고 다음 버튼을 눌러 속성 입력항목을 입력할 것.

3. 신규 인허가 속성 항목 입력

사용자 삽입 이미지
해당 속성값을 입력할 것. 각 입력항목들 간의 관계에 따라 컨트롤의 활성화 여부을 검토하고 필수입력 항목이 무엇인지 검토하고 필수입력 항목이 아닌 값을 입력한 경우 입력된 값을 제거하는 방안 검토할 것. 컴보박스를 통한 입력의 경우 필수입력 항목이 아닌 경우 ‘해당사항없음’이 필요한지 확인 할 것.

4. 인허가구역 지정하기

사용자 삽입 이미지
인허가의 속성값을 입력했다면 인허가대상지역을 지도 위에 그려 지정할 것. 선택하기 기능을 통해 클릭한 지적 도형 전체가 인허가 대상지역으로 지정되는 것을 보일 것. 그려진 도형에 대해 정점 삭제 및 추가가 되는 것을 보일 것.

5. 인허가구역을 클릭해 입력된 속성값 확인하기

사용자 삽입 이미지
새롭게 추가한 인허가 대상지역을 클릭을 통해 확인할 것. 이력 추가 버튼을 통해 변경 이력항목을 추가하는 기능을 보이면서 기존의 입력값을 그대로 끌고 오는지 보여줄 것. 인허가대상지역을 변경하는 것을 보여줄 것. 선택된 이력항목을 삭제하고 수정하는 것을 보여줄 것.

6. 인허가 공간검색

사용자 삽입 이미지
검색 기준이 되는 지적도형을 지번 검색을 통해 검색하고 검색반경을 지정해 버퍼 확장을 시킨 후 확장된 도형과 교차하는 인허가 도형을 검색하는 기능을 보여줄 것.

7. 속성값으로 인허가검색하기

사용자 삽입 이미지
속성값을 통해 검색되는 기능을 보여줄 것. 속성값으로 허가일자 2012년으로 지정하고 검색하면 검색된 결과를 확인 할 것.

8. 공간검색 및 속성검색 결과에 대해 자세히 보기

사용자 삽입 이미지
공간검색을 통한 검색 결과 또는 속성검색을 통한 검색 결과들에 대해서 자세히 버튼을 실행해 전체 허가 면적의 합을 보여줄 것.

9. 평균경사도 분석

사용자 삽입 이미지
평균경사도를 분석하고자 하는 대상지역을 지도위에 그려 대상 지역에 대한 평균경사도 분석된 결과 보여 줄것.

[GIS] 지오서비스에서 개발하여 지자체에 납품한 GIS 시스템 사용통계

지오서비스(www.geoservice.co.kr)에서 개발하여 지자체에 납품한 GIS 시스템의 사용현황에 대한 보고 요청을 받아 1년 동안 로그인 회수를 뽑아 보았습니다. 작년 3월에 납품되어 1년 이상 활용되었으며 단한차례도 시스템이 멈춘적이 없는 안정성을 제공합니다.

통계는 시스템의 로그인 횟수로 하였습니다. 더욱 정확한 통계는 지도 페이지 조작 횟수이지만.. 지도 페이지 조작 횟수는 개발된 시스템 상에서 알아낼 수 없어 로그인 횟수로만으로 통계를 내었습니다. 정확히 1년 기간 범위로 하여 월별 로그인 횟수를 SQL 문을 통해 뽑아 보니 다음과 같은 표를 얻을 수 있었습니다.

사용자 삽입 이미지
이를 보다 효과적인 경향을 살펴보기 위해 그래프로 표현하면 다음과 같습니다.

사용자 삽입 이미지
일정하지는 않지만 지속적으로 로그인 횟수가 증가하는 경향인 것을 알 수 있습니다. 어떤 시스템을 활용할때.. 그 시스템이 어느정도 익숙해지면 시스템을 지속적으로 로그인해 놓고 활용하게 됩니다. 위의 그래프는 단순히 로그인 횟수만을 통해 시스템에 대한 사용량 통계를 제공한 것이지만 만약 지도 페이지 조작 횟수로 통계를 처리한다면 시스템에 대한 사용에 대한 추세를 보다 정확히 알 수 있을 것입니다

이 통계에 대한 대상 시스템은 지오서비스의 자체 솔루션인 FingerEyes-Xr과 GeoService-Xr이 적용되었습니다. FingerEyes-Xr은 오픈소스로 클라이언트 맵엔진이며 GeoService-Xr은 공간서버입니다.

[GIS] FingerEyes, 지오메트리의 버퍼(Buffer) 연산

핑거아이즈는 공간서버인 지오서비스(GeoService-Xr)의 지오프로세싱(Geoprocessing) 서비스를 통해 지오메트리의 버퍼 연산을 수행할 수 있습니다. 아래의 코드는 레이어의 구성 항목 중 하나의 도형에 대해 버퍼 반경값 10으로 하여 버퍼 연산을 수행하는 코드입니다.

var ml:XrMashupLayer = _map.layers.getLayer("myLyr") as XrMashupLayer;
var mashup:IXrMashup = ml.getMashup(0);
if(mashup != null)
{
    var wkt:IXrWKT = mashup as IXrWKT;
    var strKwt:String = wkt.toWKT();
    var loader:URLLoader = new URLLoader();
    var url:String = "http://www.gisdeveloper.co.kr/Gp?command=buffer;geometry=" 
        + strKwt + ";distance=10";
    var request:URLRequest = new URLRequest(url);

    loader.addEventListener(Event.COMPLETE, onBufferRequestCompleted);
    loader.load(request);			
}

1번과 2번 코드를 통해 버퍼 연산 대상이 되는 도형을 가져옵니다. 그리고 이 도형에 대한 지오메트리 정보를 WKT 형식으로 변환하는 코드가 5~6번 코드입니다. 마지막으로 7~13번 코드를 통해 공간서버로 요청을 날립니다. 아래의 이미지는 버퍼 연산의 대상이 되는 도형입니다.

사용자 삽입 이미지

버퍼 연산 서비스를 요청하고 그 결과는 onBufferRequestCompleted 함수를 통해 전달되며 다음과 같은 예로 구성될 수 있습니다.

private function onBufferRequestCompleted(event:Event):void
{
    var loader:URLLoader = event.target as URLLoader;
    var result:String = loader.data;				
    var ml:XrMashupLayer = 
        _map.layers.getLayer("myLyr") as XrMashupLayer;
    var mashup:IXrMashup = ml.getMashup(0);
    if(mashup != null)
    {
        var wkt:IXrWKT = mashup as IXrWKT;
        wkt.fromWKT(result);
        ml.updateItem(0, false);
    }

    loader.removeEventListener(Event.COMPLETE, onBufferRequestCompleted);
}

버퍼 연산 결과에 대한 지오메트리 역시 WKT 형식입니다. 연산 결과를 다시 대상이 되는 도형에 반영하고 있습니다. 그 결과는 다음과 같습니다.