NPM Installation

The Earth Engine JavaScript API is distributed as an npm package that is hosted on GitHub . The following instructions give an overview of installing the Google Earth Engine JavaScript API. To use the Earth Engine JavaScript API you'll need to install the client library and its dependencies on your computer and then set up authentication credentials .

The JavaScript client library does not include all functionality of the Earth Engine Code Editor . Notably, user interface features such as buttons, panels, and charts are excluded.

Installing the client library

1. Set up Node.js and npm

npm is a package manager for JavaScript and Node.js. Verify that you have Node.js 6+ and npm 3+.

node --version
npm --version

If needed, install both using the official installer for your platform .

2. Install the Earth Engine client library

The client library can be installed from npm with the following command:

npm install --save @google/earthengine

Once installed, the client library is placed within the current project directory: node_modules/@google/earthengine/* . On future projects, install the client in the same way.

3. Use the client library in an application

Within your application code, require the Earth Engine API:

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

Updating the client library

Use npm to update the client library to the latest version. From the current project directory:
npm update @google/earthengine

Learn more about updating libraries with npm .

Uninstalling the client library

To uninstall using the npm package manager, run the following command:

npm uninstall --save @google/earthengine

This removes node_modules/@google/earthengine from the current project, but does not affect any projects in other directories on the same machine.

Create a Cloud Project and activate the Earth Engine API

Follow these instructions to create a Cloud project and enable the Earth Engine API.

Setting Up Authentication Credentials

Earth Engine APIs use the OAuth 2.0 protocol for authenticating browser-based clients. For server-side authentication in Node.js, service accounts are recommended. Web apps may use either approach, with pros and cons discussed below.

Client-side authentication with OAuth

With client-side authentication in a web browser, users of your application log in with their own Google accounts. These users must already be authorized to access Earth Engine, and must have permission to read the assets used by your application.

After creating an OAuth 2.0 Client ID , authenticate as shown below:

 // 
  
 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 
 ); 
 }); 

With server-side authentication, a private key is stored with your application, allowing it to access the Earth Engine API through a service account. Users of your application do not need their own access to Earth Engine, and are not required to log in.

In Node.js, only server-side authentication is provided by the client library.

After creating a new service account , use your JSON private key to authenticate:

 // 
  
 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 
 ); 
 }); 

Testing the installation

To test that authentication has been set up correctly, run the following script:

 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 
 ); 
 }); 

If everything is installed correctly, the metadata for an image should be printed.

Create a Mobile Website
View Site in Mobile | Classic
Share by: