התקנת NPM

ממשק ה-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);
});

אם הכל מותקן כמו שצריך, המטא-נתונים של התמונה אמורים להדפיס.

.