이미지 컬렉션은 Earth Engine 이미지 세트를 의미합니다. 예를 들어 모든 Landsat 8 이미지의 컬렉션은 ee.ImageCollection
입니다. 지금까지 사용한 SRTM 이미지와 마찬가지로 이미지 컬렉션에도 ID가 있습니다. 단일 이미지와 마찬가지로 코드 편집기에서 Earth Engine 데이터 카탈로그를 검색하고 데이터 세트의 세부정보 페이지를 확인하여 이미지 컬렉션의 ID를 찾을 수 있습니다. 예를 들어 'landsat 8 toa'를 검색하고 첫 번째 결과를 클릭합니다. 이 결과는
USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance 데이터 세트에 해당합니다.
가져오기 버튼을 사용하여 데이터 세트를 가져오고 l8
로 이름을 바꾸거나 ID를 이미지 컬렉션 생성자에 복사합니다.
코드 편집기 (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
이미지 컬렉션 필터링
이 컬렉션은 전 세계에서 수집된 모든 Landsat 8 장면을 나타냅니다. 알고리즘을 테스트할 단일 이미지 또는 이미지 하위 집합을 추출하는 것이 유용한 경우가 많습니다. 시간 또는 공간별로 수집을 제한하는 방법은 필터링하는 것입니다. 예를 들어 특정 위치를 포함하는 이미지로 컬렉션을 필터링하려면 먼저 도형 그리기 도구를 사용하여 점 (또는 선이나 다각형)으로 관심 영역을 정의합니다. 관심 영역으로 이동하고 지오메트리 가져오기에 마우스를 가져간 후 (이미 하나 이상의 지오메트리가 정의된 경우) +새 레이어를 클릭합니다 (가져오기가 없는 경우 다음 단계로 이동). 포인트 그리기 도구()를 가져와 관심 영역에 포인트를 만듭니다. 가져오기 이름을
point
로 지정합니다. 이제 l8
컬렉션을 필터링하여 점과 교차하는 이미지만 가져온 다음 두 번째 필터를 추가하여 컬렉션을 2015년에 획득한 이미지로만 제한합니다.
코드 편집기 (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
여기서 filterBounds()
및 filterDate()
은 이미지 컬렉션의 더 일반적인 filter()
메서드의 바로가기 메서드이며, ee.Filter()
을 인수로 사용합니다. 코드 편집기의 문서 탭을 살펴보고 이러한 메서드에 대해 자세히 알아보세요. filterBounds()
의 인수는 디지털화한 포인트이고 filterDate()
의 인수는 문자열로 표현된 두 날짜입니다.
필터링된 컬렉션을 print()
할 수 있습니다. 한 번에 5,000개 이상의 항목을 인쇄할 수 없으므로 l8
전체 컬렉션을 인쇄할 수는 없습니다. print()
메서드를 실행한 후 콘솔에서 인쇄된 컬렉션을 검사할 수 있습니다. 지퍼()를 사용하여
ImageCollection
를 펼친 다음 features
목록을 펼치면 이미지 목록이 표시되며 각 이미지를 펼쳐 검사할 수도 있습니다. 개별 이미지의 ID를 찾는 한 가지 방법입니다. 분석을 위해 개별 이미지를 가져오는 또 다른 프로그래매틱 방식은 일부 메타데이터 속성과 관련하여 가장 최근, 가장 오래된 또는 최적의 이미지를 가져오기 위해 컬렉션을 정렬하는 것입니다. 예를 들어 인쇄된 이미지 컬렉션의 이미지 객체를 검사하면 CLOUD_COVER
라는 메타데이터 속성이 표시될 수 있습니다. 이 속성을 사용하여 관심 지역에서 2015년에 구름이 가장 적은 이미지를 가져올 수 있습니다.
코드 편집기 (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
이제 이미지를 표시할 수 있습니다.
여담: RGB 이미지 표시
멀티밴드 이미지가 지도에 추가되면 Earth Engine은 이미지의 처음 세 개 밴드를 선택하고 데이터 유형에 따라 앞서 설명한 대로 늘려 기본적으로 빨간색, 녹색, 파란색으로 표시합니다. 일반적으로는 이렇게 하면 안 됩니다. 예를 들어 이전 예의 Landsat 이미지(scene
)를 지도에 추가하면 결과가 만족스럽지 않습니다.
코드 편집기 (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
먼저 지도가 확대/축소 비율 9에서 이미지의 중앙에 배치됩니다. 그러면 이미지가 visParams
매개변수에 대해 빈 객체 ({}
)와 함께 표시됩니다(자세한 내용은 Map.addLayer()
문서를 참고하세요). 따라서 이미지는 기본 시각화로 표시됩니다. 처음 세 개의 밴드는 각각 R, G, B에 매핑되고 밴드가 float
데이터 유형이므로 [0, 1] 로 늘어납니다. 즉, 연안 에어로졸 밴드 ('B1')는 빨간색으로 렌더링되고, 파란색 밴드 ('B2')는 녹색으로 렌더링되며, 녹색 밴드 ('B3')는 파란색으로 렌더링됩니다. 이미지를 트루 컬러 컴포지트로 렌더링하려면 Earth Engine에 Landsat 8 밴드 'B4', 'B3', 'B2'를 각각 R, G, B에 사용하도록 지시해야 합니다. visParams
객체의 bands
속성과 함께 사용할 밴드를 지정합니다. 이 참조에서 Landsat 대역에 대해 자세히 알아보세요.
일반적인 지구 표면 타겟의 반사율을 표시하는 데 적합한 min
및 max
값도 제공해야 합니다. 목록을 사용하여 각 대역의 다른 값을 지정할 수 있지만 여기서는 0.3
를 max
로 지정하고 min
매개변수의 기본값인 0을 사용하면 됩니다. 시각화 매개변수를 하나의 객체로 결합하고 표시합니다.
코드 편집기 (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
결과는 그림 5와 같이 표시됩니다. 이 코드는 향후 사용을 위해 시각화 매개변수의 객체를 변수에 할당합니다. 곧 알게 되겠지만 이 객체는 이미지 컬렉션을 시각화할 때 유용합니다.

다양한 밴드를 시각화해 보세요. 또 다른 인기 있는 조합은 'B5', 'B4', 'B3'이며, 이는 거짓 색상 합성이라고 합니다. 다른 흥미로운 거짓 색상 합성물은 여기에 설명되어 있습니다.
Earth Engine은 대규모 분석을 수행하도록 설계되었으므로 하나의 장면만으로 작업이 제한되지 않습니다. 이제 전체 컬렉션을 RGB 컴포지트 이미지로 표시할 차례입니다.
이미지 컬렉션 표시
지도에 이미지 컬렉션을 추가하는 것은 지도에 이미지를 추가하는 것과 비슷합니다. 예를 들어 l8
컬렉션의 2016년 이미지와 이전에 정의된 visParams
객체를 사용하면
코드 편집기 (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
이제 축소하면 Landsat 이미지가 수집된 연속 모자이크 (즉, 육지 위)를 볼 수 있습니다. 인스펙터 탭을 사용하여 이미지를 클릭하면 픽셀 섹션에 픽셀 값 목록 (또는 차트)이 표시되고 인스펙터의 객체 섹션에 이미지 객체 목록이 표시됩니다.
충분히 확대하면 모자이크에 구름이 표시되는 것을 알 수 있습니다. 지도에 ImageCollection
를 추가하면 최근 값 컴포지트가 표시됩니다. 즉, 가장 최근 픽셀만 표시됩니다 (컬렉션에서 mosaic()
를 호출하는 것과 같음). 따라서 서로 다른 시간에 획득한 경로 사이에 불연속이 표시될 수 있습니다. 이로 인해 많은 지역이 흐리게 표시될 수 있습니다. 다음 페이지에서 이미지가 합성되는 방식을 변경하여 성가신 구름을 없애는 방법을 알아보세요.