NPM 安装

Earth Engine JavaScript API 以 npm 软件包的形式分发,该软件包托管在 GitHub 上。以下说明简要介绍了如何安装 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 中的服务器端身份验证,建议使用服务账号。Web 应用可以使用任一方法,下面介绍了两种方法的优缺点。

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

如果一切都已正确安装,系统应输出图片的元数据。