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); });
หากติดตั้งทุกอย่างอย่างถูกต้อง ระบบจะพิมพ์ข้อมูลเมตาของรูปภาพ