המדריך הזה כולל מספיק מידע על JavaScript כדי שתוכלו להתחיל לכתוב סקריפטים של Earth Engine. למדריכים מקיפים יותר בנושא JavaScript, עיינו במשאבים האלה למפתחים של Mozilla. בספר Eloquent JavaScript תוכלו למצוא מבוא לתכנות, עם דוגמאות ב-JavaScript. הצעות לסגנון כתיבת קוד ב-JavaScript מפורטות במדריך הסגנון של Google ל-JavaScript. במדריך הזה תכתבו קוד JavaScript בכלי לעריכת קוד של Earth Engine. לפני שמתחילים, כדאי להשתמש במדריך לעורך הקוד כדי להכיר את סביבת עורך הקוד.
שלום עולם!
הגיע הזמן לכתוב את קוד ה-JavaScript הראשון שלכם ל-Earth Engine. בדפדפן Chrome, נכנסים לכתובת code.earthengine.google.com ומעתיקים את הקוד הבא אל Code Editor:
Code Editor (JavaScript)
print('Hello World!');
לוחצים על Run ומוודאים שהטקסט "Hello world!" מודפס בכרטיסייה Console. השורה שלמעלה היא הצהרת JavaScript. ב-JavaScript, הצהרות מסתיימות בנקודה ופסיק. תוכניות ב-Earth Engine מורכבות
מסט של הצהרות כמו זו. כדי למנוע מקוד לפעול בלי למחוק אותו, אפשר להוסיף לו הערה. אחת הדרכים לסמן קוד כהערה היא להוסיף שני לוכסנים // לפני הקוד שלא רוצים להריץ. לדוגמה:
Code Editor (JavaScript)
// print('Hello World!');מומלץ להוסיף הרבה הערות בקוד כדי לתאר מה אתם מנסים לעשות. מומלץ גם למחוק קוד עם הערות שלא עושה שום דבר יותר. שתי השיטות האלה ישפרו את קריאוּת הקוד.
סוגי נתונים בסיסיים של JavaScript
מיתרים
שימוש במשתנים לאחסון אובייקטים ופרימיטיבים עוזר לקריאוּת של הקוד. לדוגמה, משתנה שמאחסן אובייקט מחרוזת מוגדר באמצעות מירכאות בודדות ' או כפולות " (אבל אל תערבבו ביניהן), ועדיף להשתמש במירכאות בודדות. יוצרים מחרוזת חדשה ושומרים אותה במשתנה שנקרא
greetString:
Code Editor (JavaScript)
// Use single (or double) quotes to make a string. var greetString = 'Ahoy there!'; // Use parentheses to pass arguments to functions. print(greetString);
מספרים
שימו לב שהמשתנים מוגדרים באמצעות מילת המפתח var. משתנים יכולים גם
לאחסן מספרים:
Code Editor (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
בדוגמה הזו, שימו לב שכאשר הפונקציה print() מקבלת שני ארגומנטים שמופרדים בפסיקים, כל ארגומנט מודפס בשורה אחרת.
רשימות
מגדירים רשימות באמצעות סוגריים מרובעים []. רשימה של מספרים, לדוגמה:
Code Editor (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
רשימות יכולות גם לאחסן מחרוזות או אובייקטים אחרים. לדוגמה:
Code Editor (JavaScript)
// Make a list of strings. var listOfStrings = ['a', 'b', 'c', 'd']; print('List of strings:', listOfStrings);
אובייקטים
אובייקטים ב-JavaScript הם מילונים של זוגות key: value. יוצרים אובייקט (או מילון) באמצעות סוגריים מסולסלים {}, לדוגמה:
Code Editor (JavaScript)
// Use curly brackets {} to make a dictionary of key:value pairs. var object = { foo: 'bar', baz: 13, stuff: ['this', 'that', 'the other thing'] }; print('Dictionary:', object); // Access dictionary items using square brackets. print('Print foo:', object['foo']); // Access dictionary items using dot notation. print('Print stuff:', object.stuff);
שימו לב שאפשר לקבל ערך ממילון על ידי ציון המפתח. בדוגמה הזו מוסבר איך לעשות את זה לאובייקטים ב-JavaScript. בהמשך נלמד איך לעשות את זה במילונים שנמצאים בשרת של Earth Engine.
פונקציות
פונקציות הן דרך נוספת לשפר את הקריאוּת ואת יכולת השימוש החוזר בקוד על ידי קיבוץ קבוצות של פעולות. מגדירים פונקציה באמצעות מילת המפתח function. שמות של פונקציות מתחילים באות ומסתיימים בזוג סוגריים. לרוב הפונקציות יש פרמטרים שאומרים לפונקציה מה לעשות. הפרמטרים האלה נמצאים בתוך הסוגריים (). קבוצת ההצהרות שמרכיבות את הפונקציה נמצאת בתוך סוגריים מסולסלים. מילת המפתח return מציינת מה הפלט של הפונקציה. יש כמה דרכים להצהיר על פונקציה, אבל כאן נשתמש במשהו כזה:
Code Editor (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
בואו נבחן את השורות אחת אחת. השורה הראשונה יוצרת פונקציה חדשה ומקצה אותה למשתנה myFunction. אפשר לתת למשתנה הזה כל שם שרוצים. הוא מגדיר איך לקרוא לפונקציה בהמשך. המונחים בסוגריים אחרי שם הפונקציה (כלומר parameter1, parameter2, parameter3) הם שמות הפרמטרים, וגם להם אפשר לתת כל שם שרוצים, אבל מומלץ לתת להם שמות ייחודיים ששונים מהקוד שמחוץ לפונקציה. לא משנה איך תקראו להם, אלה השמות שהפונקציה תשתמש בהם כדי להתייחס לערכים שמועברים לפונקציה כשהיא נקראת. הערך של פרמטר אחרי שהוא מועבר לפונקציה נקרא ארגומנט. למרות שפונקציות יכולות להשתמש במשתנים שהוגדרו מחוץ לפונקציה (משתנים גלובליים), הארגומנטים של הפונקציה לא גלויים מחוץ לפונקציה. פונקציות יכולות לקבל כמה פרמטרים שצריך, אפילו אפס. הנה דוגמה פשוטה לפונקציה שרק מחזירה את הארגומנט שלה:
Code Editor (JavaScript)
// The reflect function takes a single parameter: element. var reflect = function(element) { // Return the argument. return element; }; print('A good day to you!', reflect('Back at you!'));
זו דוגמה לפונקציה בהגדרת המשתמש. יש גם הרבה פונקציות מובנות של Earth Engine. כדי לקבל מידע נוסף על הפונקציות המובנות האלה, אפשר לעיין בכרטיסייה Docs בכלי לעריכת קוד. הנה דוגמה פשוטה מאוד לפונקציה של Earth Engine:
Code Editor (JavaScript)
var aString = ee.Algorithms.String(42);
בקטע הבא נסביר על אובייקטים ושיטות ב-Earth Engine.