Cài đặt NPM

Earth Engine JavaScript API được phân phối dưới dạng một gói npm được lưu trữ trên GitHub. Các hướng dẫn sau đây cung cấp thông tin tổng quan về cách cài đặt Google Earth Engine JavaScript API. Để 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 này 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 chỉnh sửa mã Earth Engine. Đặc biệt, 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ẽ không được tính.

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. Kiểm tra để đảm bảo 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/*. Trong các dự án sau này, 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ã xử lý ứng dụng của bạn, hãy yêu cầu Earth Engine API:

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 một dự án trên Cloud và kích hoạt Earth Engine API

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

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 các ứng dụng dựa trên trình duyệt. Đối với hoạt động xác thực phía máy chủ trong Node.js, bạn nên dùng tài khoản dịch vụ. Các ứng dụng web có thể sử dụng một trong hai phương pháp này, với những ưu và nhược đ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 tính năng 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ư minh hoạ bên dưới (thay thế my-project bằng mã dự án trên đám mây Google của bạn):

// 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);
  }, null, 'my-project');
};

// 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 tính năng 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 Earth Engine API 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 tính năng xác thực phía máy chủ.

Sau khi tạo tài khoản dịch vụ mới, hãy dùng khoá riêng tư JSON để xác thực (thay thế my-project bằng mã dự án trên đám mây của bạn):

// 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);
  }, null, 'my-project');
};

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

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

Để kiểm tra xem bạn đã thiết lập quy trình xác thực đúng cách hay chưa, hãy chạy tập lệnh sau (thay thế my-project bằng mã dự án trên đám mây của Google của bạn):

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(null, null, null, null, null, 'my-project');

// 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 mọi thứ được cài đặt đúng cách, siêu dữ liệu cho một hình ảnh sẽ được in.