RESOLVE Ecoregions 2017

RESOLVE/ECOREGIONS/2017
데이터 세트 제공
2017-04-05T00:00:00Z–2017-04-05T00:00:00Z
데이터 세트 출처
Earth Engine 스니펫
FeatureCollection
ee.FeatureCollection("RESOLVE/ECOREGIONS/2017")
FeatureView
ui.Map.FeatureViewLayer("RESOLVE/ECOREGIONS/2017_FeatureView")
태그
biodiversity conservation ecoregions ecosystems global table
habitats
보호 조치
resolve

설명

2017년에 업데이트된 RESOLVE Ecoregions 데이터 세트는 살아있는 지구를 나타내는 846개의 육상 생태 지역을 보여줍니다. https://ecoregions2017.appspot.com/ 또는 Earth Engine에서 스타일이 지정된 지도를 확인하세요.

생태 지역은 가장 간단하게 정의하면 지역 범위의 생태계입니다. 특히 생태 지역은 식물뿐만 아니라 모든 분류군인 생물 다양성의 고유한 집합을 나타내며, 그 경계에는 생태적 과정을 유지하는 데 필요한 공간이 포함됩니다. 생태 지역은 정치적 경계가 아닌 자연적 경계를 활용하고, 생물군계 내에서 고유한 생물지리학적 집합과 생태적 서식지를 정의하며, 지구의 생물 다양성을 나타내는 데 도움이 되므로 특히 보존 계획을 위한 유용한 기본 지도입니다.

이 데이터 세트는 식물과 동물의 분포에 관한 과학인 생물지리학의 최근 발전을 기반으로 합니다. 원래 생태 지역 데이터 세트는 2001년 도입된 이후 널리 사용되어 왔으며, 생태학자의 자연에 대한 전 세계 기후 변화의 영향에 대한 최신 분석부터 전 세계 딱정벌레의 분포, 현대 보존 계획에 이르기까지 다양한 분야에서 사용되고 있습니다.

846개의 육상 생태 지역은 14개의 생물군계와 8개의 영역으로 그룹화됩니다. 이러한 생물군계 중 6개는 산림 생물군계이고 나머지 8개는 비산림 생물군계입니다. 산림 생물군계의 경우 생태 지역(Dinerstein 외, 2017) 및 보호 구역 (UNEP-WCMC 2016)의 지리적 경계는 2000~2015년의 전 세계 산림 변화 데이터 (Hansen 외 2013)와 교차하여 보호 구역의 서식지 비율과 보호 구역 외부의 나머지 서식지 비율을 계산했습니다. 마찬가지로 비산림 생태 지역과 보호 구역 (UNEP-WCMC 2016)의 경계는 2000년의 인위적 생물군계 데이터 (Anthromes v2)(Ellis 외, 2010)와 교차하여 보호 구역 내부와 외부의 나머지 서식지를 식별했습니다. 각 생태 지역에는 고유한 ID, 면적 (제곱도), NNH(Nature Needs Half) 카테고리 1~4가 있습니다. NNH 카테고리는 보호 구역의 서식지 비율과 보호 구역 외부의 나머지 서식지 비율을 기반으로 합니다.

  1. Half Protected: 총 생태 지역 면적의 50% 이상이 이미 보호되고 있습니다.
  2. Nature Could Reach Half: 총 생태 지역 면적의 50% 미만이 보호되고 있지만, 보호되지 않은 자연 서식지의 양이 시스템에 새로운 보존 구역이 추가되면 50% 이상을 보호할 수 있습니다.
  3. Nature Could Recover: 남아 있는 보호된 자연 서식지와 보호되지 않은 자연 서식지의 양이 50% 미만이지만 20% 이상입니다. 이 카테고리의 생태 지역은 Half Protected에 도달하려면 복원이 필요합니다.
  4. Nature Imperiled: 남아 있는 보호된 자연 서식지와 보호되지 않은 자연 서식지의 양이 20% 이하입니다. 단기적으로 Half Protected를 달성하는 것은 불가능하며, 남아 있는 고유 서식지 조각을 보존하는 데 노력을 집중해야 합니다.

업데이트된 Ecoregions 2017은 각 육상 생태 지역의 나머지 서식지에 관한 최신 (2018년 2월 기준) 데이터 세트입니다. 이 데이터 세트는 살아있는 육상 생물권을 보존하기 위해 지구의 절반을 보호하는 Nature Needs Half의 비전 목표를 달성하기 위한 진행 상황을 차트로 표시하기 위해 출시되었습니다.

참고 - 일부 생태 지역은 Rock &Ice와 같이 백만 개가 넘는 꼭짓점이 있는 매우 복잡한 다각형입니다. 이러한 생태 지역은 필요한 경우 Eco_ID와 같은 속성을 유지하면서 분할되었습니다. 분할된 모든 생태 지역을 보려면 이 스크립트를 실행하세요.

테이블 스키마

테이블 스키마

이름 유형 설명
BIOME_NAME STRING

생물군계 이름

BIOME_NUM DOUBLE

생물군계 번호

COLOR STRING

색상

COLOR_BIO STRING

생물군계 색상

COLOR_NNH STRING

NNH 색상

ECO_ID DOUBLE

생태 지역 고유 ID

ECO_NAME STRING

생태 지역 이름

LICENSE STRING

CC-BY 4.0

NNH DOUBLE

보호 구역의 서식지 비율과 보호 구역 외부의 나머지 서식지 비율을 기반으로 하는 NNH 카테고리 (1~4)

NNH_NAME STRING

Half Protected, Nature Could Reach Half, Nature Could Recover 또는 Nature Imperiled

OBJECTID DOUBLE

객체 ID

REALM STRING

렐름 이름

SHAPE_AREA DOUBLE

생태 지역 다각형의 면적(제곱도)

SHAPE_LENG DOUBLE

생태 지역 다각형의 길이(도)

이용약관

이용약관

CC-BY-4.0

인용

Earth Engine으로 탐색

코드 편집기 (JavaScript)

var ecoRegions = ee.FeatureCollection('RESOLVE/ECOREGIONS/2017');

// patch updated colors
var colorUpdates = [
{ECO_ID: 204, COLOR: '#B3493B'},
{ECO_ID: 245, COLOR: '#267400'},
{ECO_ID: 259, COLOR: '#004600'},
{ECO_ID: 286, COLOR: '#82F178'},
{ECO_ID: 316, COLOR: '#E600AA'},
{ECO_ID: 453, COLOR: '#5AA500'},
{ECO_ID: 317, COLOR: '#FDA87F'},
{ECO_ID: 763, COLOR: '#A93800'},
];

// loop over all other features and create a new style property for styling
// later on
var ecoRegions = ecoRegions.map(function(f) {
  var color = f.get('COLOR');
  return f.set({style: {color: color, width: 0}});
});

// make styled features for the regions we need to update colors for,
// then strip them from the main asset and merge in the new feature
for (var i=0; i < colorUpdates.length; i++) {
  colorUpdates[i].layer = ecoRegions
      .filterMetadata('ECO_ID','equals',colorUpdates[i].ECO_ID)
      .map(function(f) {
        return f.set({style: {color: colorUpdates[i].COLOR, width: 0}});
      });

  ecoRegions = ecoRegions
      .filterMetadata('ECO_ID','not_equals',colorUpdates[i].ECO_ID)
      .merge(colorUpdates[i].layer);
}

// use style property to color shapes
var imageRGB = ecoRegions.style({styleProperty: 'style'});

Map.setCenter(16, 49, 4);
Map.addLayer(imageRGB, {}, 'RESOLVE/ECOREGIONS/2017');

Python 설정

Python API 및 대화형 개발을 위한 geemap 사용에 관한 자세한 내용은 Python 환경 페이지를 참고하세요.

import ee
import geemap.core as geemap

Colab(Python)

eco_regions = ee.FeatureCollection('RESOLVE/ECOREGIONS/2017')

# patch updated colors
color_updates = [
    {'ECO_ID': 204, 'COLOR': '#B3493B'},
    {'ECO_ID': 245, 'COLOR': '#267400'},
    {'ECO_ID': 259, 'COLOR': '#004600'},
    {'ECO_ID': 286, 'COLOR': '#82F178'},
    {'ECO_ID': 316, 'COLOR': '#E600AA'},
    {'ECO_ID': 453, 'COLOR': '#5AA500'},
    {'ECO_ID': 317, 'COLOR': '#FDA87F'},
    {'ECO_ID': 763, 'COLOR': '#A93800'},
]

# loop over all other features and create a new style property for styling
# later on
eco_regions = eco_regions.map(
    lambda f: f.set({'style': {'color': f.get('COLOR'), 'width': 0}})
)

# make styled features for the regions we need to update colors for,
# then strip them from the main asset and merge in the new feature
for i in range(len(color_updates)):
  color_updates[i]['layer'] = eco_regions.filterMetadata(
      'ECO_ID', 'equals', color_updates[i]['ECO_ID']
  ).map(
      lambda f: f.set(
          {'style': {'color': color_updates[i]['COLOR'], 'width': 0}}
      )
  )

  eco_regions = eco_regions.filterMetadata(
      'ECO_ID', 'not_equals', color_updates[i]['ECO_ID']
  ).merge(color_updates[i]['layer'])

# use style property to color shapes
image_rgb = eco_regions.style(styleProperty='style')

m = geemap.Map()
m.set_center(16, 49, 4)
m.add_layer(image_rgb, {}, 'RESOLVE/ECOREGIONS/2017')
m
코드 편집기에서 열기

FeatureView로 시각화

FeatureViewFeatureCollection의 보기 전용 가속화된 표현입니다. 자세한 내용은 FeatureView 문서를 참고하세요.

코드 편집기 (JavaScript)

var fvLayer = ui.Map.FeatureViewLayer('RESOLVE/ECOREGIONS/2017_FeatureView');

var visParams = {
  opacity: 1,
  polygonFillColor: {
    property: 'NNH_NAME',
    categories: [
      ['Half Protected', 'blue'],
      ['Nature Could Reach Half Protected', 'green'],
      ['Nature Could Recover', 'yellow'],
      ['Nature Imperiled', 'orange']
    ],
    defaultValue: 'lightgrey'
  }
};

fvLayer.setVisParams(visParams);
fvLayer.setName('Ecoregions (Nature Needs Half category)');

Map.setCenter(16, 49, 4);
Map.add(fvLayer);

Python 설정

Python API 및 대화형 개발을 위한 geemap 사용에 관한 자세한 내용은 Python 환경 페이지를 참고하세요.

import ee
import geemap.core as geemap

Colab (Python)

eco_regions = ee.FeatureCollection('RESOLVE/ECOREGIONS/2017')

# patch updated colors
color_updates = [
    {'ECO_ID': 204, 'COLOR': '#B3493B'},
    {'ECO_ID': 245, 'COLOR': '#267400'},
    {'ECO_ID': 259, 'COLOR': '#004600'},
    {'ECO_ID': 286, 'COLOR': '#82F178'},
    {'ECO_ID': 316, 'COLOR': '#E600AA'},
    {'ECO_ID': 453, 'COLOR': '#5AA500'},
    {'ECO_ID': 317, 'COLOR': '#FDA87F'},
    {'ECO_ID': 763, 'COLOR': '#A93800'},
]

# loop over all other features and create a new style property for styling
# later on
eco_regions = eco_regions.map(
    lambda f: f.set({'style': {'color': f.get('COLOR'), 'width': 0}})
)

# make styled features for the regions we need to update colors for,
# then strip them from the main asset and merge in the new feature
for i in range(len(color_updates)):
  color_updates[i]['layer'] = eco_regions.filterMetadata(
      'ECO_ID', 'equals', color_updates[i]['ECO_ID']
  ).map(
      lambda f: f.set(
          {'style': {'color': color_updates[i]['COLOR'], 'width': 0}}
      )
  )

  eco_regions = eco_regions.filterMetadata(
      'ECO_ID', 'not_equals', color_updates[i]['ECO_ID']
  ).merge(color_updates[i]['layer'])

# use style property to color shapes
image_rgb = eco_regions.style(styleProperty='style')

m = geemap.Map()
m.set_center(16, 49, 4)
m.add_layer(image_rgb, {}, 'RESOLVE/ECOREGIONS/2017')
m
코드 편집기에서 열기