FeatureView 스타일 지정

FeatureView 저작물의 지형지물 스타일은 JavaScript 객체에 정의된 규칙을 사용하여 지정됩니다. 스타일은 FeatureViewLayer의 초기 정의 중에 또는 그 이후 언제든지 설정할 수 있습니다. 스타일 지정 시스템을 사용하면 대규모 지형지물 그룹에 적용되는 광범위한 스타일 규칙과 특정 지형지물에 적용되는 보다 구체적인 규칙을 설정할 수 있습니다. 지형지물 스타일은 지형지물 특성에 따라 상수 값 또는 데이터 기반으로 정의할 수 있습니다.

스타일 객체

스타일 객체의 기본 구조는 아래와 같습니다. 규칙에는 광범위한 규칙과 구체적인 규칙의 두 가지 유형이 있습니다. 광범위한 규칙은 FeatureView 저작물의 모든 지형지물에 영향을 미치지만, 특정 규칙은 지형지물의 하위 집합에 영향을 미칩니다.

{
  // Broad style rules.
  opacity: ,
  polygonFillColor: ,

  // Specific style rules.
  rules: [
    {  },
    {  }
  ]
};

광범위한 규칙

모든 지형지물 (또는 특정 도형 유형의 지형지물)에 스타일 속성을 적용하려면 스타일 객체의 최상위 수준에서 스타일 속성을 지정합니다.

{
  opacity: 0.5,
  pointShape: 'triangle',
  lineWidth: 10,
  polygonFillColor: 'green'
};

특정 규칙

지형지물의 하위 집합에 스타일 속성을 적용하려면 rules 필드를 사용하세요. rules 필드는 JavaScript 객체 목록을 허용하며, 각 객체에는 ee.Filter 객체에 의해 정의된 조건에 따라 기능을 선택하는 filter가 있고 그 뒤에 일련의 스타일 속성이 옵니다. 아래 예시에는 'REP_AREA' 속성이 100보다 작은 경우에만 polygonStrokeWidthpolygonFillColor를 설정하는 규칙이 있습니다. 특정 규칙은 광범위한 규칙의 스타일 속성을 재정의하며 rules 목록 끝에 있는 규칙은 시작 부분에 있는 규칙을 재정의합니다 (특정 규칙은 처음부터 끝까지 평가됨).

{
  rules: [
    {
      filter: ee.Filter.lt('REP_AREA', 100),
      polygonStrokeWidth: 0.5,
      polygonFillColor: 'blue'
    },
    {  }  // Optionally include additional rules.
  ]
};

설정 스타일

지형지물 스타일은 FeatureViewLayer가 선언될 때 또는 그 이후에 언제든지 설정할 수 있습니다.

선언 FeatureViewLayer

FeatureViewLayer를 선언할 때 시각화 매개변수를 설정하려면 visParams 매개변수를 사용하세요.

var visParams = {
  opacity: 0.5,
  lineWidth: 10,
  polygonFillColor: 'purple'
};

var layer = ui.Map.FeatureViewLayer({
  assetId: 'WCMC/WDPA/current/polygons_FeatureView',
  visParams: visParams
});

Map.add(layer);

기존 FeatureViewLayer

기존 FeatureViewLayer의 시각화 매개변수를 설정하려면 setVisParams 함수를 사용하세요. 이전에 지정된 스타일 규칙을 대체합니다. 지정되지 않은 속성은 기본값으로 설정됩니다.

var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);

layer.setVisParams({
  opacity: 0.5,
  lineWidth: 10,
  polygonFillColor: 'purple'
});

기호학

각 스타일 속성에 상수 스타일 규칙 또는 데이터 기반 스타일 규칙을 지정할 수 있습니다. 데이터 기반 옵션은 지형지물 속성 값을 사용하여 기호화를 결정하며, 기호화는 범주형 또는 보간형일 수 있습니다. 스타일 속성의 전체 목록은 스타일 속성 표를 참고하세요.

상수

상수 스타일 규칙은 설정할 스타일 속성과 값으로 구성됩니다. 다음 예에서는 다각형 채우기 색상을 파란색으로 설정합니다.

var visParams = {
  polygonFillColor: 'blue'
};

범주형

카테고리 스타일 규칙은 설정할 스타일 속성과 다음 세 가지 속성이 있는 JavaScript 객체로 구성됩니다.

  • property: 값이 스타일에 영향을 미치는 지형지물 속성 이름입니다.
  • categories: 지형지물 속성 값을 스타일 속성 기호로 매핑하는 목록의 목록입니다. 각 카테고리에는 속성 값과 적용할 심볼 지리 정보 값이 차례로 포함됩니다. 카테고리를 정의하는 속성 값은 문자열이어야 합니다.
  • defaultValue: 속성 값이 categories에 정의되지 않은 지형지물에 적용할 기본 기호입니다. null/undefined인 경우 기본 스타일 설정이 적용됩니다.

예를 들어 다음 객체는 'MARINE' 지형지물 속성을 기반으로 color 스타일 속성을 설정합니다. 'MARINE' 카테고리의 '0'은 보라색, '1'은 녹색, '2'는 파란색, 다른 카테고리는 흰색으로 설정됩니다.

var visParams = {
  color: {
    property: 'MARINE',
    categories: [
      ['0', 'purple'],
      ['1', 'green'],
      ['2', 'blue']
    ],
    defaultValue: 'white'
  }
};

보간됨

보간된 스타일 규칙은 설정할 스타일 속성과 최대 5개의 속성이 있는 JavaScript 객체로 구성됩니다.

  • property: 값이 스타일에 영향을 미치는 지형지물 속성 이름입니다.
  • mode: 보간 모드('linear' 또는 'interval')입니다.
  • palette: 입력 속성 값을 보간할 색상, 불투명도 또는 너비 목록입니다. 형식은 mode에 따라 다릅니다. 자세한 내용은 선형간격 섹션을 참고하세요.

'linear' 모드에만 적용됨

  • min: palette 목록의 첫 번째 요소에 매핑할 속성 값입니다.
  • max: palette 목록의 마지막 요소에 매핑할 속성 값입니다.

선형

선형 보간 모드는 palette 속성에 정의된 기호 값 목록 간에 min~max 범위의 입력 값을 선형으로 매핑하여 지형지물 스타일 속성을 설정합니다. 입력 값은 minmax로 설정된 범위로 잘립니다.

예를 들어 다음 객체는 'REP_AREA' 지형지물 속성을 기반으로 color 스타일 속성을 설정합니다. palette 속성은 minmax 사이의 입력 값이 노란색에서 빨간색, 파란색으로 선형적으로 그라데이션되어야 함을 나타내는 색상 목록입니다. 1과 500 사이의 값은 노란색과 빨간색 사이에서 보간되고, 500과 1,000 사이의 값은 빨간색과 파란색 사이에서 보간됩니다.

var visParams = {
  color: {
    property: 'REP_AREA',
    mode: 'linear',
    palette: ['yellow', 'red', 'blue'],
    min: 1,
    max: 1000
  }
};

간격

간격 보간 모드는 입력 값을 클래스 구간에 매핑한 다음 클래스별 기호를 적용하여 지형지물 스타일 속성을 설정합니다. 선택한 지형지물 속성의 입력 값은 가장 가까운 클래스 구분 값에 반올림하여 할당됩니다. palette 속성은 목록의 목록 형식으로 되어 있으며, 각 내부 목록에는 클래스 시점 값과 스타일 속성 값이 차례로 포함됩니다. 속성 값이 최소 클래스 구분 값보다 작은 지형지물은 기본 스타일 속성 설정을 유지합니다.

다음 예에서는 'REP_AREA' 속성의 계단식 클래스에 따라 지형지물 채우기 불투명도가 설정됩니다. 클래스 정의 및 스타일 심볼은 palette 속성에 목록 목록으로 제공됩니다. 값 0, 80, 2,000, 5,000에서 중단되는 4개의 클래스가 있으며 각 지형지물 불투명도는 0.5, 0.35, 0.22, 0.15여야 함을 나타냅니다. 즉, 'REP_AREA' 값이 $ 0 \le x < 80 $ 인 지형지물은 채우기 불투명도가 0.5이고, 값이 $ 80 \le x < 2000 $ 인 지형지물은 채우기 불투명도가 0.35이고,

var visParams = {
  fillOpacity: {
    property: 'REP_AREA',
    mode: 'interval',
    palette: [
      [0, 0.5],
      [80, 0.35],
      [2000, 0.22],
      [5000, 0.15]
    ]
  }
};

모든 스타일 속성

다음은 스타일 객체에서 지정할 수 있는 모든 스타일 속성입니다. 특정 도형 유형에 스타일 속성을 설정하면 '모든 도형'에 설정된 해당 스타일 속성이 재정의됩니다(예: polygonFillColor를 설정하면 fillColor에 설정된 값이 재정의됨).

속성 유형 설명 보간된 규칙 지원
모든 도형
isVisible Boolean 지형지물의 표시 여부를 설정합니다. 아니요
color String 모든 도형 유형의 채우기/획 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
opacity Double 모든 도형 유형의 채우기/획 불투명도를 설정합니다. 0과 1 사이의 double 값이어야 합니다.
width Double 모든 도형 유형의 획 너비를 설정합니다.
fillColor String 모든 도형 유형의 채우기 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
점 도형
pointShape String 점 도형의 모양을 설정합니다. ee.FeatureCollection.style와 동일한 도형 (원, 정사각형, 다이아몬드, 십자, 더하기, 오각별, 육각별, 삼각형, triangle_up, triangle_down, triangle_left, triangle_right, pentagon, hexagon, star5, star6)을 지원합니다. 아니요
pointSize Double 점 도형의 너비를 설정합니다 (단위: 픽셀).
pointFillColor String 점 도형의 채우기 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
pointFillOpacity Double 점 도형의 채우기 불투명도를 설정합니다. 0과 1 사이의 double 값이어야 합니다.
선 도형
lineType String 선 유형을 설정합니다. ee.FeatureCollection.style와 동일한 유형 (실선, 점선, 점자)을 지원합니다. 아니요
lineWidth Double 선 너비를 픽셀 단위로 설정합니다.
lineColor String 선 도형의 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
lineOpacity Double 선 도형의 불투명도를 설정합니다. 0과 1 사이의 double 값이어야 합니다.
다각형 도형
polygonStrokeWidth Double 다각형의 획 너비를 설정합니다 (단위: 픽셀).
polygonStrokeType String 다각형의 선 유형을 설정합니다. ee.FeatureCollection.style와 동일한 유형 (실선, 점선, 점자)을 지원합니다. 아니요
polygonStrokeColor String 다각형 도형의 획 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
polygonStrokeOpacity Double 다각형 도형의 획 불투명도를 설정합니다. 0과 1 사이의 double여야 합니다.
polygonFillColor String 다각형 도형의 채우기 색상을 설정합니다. 16진수 값 또는 CSS3 색상여야 합니다.
polygonFillOpacity Double 다각형 도형의 채우기 불투명도를 설정합니다. 0과 1 사이의 double여야 합니다.