NPM 설치

Earth Engine JavaScript API는 GitHub에 호스팅npm 패키지로 배포됩니다. 다음 안내에서는 Google Earth Engine JavaScript API 설치에 관한 개요를 제공합니다. Earth Engine JavaScript API를 사용하려면 컴퓨터에 클라이언트 라이브러리와 종속 항목을 설치한 다음 인증 사용자 인증 정보를 설정해야 합니다.

JavaScript 클라이언트 라이브러리에는 Earth Engine 코드 편집기의 일부 기능만 포함되어 있습니다. 특히 버튼, 패널, 차트와 같은 사용자 인터페이스 기능은 제외됩니다.

클라이언트 라이브러리 설치

1. Node.js 및 npm 설정

npm은 JavaScript 및 Node.js용 패키지 관리자입니다. Node.js 6 이상 및 npm 3 이상이 있는지 확인합니다.

node --version
npm --version

필요한 경우 플랫폼의 공식 설치 프로그램을 사용하여 둘 다 설치합니다.

2. Earth Engine 클라이언트 라이브러리 설치

다음 명령어를 사용하여 npm에서 클라이언트 라이브러리를 설치할 수 있습니다.

npm install --save @google/earthengine

설치되면 클라이언트 라이브러리는 현재 프로젝트 디렉터리인 node_modules/@google/earthengine/* 내에 배치됩니다. 향후 프로젝트에서는 동일한 방식으로 클라이언트를 설치합니다.

3. 애플리케이션에서 클라이언트 라이브러리 사용

애플리케이션 코드 내에서 Earth Engine API를 요구합니다.

var ee = require('@google/earthengine');

클라이언트 라이브러리 업데이트

npm을 사용하여 클라이언트 라이브러리를 최신 버전으로 업데이트합니다. 현재 프로젝트 디렉터리에서 다음을 실행합니다.
npm update @google/earthengine

npm을 사용하여 라이브러리 업데이트에 대해 자세히 알아보세요.

클라이언트 라이브러리 제거

npm 패키지 관리자를 사용하여 제거하려면 다음 명령어를 실행합니다.

npm uninstall --save @google/earthengine

이렇게 하면 현재 프로젝트에서 node_modules/@google/earthengine가 삭제되지만 동일한 머신의 다른 디렉터리에 있는 프로젝트에는 영향을 미치지 않습니다.

Cloud 프로젝트 만들기 및 Earth Engine API 활성화

이 안내에 따라 Cloud 프로젝트를 만들고 Earth Engine API를 사용 설정합니다.

인증 사용자 인증 정보 설정

Earth Engine API는 브라우저 기반 클라이언트를 인증하는 데 OAuth 2.0 프로토콜을 사용합니다. Node.js의 서버 측 인증에는 서비스 계정을 사용하는 것이 좋습니다. 웹 앱은 두 가지 접근 방식 중 하나를 사용할 수 있으며 장단점은 아래에 설명되어 있습니다.

OAuth를 사용한 클라이언트 측 인증

웹브라우저에서 클라이언트 측 인증을 사용하면 애플리케이션 사용자가 자신의 Google 계정으로 로그인합니다. 이러한 사용자는 이미 Earth Engine에 액세스할 권한이 있어야 하며 애플리케이션에서 사용하는 애셋을 읽을 권한이 있어야 합니다.

OAuth 2.0 클라이언트 ID를 만든 후 아래와 같이 인증합니다.

// Load client library.
var ee = require('@google/earthengine');

// Initialize client library and run analysis.
var initialize = function() {
  ee.initialize(null, null, function() {
    // ... run analysis ...
  }, function(e) {
    console.error('Initialization error: ' + e);
  });
};

// Authenticate using an OAuth pop-up.
ee.data.authenticateViaOauth(YOUR_CLIENT_ID, initialize, function(e) {
  console.error('Authentication error: ' + e);
}, null, function() {
  ee.data.authenticateViaPopup(initialize);
});

서비스 계정을 사용한 서버 측 인증

서버 측 인증을 사용하면 비공개 키가 애플리케이션에 저장되어 서비스 계정을 통해 Earth Engine API에 액세스할 수 있습니다. 애플리케이션 사용자는 Earth Engine에 대한 자체 액세스 권한이 필요하지 않으며 로그인할 필요가 없습니다.

Node.js에서는 클라이언트 라이브러리에서 서버 측 인증만 제공합니다.

새 서비스 계정을 만든 후 JSON 비공개 키를 사용하여 다음을 인증합니다.

// Require client library and private key.
var ee = require('@google/earthengine');
var privateKey = require('./.private-key.json');

// Initialize client library and run analysis.
var runAnalysis = function() {
  ee.initialize(null, null, function() {
    // ... run analysis ...
  }, function(e) {
    console.error('Initialization error: ' + e);
  });
};

// Authenticate using a service account.
ee.data.authenticateViaPrivateKey(privateKey, runAnalysis, function(e) {
  console.error('Authentication error: ' + e);
});

설치 테스트

인증이 올바르게 설정되었는지 테스트하려면 다음 스크립트를 실행합니다.

var ee = require('@google/earthengine');

// Authenticate using one (but not both) of the methods below.
ee.data.authenticateViaOauth(YOUR_CLIENT_ID);
ee.data.authenticateViaPrivateKey(YOUR_PRIVATE_KEY);

ee.initialize();

// Run an Earth Engine script.
var image = new ee.Image('srtm90_v4');
image.getMap({min: 0, max: 1000}, function(map) {
  console.log(map);
});

모든 항목이 올바르게 설치되면 이미지의 메타데이터가 출력됩니다.