סקירה כללית על App Engine ו-Earth Engine

Google App Engine מאפשר לכם ליצור ולהפעיל אפליקציות מותאמות אישית בשרתים של Google. קל ליצור, לתחזק ולשנות את גודל האפליקציות של App Engine בהתאם לשינויים בנפח התנועה ובצרכים של אחסון הנתונים. פשוט מעלים את קוד המקור של האפליקציה והיא מוכנה לשימוש. אם אתם חדשים בפיתוח ל-App Engine, מומלץ לעיין במדריך לתחילת העבודה עם App Engine Python או Node.js לפני שתמשיכו.

אפשר להשתמש ב-Earth Engine וב-App Engine יחד כדי ליצור אפליקציות גיאוספציאליות שניתנות להרחבה. בדרך כלל, הקוד של App Engine כולל את ספריית הלקוח של Python ב-Earth Engine ושולח בקשות לשרת העורפי של Earth Engine באמצעות חשבון שירות. היתרון הוא שכל אחד יכול להשתמש באפליקציה בלי להיכנס לחשבון או להיות משתמש רשום ב-Earth Engine. חשוב לציין שמגבלות השימוש הרגילות של Earth Engine חלות על כל חשבון שירות.

גישה נוספת לפיתוח היא שימוש ב אימות בצד הלקוח במקום בחשבון שירות. בגישה הזו, המבקרים באפליקציה צריכים להירשם ל-Earth Engine ולהיכנס לחשבון. היתרון בגישה הזו הוא שהבקשות ל-Earth Engine מתבצעות באמצעות פרטי הכניסה של משתמש הקצה, ולכן הסיכוי שתגיעו למגבלות השימוש נמוך יותר. האתגר הוא שהמשתמשים צריכים להירשם ל-Earth Engine ולהיכנס לחשבון לפני שהם יכולים להשתמש באפליקציה.

ב-GitHub, בספריית ההדגמות של Earth Engine App Engine, יש קבוצה של דוגמאות שימושיות ל-App Engine. בדף האפליקציות לדוגמה יש תיאור קצר של כל דוגמה. במסמך הזה מוסבר איך להגדיר ולפרוס את הדוגמאות או אפליקציות בהתאמה אישית שאתם יוצרים.

פריסת אפליקציות App Engine באמצעות Earth Engine

בהוראות הבאות מוסבר איך לפרוס את אפליקציות ההדגמה. ההוראות ל-Python מיועדות ל-Mac OS ול-Linux. אם אתם משתמשים ב-Python ב-Windows, נסו את הפעולות הבאות.

הפעלת Earth Engine API בפרויקט בענן ב-Google Cloud

יוצרים פרויקט ב-Google Cloud או בוחרים פרויקט קיים ומפעילים בו את Earth Engine API לפי ההוראות האלה.

הגדרת פרטי כניסה

חשבון שירות

אפשר להשתמש בחשבון שירות כדי לתת הרשאה לבקשות ל-Earth Engine בשם מי שמשתמש באפליקציה. קובץ config.py מכיל קוד אימות באמצעות כתובת האימייל של חשבון השירות וקובץ מפתח פרטי. כדי להגדיר אימות באמצעות חשבון שירות, פועלים לפי ההוראות האלה ליצירת חשבון השירות וקובץ המפתח הפרטי. נותנים לקובץ המפתח את השם .private-key.json ומעבירים אותו לספריית הפרויקט.

Python

אם עדיין לא עשיתם זאת, קודם מגדירים את Earth Engine Python API. בודקים את חשבון השירות לפי ההוראות האלה.

אם הבדיקה תצליח, צריך לעדכן את config.py (או קובץ מקביל בקוד המקור) עם כתובת האימייל בחשבון השירות. (הנתיב לקובץ המפתח לא אמור להשתנות כי הוא נמצא בספריית הפרויקט).

Node.js

מריצים את הפקודה npm install כדי להתקין את יחסי התלות של הפרויקט. ‫Earth Engine Node.js API וכל שאר התלויות יועתקו לתיקייה ./node_modules בספריית הפרויקט. אם ההתקנה נכשלת, בודקים שמותקנת גרסה עדכנית של Node.js. מבצעים אימות ומפעילים את הספרייה, ומחליפים את my-project במזהה הפרויקט ב-Google Cloud:

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize(null, null, null, null, null, 'my-project');

מזהה לקוח ב-OAuth 2.0

אם רוצים שהמשתמשים יאומתו בתור עצמם (במקום להשתמש בחשבון שירות), צריך להגדיר מזהה לקוח OAuth מהפרויקט ב-Cloud. כדי לעשות זאת:

  1. מגדירים מזהה לקוח לפי ההוראות האלה.
  2. מעדכנים את הקובץ static/script.js (או קובץ מקביל בקוד המקור) כדי להשתמש במזהה הלקוח.
  3. מוודאים שהקובץ ee_api_js.js זמין בספרייה /static/ (או בספרייה מקבילה). אפשר להוריד אותו ישירות מ-GitHub, להתקין אותו מ-npm, או, אם כבר שיבטתם את כל מאגר EE API, להעתיק אותו מ-earthengine-api/javascript/build במערכת הקבצים המקומית.

הגדרת סביבת הפיתוח המקומית

Python

פועלים לפי ההוראות בכל ספריית דוגמה ב-GitHub כדי להוריד ולבנות את הפרויקט. אם יש קובץ build.sh, מריצים אותו מתיקיית השורש של האפליקציה באמצעות הפקודה:

./build.sh

סקריפט ההגדרה יוריד תלותיות ויתקין כלי שורת פקודה של Google, אם הם עדיין לא קיימים במערכת. Earth Engine API בשפת Python והתלותיות שלו יועתקו לתיקייה ./lib בספריית הפרויקט.

מריצים את הפקודה הבאה כדי לוודא שכלי שורת הפקודה של App Engine זמינים:

dev_appserver.py

אם הפקודה לא נמצאה, נסו להוריד ולהתקין באופן ידני את Google App Engine SDK for Python. אם הפקודה זמינה, היא אמורה להיכשל עם השגיאה error: too few arguments.

Node.js

אין צורך בהגדרה.

הרצה באופן מקומי

אחרי שרושמים את חשבון השירות כדי לקבל גישה ל-Earth Engine, אפשר להשתמש בו לאימות (ראו config.py) כשבודקים את הדוגמאות. מומלץ קודם לנסות לבדוק את הדוגמאות באופן מקומי. לשם כך, עוברים לספריית הפרויקט ומריצים את הפקודה:

Python
dev_appserver.py .
Node.js
npm install
npm start

מפנים את הדפדפן אל http://localhost:8080 כדי לראות את האפליקציה פועלת בשרת מקומי. כל שינוי שתבצעו (ותשמרו) יתעדכן אוטומטית כשתרעננו את הדף.