Cài đặt NPM

API JavaScript Earth Engine được phân phối dưới dạng một gói npm được lưu trữ trên GitHub. Hướng dẫn sau đây cung cấp thông tin tổng quan về cách cài đặt API JavaScript của Google Earth Engine. Để sử dụng Earth Engine JavaScript API, bạn cần cài đặt thư viện ứng dụng và các phần phụ thuộc của thư viện đó trên máy tính, sau đó thiết lập thông tin xác thực.

Thư viện ứng dụng JavaScript không bao gồm tất cả chức năng của Trình soạn thảo mã Earth Engine. Đáng chú ý là các tính năng giao diện người dùng như nút, bảng điều khiển và biểu đồ sẽ bị loại trừ.

Cài đặt thư viện ứng dụng

1. Thiết lập Node.js và npm

npm là một trình quản lý gói cho JavaScript và Node.js. Xác minh rằng bạn có Node.js 6 trở lên và npm 3 trở lên.

node --version
npm --version

Nếu cần, hãy cài đặt cả hai bằng trình cài đặt chính thức cho nền tảng của bạn.

2. Cài đặt thư viện ứng dụng Earth Engine

Bạn có thể cài đặt thư viện ứng dụng từ npm bằng lệnh sau:

npm install --save @google/earthengine

Sau khi cài đặt, thư viện ứng dụng sẽ được đặt trong thư mục dự án hiện tại: node_modules/@google/earthengine/*. Trên các dự án trong tương lai, hãy cài đặt ứng dụng theo cách tương tự.

3. Sử dụng thư viện ứng dụng trong một ứng dụng

Trong mã ứng dụng, hãy yêu cầu API Earth Engine:

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

Cập nhật thư viện ứng dụng

Sử dụng npm để cập nhật thư viện ứng dụng lên phiên bản mới nhất. Trong thư mục dự án hiện tại:
npm update @google/earthengine

Tìm hiểu thêm về cách cập nhật thư viện bằng npm.

Gỡ cài đặt thư viện ứng dụng

Để gỡ cài đặt bằng trình quản lý gói npm, hãy chạy lệnh sau:

npm uninstall --save @google/earthengine

Thao tác này sẽ xoá node_modules/@google/earthengine khỏi dự án hiện tại, nhưng không ảnh hưởng đến bất kỳ dự án nào trong các thư mục khác trên cùng một máy.

Tạo dự án trên Google Cloud và kích hoạt API Earth Engine

Làm theo hướng dẫn này để tạo dự án trên Google Cloud và bật API Earth Engine.

Thiết lập thông tin xác thực

API Earth Engine sử dụng giao thức OAuth 2.0 để xác thực ứng dụng khách dựa trên trình duyệt. Đối với việc xác thực phía máy chủ trong Node.js, bạn nên sử dụng tài khoản dịch vụ. Ứng dụng web có thể sử dụng một trong hai phương pháp này, với ưu và khuyết điểm được thảo luận bên dưới.

Xác thực phía máy khách bằng OAuth

Với phương thức xác thực phía máy khách trong trình duyệt web, người dùng ứng dụng của bạn sẽ đăng nhập bằng tài khoản Google của riêng họ. Những người dùng này phải được uỷ quyền truy cập vào Earth Engine và phải có quyền đọc các thành phần mà ứng dụng của bạn sử dụng.

Sau khi tạo mã ứng dụng khách OAuth 2.0, hãy xác thực như sau:

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

Xác thực phía máy chủ bằng tài khoản dịch vụ

Với phương thức xác thực phía máy chủ, khoá riêng tư sẽ được lưu trữ cùng với ứng dụng của bạn, cho phép ứng dụng truy cập vào API Earth Engine thông qua tài khoản dịch vụ. Người dùng ứng dụng của bạn không cần có quyền truy cập riêng vào Earth Engine và không bắt buộc phải đăng nhập.

Trong Node.js, thư viện ứng dụng chỉ cung cấp phương thức xác thực phía máy chủ.

Sau khi tạo tài khoản dịch vụ mới, hãy sử dụng khoá riêng tư JSON để xác thực:

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

Kiểm thử quá trình cài đặt

Để kiểm tra xem bạn đã thiết lập đúng quy trình xác thực hay chưa, hãy chạy tập lệnh sau:

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

Nếu bạn cài đặt đúng cách, siêu dữ liệu của hình ảnh sẽ được in.