이제 Earth Engine JavaScript를 작성할 준비가 되었으므로 다음 코드를 코드 편집기에 복사하여 시작합니다.
코드 편집기(JavaScript)
// Instantiate an image with the Image constructor. var image = ee.Image('CGIAR/SRTM90_V4'); // Zoom to a location. Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon. // Display the image on the map. Map.addLayer(image);
코드 편집기 상단에 있는 실행 버튼을 클릭하고 지도에 매우 회색 이미지가 표시되는지 확인합니다. 걱정하지 마세요. 곧 더 멋지게 만들 수 있습니다. 이 예시의 문법이 익숙하지 않은 경우 Earth Engine용 JavaScript 튜토리얼을 검토하세요.
이미지 생성자
이 예에서 첫 번째 새로운 항목은 이미지 생성자
ee.Image()입니다. 생성자에 제공되는 인수는 Earth Engine Data Catalog에 있는 이미지의 문자열 ID입니다. (이미지 생성자에 사용할 수 있는 전체 인수 목록을 보려면 코드 편집기 왼쪽에 있는 Docs 탭을 참고하세요. 문서 탭은 Earth Engine에서 수행할 수 있는 작업에 관한 최신 정보를 나타냅니다.)
이미지 ID를 찾으려면 코드 편집기 상단의 검색 도구를 사용하여 Earth Engine Data Catalog에서 검색합니다. 예를 들어 검색창에 'elevation'을 입력하면 래스터 목록이 반환됩니다. 'SRTM Digital Elevation Data Version 4' 항목을 클릭하여 해당 데이터 세트에 관한 자세한 정보를 확인합니다. 데이터 세트 설명의 오른쪽에는 이미지 ID 필드가 있습니다. 예시의 이미지 ID는 데이터 세트 설명에 표시된 이미지 ID에서 복사됩니다.
이미지 ID를 복사하여 붙여넣는 대신 데이터 세트 설명의 가져오기 버튼 또는 검색 결과 오른쪽에 있는 가져오기 링크를 사용할 수 있습니다. 가져오기 링크 또는 버튼을 클릭하면 스크립트 상단의 '가져오기'라는 특수 섹션에 변수가 자동으로 생성됩니다. 가져오기 섹션에서 변수 이름을 클릭하여 변수 이름을 바꿀 수 있습니다.
지도 구성
이 예시의 두 번째 새로운 부분은 Map.setCenter() 호출입니다. 코드 편집기의 지도 표시를 나타내는 Map 객체의 이 메서드는 지정된 경도, 위도 (십진수 도) 및 확대/축소 수준에서 지도를 중앙에 배치합니다. 여기서 1은 지도가 지구 표면 전체를 표시하도록 축소됩니다. 숫자가 클수록 확대됩니다. 코드 편집기 왼쪽의 문서 탭에서 지도 섹션을 확인하여 Map 객체의 모든 메서드를 살펴보세요.
지도에 레이어 추가
예시의 마지막 줄은 Map 객체의 addLayer() 메서드를 사용하여 코드 편집기의 지도 표시에 이미지를 추가하라는 의미입니다.
수고하셨습니다 첫 번째 Earth Engine 스크립트를 만들었습니다. 다음 섹션에서는 이미지를 더 보기 좋게 만드는 방법을 알아봅니다.
참고: Earth Engine의 이미지
Earth Engine의 이미지 (자세한 내용은 이 페이지 참고)는 하나 이상의 밴드로 구성됩니다. 이미지의 각 밴드에는 고유한 이름, 픽셀 값, 픽셀 해상도, 투영이 있습니다. 곧 알게 되겠지만 SRTM 이미지에는 'elevation'이라는 하나의 밴드가 있습니다.
Map.addLayer()를 사용하여 지도에 이미지를 추가할 때 Earth Engine은 이미지 밴드의 값을 디스플레이의 색상에 매핑하는 방법을 결정해야 합니다. 단일 대역 이미지가 지도에 추가되면 기본적으로 Earth Engine은 대역을 그레이 스케일로 표시하며, 최솟값은 검은색에, 최댓값은 흰색에 할당됩니다.
최솟값과 최댓값을 지정하지 않으면 Earth Engine에서 기본값을 사용합니다. 예를 들어 지도에 방금 추가한 이미지는 전체 데이터 범위로 확장된 그레이 스케일 이미지 또는 부호 있는 16비트 정수[-32768, 32767]로 표시됩니다. (float 밴드는 [0, 1] 로 확장되고 byte 밴드는 기본적으로 [0, 255] 로 확장됩니다.)
이미지를 출력하고 Console 탭에서 이미지 객체를 검사하여 이미지의 데이터 유형을 확인할 수 있습니다. 예를 들어 이전 코드 뒤에 다음을 붙여넣습니다.
코드 편집기(JavaScript)
print('SRTM image', image);
실행을 클릭하면 콘솔에 객체가 표시됩니다. 객체 속성을 조사하려면 객체 또는 속성 왼쪽에 있는 지피()를 클릭하여 펼칩니다. 이미지 객체, 'bands' 속성, 색인 '0'의 'elevation' 밴드, 'elevation' 밴드의 'data_type' 속성을 펼쳐
signed int16 데이터 유형인지 확인합니다.
레이어 시각화 맞춤설정
데이터가 늘어나는 방식을 변경하려면 Map.addLayer() 호출에 다른 매개변수를 제공하면 됩니다. 특히 두 번째 매개변수인 visParams를 사용하면 표시할 최솟값과 최댓값을 지정할 수 있습니다. 사용할 값을 찾으려면 검사기 탭을 활성화하고 지도에서 클릭하여 픽셀 값의 범위를 파악합니다. 또는 레이어 관리자를 사용하여 데이터를 대화형으로 확장한 다음 백분위수 또는 표준 편차 확장에 해당하는 최솟값과 최댓값을 관찰합니다. 이러한 실험을 통해 데이터를 [0, 3000]으로 확장해야 한다고 판단했다고 가정해 보겠습니다. 이 범위를 사용하여 이미지를 표시하려면 다음을 사용합니다.
코드 편집기(JavaScript)
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
visParams 매개변수는 min 및 max를 지정하는 속성이 있는 객체입니다. (JavaScript 튜토리얼 또는 이 외부 참조에서 JavaScript 객체에 대해 자세히 알아보세요.) Map.addLayer()의 세 번째 매개변수는 레이어 관리자에 표시되는 레이어의 이름입니다. 그림 1과 같은 결과가 표시됩니다. 오른쪽의 레이어 상자 위로 마우스를 가져가면 레이어 이름 변경 효과를 확인할 수 있습니다.
색상 팔레트를 사용하여 단일 밴드를 표시하려면 visParams 객체에 palette 속성을 추가합니다.
코드 편집기(JavaScript)
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');
결과는 그림 2와 같이 표시됩니다.
참고: 팔레트
팔레트를 사용하면 단일 대역 이미지의 색 구성표를 설정할 수 있습니다. 팔레트는 시각화 매개변수의 최댓값과 최솟값 (또는 이전에 설명한 대로 밴드 유형에 따른 기본값) 사이에서 선형 보간되는 쉼표로 구분된 색상 문자열 목록입니다. 예를 들어 최솟값보다 작거나 같은 픽셀은 목록의 첫 번째 색상으로 표시되고 최댓값보다 크거나 같은 픽셀은 목록의 마지막 색상으로 표시됩니다. 중간 색상은 중간 픽셀 값으로 선형 확장됩니다.
색상은 웹 표준 CSS 색상 값 스키마를 사용하여 정의됩니다 (자세한 내용은 이 외부 참조 참고). 색상은 이름으로 지정하거나 빨간색, 녹색, 파란색의 조합을 나타내는 16진수 문자열로 지정할 수 있습니다. 세 위치 중 가장 낮은 값은 00(십진수 0을 나타냄)이고 가장 높은 값은 FF (십진수 255를 나타냄)입니다. 문자열 '000000'은 검은색, 'FFFFFF'는 흰색, 'FF0000'은 빨간색, '00FF00'은 녹색, '0000FF'는 파란색을 나타냅니다. 자세한 내용은 색상 팔레트 섹션을 참고하세요. 이 섹션에 설명된 대로 스타일이 지정된 레이어 설명자를 사용하여 다른 스트레치를 사용할 수 있습니다.
이 튜토리얼의 뒷부분에서 멀티밴드 이미지를 표시하는 방법을 알아봅니다. 하지만 먼저 다음 페이지를 방문하여 이미지로 계산을 수행하는 방법을 알아보세요.