ממשק ה-API של JavaScript ב-Earth Engine מופץ כחבילת npm שמתארחת ב-GitHub. ההוראות הבאות מספקות סקירה כללית של התקנת Google Earth Engine JavaScript API. כדי להשתמש ב-Earth Engine JavaScript API, צריך להתקין את ספריית הלקוח ואת יחסי התלות שלה במחשב, ואז להגדיר את פרטי הכניסה לאימות.
ספריית הלקוח של JavaScript לא כוללת את כל הפונקציות של Code Editor ב-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.
הגדרת פרטי הכניסה לאימות
ממשקי ה-API של Earth Engine משתמשים בפרוטוקול 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); });
אם הכל מותקן כמו שצריך, המטא-נתונים של התמונה אמורים להדפיס.
.