การติดตั้ง 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 รายการโดยใช้โปรแกรมติดตั้งอย่างเป็นทางการสำหรับแพลตฟอร์มของคุณ

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 ออกจากโปรเจ็กต์ปัจจุบัน แต่ไม่ส่งผลต่อโปรเจ็กต์ในไดเรกทอรีอื่นๆ ในเครื่องเดียวกัน

สร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์และเปิดใช้งาน Earth Engine API

ทําตามวิธีการเหล่านี้เพื่อสร้างโปรเจ็กต์ Cloud และเปิดใช้ Earth Engine API

การตั้งค่าข้อมูลเข้าสู่ระบบสำหรับการตรวจสอบสิทธิ์

Earth Engine API ใช้โปรโตคอล OAuth 2.0 เพื่อตรวจสอบสิทธิ์ไคลเอ็นต์บนเบราว์เซอร์ สําหรับการตรวจสอบสิทธิ์ฝั่งเซิร์ฟเวอร์ใน Node.js เราขอแนะนําให้ใช้บัญชีบริการ เว็บแอปอาจใช้แนวทางใดแนวทางหนึ่ง โดยเราจะกล่าวถึงข้อดีและข้อเสียด้านล่าง

การตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์ด้วย OAuth

เมื่อใช้การตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์ในเว็บเบราว์เซอร์ ผู้ใช้แอปพลิเคชันจะเข้าสู่ระบบด้วยบัญชี Google ของตนเอง ผู้ใช้เหล่านี้ต้องได้รับอนุญาตให้เข้าถึง Earth Engine อยู่แล้ว และมีสิทธิ์อ่านชิ้นงานที่แอปพลิเคชันของคุณใช้

หลังจากสร้างรหัสไคลเอ็นต์ OAuth 2.0 แล้ว ให้ตรวจสอบสิทธิ์ตามที่แสดงด้านล่าง

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

หากติดตั้งทุกอย่างอย่างถูกต้อง ระบบจะพิมพ์ข้อมูลเมตาของรูปภาพ