안녕하세요. 문의하신 경사향/경사도 표출 범례 설정에 대해 아래와 같이 안내드립니다.
1. 현재 적용된 색상별 범례값 확인경사도 분석 객체의 속성에서 현재 적용된 최소값, 최대값 및 색상 목록을 확인할 수 있습니다. console.log(analy.slopeLegend); 
별도의 범례 조회 API는 제공되지 않습니다. 경사도 범례는 min부터 max까지의 범위를 color 배열의 색상 개수에 따라 균등하게 분할하여 적용합니다.
경사향 분석에 적용된 방향별 색상은 aspectLegend 속성에서 확인할 수 있습니다. console.log(analy.aspectLegend);

마찬가지로 별도의 범례 조회 API는 제공되지 않습니다.
2. 범례 구간 값 직접 설정 범례 구간 값을 직접 설정하는 API는 별도로 제공되지 않습니다. 다만 arrowStyleFunction을 사용하면 경사도 또는 경사향 값을 기준으로 구간 조건을 정의하고, 각 구간에 해당하는 화살표의 색상 등 스타일을 지정할 수 있습니다. 구체적인 사용 방법은 ‘3. 설정한 구간에 따른 색상 지정’ 항목에서 함께 설명드리겠습니다.
3. 설정한 범례 구간에 따른 색상 지정 arrowStyleFunction을 활용하면 경사도 또는 경사향 값을 기준으로 구간 조건을 임의로 정의하고, 각 구간에 해당하는 화살표 색상을 지정할 수 있습니다. 아래는 적용 예시입니다.
[arrowStyleFunction 예시 코드]
const slopeLegend = [ {min: 0, max: 5, color: '#ffffff'}, {min: 5, max: 15, color: '#ffff00'}, {min: 15, max: 30, color: '#ff9900'}, {min: 30, max: Infinity, color: '#ff0000'} ];
const aspectLegend = [ { name: '평탄', color: '#cccccc', matches: (aspect) => aspect === 0 }, { name: '북', color: '#84d600', matches: (aspect) => aspect > 0 && (aspect < 22.5 || aspect >= 337.5) }, { name: '북동', color: '#00ab44', matches: (aspect) => aspect >= 22.5 && aspect < 67.5 }, { name: '동', color: '#0068c0', matches: (aspect) => aspect >= 67.5 && aspect < 112.5 }, { name: '남동', color: '#6c00a3', matches: (aspect) => aspect >= 112.5 && aspect < 157.5 }, { name: '남', color: '#ca009c', matches: (aspect) => aspect >= 157.5 && aspect < 202.5 }, { name: '남서', color: '#ff5568', matches: (aspect) => aspect >= 202.5 && aspect < 247.5 }, { name: '서', color: '#ffab47', matches: (aspect) => aspect >= 247.5 && aspect < 292.5 }, { name: '북서', color: '#f4fa00', matches: (aspect) => aspect >= 292.5 && aspect < 337.5 } ];
analy.setArrowStyleFunction((cell) => { // 경사도 모드일 때 범례 설정 if (analy.mode === 'slope') { const item = slopeLegend.find( ({min, max}) => cell.slope >= min && cell.slope < max );
return { color: item?.color ?? '#cccccc' }; }
// 경사향 모드일 때 범례 설정 if (analy.mode === 'aspect') { const item = aspectLegend.find( ({matches}) => matches(cell.aspect) );
return { color: item?.color ?? '#cccccc' }; } return { color: '#cccccc' }; });
정리하면, arrowStyleFunction을 사용하여 경사도와 경사향 모두 원하는 구간 조건에 따라 색상을 임의로 지정할 수 있습니다. 다만 arrowStyleFunction은 범례 자체를 생성하는 API가 아니라 각 분석 셀의 화살표 스타일을 결정하는 기능이므로, 범례를 화면에 표시하려면 서비스 또는 클라이언트 소스에서 동일한 구간 및 색상 데이터를 사용하여 별도의 범례 UI를 구성해야 합니다.
|