ViewShed

ViewShed

사용자가 설정한 임의 지점에서 관측이 가능한 영역을 분석하는 클래스로 가시권 분석을 위해서는 관측높이, 관측반경, 시작각도, 종료각도를 입력하며 분석결과는 보이는 부분(연두색)과 보이지 않는 부분(빨간색)으로 구분되어 표시된다.
고도 서비스가 정상적으로 연결되어 있어야 한다.

Constructor

new ViewShed()

객체 초기 상태를 설정한다.

Methods

createViewShed(options, callbackFunc)

가시권 분석 상태를 활성화하고 분석을 시작한다.

Example
let options = {
     name: '가시권분석',
     operationMode : 'ViewShed',
     mgrs: '52SCF6572835747',  //값이 없으면 클릭 위치를 중심으로 분석 결과 표시
     height: $('#d2map_' + aid + '-height').val() || '2',
     radius: $('#d2map_' + aid + '-radius').val() || '1000',
     startAngle: $('#d2map_' + aid + '-startangle').val() || '300',
     endAngle: $('#d2map_' + aid + '-endangle').val() || '60'
};

//사용자 정의 색상 설정
window.viewShed.setVisibleColor('rgba(0,0,255,0.5)');
window.viewShed.setInvisibleColor('rgba(125,125,0,0.5)');

//가시권 분석 생성
window.viewShed.createViewShed(options, (extent) => {
     window.map.getView().fit(extent);
     //분석 영역 표출
     console.log(extent);
}
Parameters:
Name Type Description
options object

name, operationMode, mgrs, height, radius, startAngle, endAngle값 options 객체로 설정

callbackFunc callback

분석 영역 callback으로 반환

exportCanvas(callbackFunc)

분석 결과를 이미지 형식에 Canvas 객체로 반환한다.

Example
let options = {
     name: '가시권분석',
     operationMode : 'ViewShed',
     mgrs: '52SCF6572835747',  //값이 없으면 클릭 위치를 중심으로 분석 결과 표시
     height: $('#d2map_' + aid + '-height').val() || '2',
     radius: $('#d2map_' + aid + '-radius').val() || '1000',
     startAngle: $('#d2map_' + aid + '-startangle').val() || '300',
     endAngle: $('#d2map_' + aid + '-endangle').val() || '60'
};

//가시권 분석 생성
window.viewShed.createViewShed(options, (extent) => {
     window.map.getView().fit(extent);
     //분석 영역 callback 처리하여 canvas로 반환
     window.viewShed.exportCanvas(canvasResult => {
         //분석결과를 투명도 이미지 객체로 등록
         convertTerrainAnalysis2GraphicObject(canvasResult, options.name);
         window.viewShed.clear();//기존 분석 결과 삭제
});
Parameters:
Name Type Description
callbackFunc canvas

분석 결과 callback Canvas 객체로 반환

getInvisibleColor() → {color}

가시권 분석 시 보이지 않는 영역에 대한 색상 값을 반환한다.

Returns:

가시권 분석 시 보이는 영역 색상 반환

Type
color

getVisibleColor() → {color}

가시권 분석 시 보이는 영역에 대한 색상 값을 반환한다.

Returns:

가시권 분석 시 보이는 영역 색상 반환

Type
color

setInvisibleColor(color)

가시권 분석 시 보이지 않는 영역에 대한 색상 값을 설정한다.
디폴트 색상은 빨간색이다.

Parameters:
Name Type Description
color color

가시권 분석 시 보이지 않는 영역 색상 설정

setVisibleColor(color)

가시권 분석 시 보이는 영역에 대한 색상 값을 설정한다.
디폴트 색상은 연두색이다.

Parameters:
Name Type Description
color color

가시권 분석 시 보이는 영역 색상 설정