ข้อมูลเบื้องต้นเกี่ยวกับ JavaScript สําหรับ Earth Engine

บทแนะนำนี้ครอบคลุม JavaScript เพียงพอที่จะช่วยให้คุณเริ่มต้นเขียนสคริปต์ Earth Engine ได้ ดูบทแนะนำ JavaScript ที่ละเอียดมากขึ้นได้ที่แหล่งข้อมูลสำหรับนักพัฒนาซอฟต์แวร์ของ Mozilla ดูข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรมพร้อมตัวอย่างใน JavaScript ได้ที่ Eloquent JavaScript ดูคำแนะนำเกี่ยวกับรูปแบบการเขียนโค้ด JavaScript ได้ที่คู่มือรูปแบบ JavaScript ของ Google ในบทแนะนำนี้ คุณจะเขียน JavaScript ในตัวแก้ไขโค้ดของ Earth Engine ก่อนเริ่มต้น ให้ใช้คู่มือตัวแก้ไขโค้ดเพื่อทำความคุ้นเคยกับสภาพแวดล้อมของตัวแก้ไขโค้ด

Hello World!

ได้เวลาเขียน JavaScript แรกสำหรับ Earth Engine แล้ว ในเบราว์เซอร์ Chrome ให้ไปที่ code.earthengine.google.com แล้วคัดลอกโค้ดต่อไปนี้ลงในตัวแก้ไขโค้ด

ตัวแก้ไขโค้ด (JavaScript)

print('Hello World!');

คลิกเรียกใช้และสังเกตว่า "Hello world!" พิมพ์อยู่ในแท็บคอนโซล บรรทัดด้านบนคือคำสั่ง JavaScript ใน JavaScript คำสั่งจะลงท้ายด้วยเครื่องหมายเซมิโคลอน โปรแกรม Earth Engine ประกอบด้วยชุดคำสั่งเช่นนี้ คุณป้องกันไม่ให้โค้ดทำงานได้โดยไม่ต้องลบโค้ดนั้นด้วยการใส่เครื่องหมายคอมเมนต์ วิธีหนึ่งในการทำเครื่องหมายโค้ดเป็นความคิดเห็นคือการใส่เครื่องหมายทับ 2 ตัว // ไว้หน้าโค้ดที่คุณไม่ต้องการเรียกใช้ เช่น

ตัวแก้ไขโค้ด (JavaScript)

// print('Hello World!');

แนวทางปฏิบัติแนะนำคือการใส่ความคิดเห็นจำนวนมากลงในโค้ดเพื่ออธิบายสิ่งที่คุณพยายามทำ นอกจากนี้ คุณควรลบโค้ดที่มีความคิดเห็นซึ่งไม่ได้ทำอะไรอีกต่อไปแล้วด้วย แนวทางปฏิบัติทั้ง 2 อย่างนี้จะช่วยให้อ่านโค้ดได้ง่ายขึ้น

ประเภทข้อมูล JavaScript พื้นฐาน

สตริง

การใช้ตัวแปรเพื่อจัดเก็บออบเจ็กต์และค่าพื้นฐานจะช่วยให้อ่านโค้ดได้ง่ายขึ้น เช่น ตัวแปรที่จัดเก็บออบเจ็กต์สตริงจะกำหนดโดยเครื่องหมายคำพูดเดี่ยว ' หรือเครื่องหมายคำพูดคู่ " (แต่อย่าใช้ผสมกัน) โดยแนะนำให้ใช้เครื่องหมายคำพูดเดี่ยว สร้างสตริงใหม่และจัดเก็บไว้ในตัวแปรที่ชื่อว่า greetString:

ตัวแก้ไขโค้ด (JavaScript)

// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);

Numbers

โปรดทราบว่าตัวแปรจะกำหนดด้วยคีย์เวิร์ด var ตัวแปรยังสามารถจัดเก็บตัวเลขได้ด้วย

ตัวแก้ไขโค้ด (JavaScript)

// Store a number in a variable.
var number = 42;
print('The answer is:', number);

ในตัวอย่างนี้ โปรดสังเกตว่าเมื่อ print() ได้รับอาร์กิวเมนต์ 2 รายการที่คั่นด้วยคอมมา ระบบจะพิมพ์อาร์กิวเมนต์แต่ละรายการในบรรทัดที่ต่างกัน

รายการ

กำหนดรายการด้วยวงเล็บเหลี่ยม [] รายการตัวเลข เช่น

ตัวแก้ไขโค้ด (JavaScript)

// Use square brackets [] to make a list.
var listOfNumbers = [0, 1, 1, 2, 3, 5];
print('List of numbers:', listOfNumbers);

นอกจากนี้ รายการยังจัดเก็บสตริงหรือออบเจ็กต์อื่นๆ ได้ด้วย เช่น

ตัวแก้ไขโค้ด (JavaScript)

// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);

วัตถุ

ออบเจ็กต์ใน JavaScript คือพจนานุกรมของคู่ key: value สร้างออบเจ็กต์ (หรือพจนานุกรม) โดยใช้วงเล็บปีกกา {} เช่น

ตัวแก้ไขโค้ด (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 จะระบุเอาต์พุตของฟังก์ชัน มีวิธีประกาศฟังก์ชันหลายวิธี แต่ในที่นี้เราจะใช้วิธีดังนี้

ตัวแก้ไขโค้ด (JavaScript)

var myFunction = function(parameter1, parameter2, parameter3) {
  statement;
  statement;
  statement;
  return statement;
};

มาดูแต่ละบรรทัดกัน บรรทัดแรกจะสร้างฟังก์ชันใหม่และกำหนดให้กับตัวแปร myFunction ตัวแปรนี้อาจตั้งชื่อเป็นอะไรก็ได้ ซึ่งจะกำหนดวิธีเรียกใช้ฟังก์ชันในภายหลัง คำในวงเล็บหลังชื่อฟังก์ชัน (เช่น parameter1, parameter2, parameter3) คือชื่อพารามิเตอร์และสามารถตั้งชื่อเป็นอะไรก็ได้เช่นกัน แต่แนวทางปฏิบัติแนะนำคือตั้งชื่อที่ไม่ซ้ำกันซึ่งแตกต่างจากโค้ดนอกฟังก์ชัน ไม่ว่าคุณจะตั้งชื่ออย่างไร ชื่อเหล่านี้คือชื่อที่ฟังก์ชันจะใช้เพื่ออ้างอิงค่าที่ส่งไปยังฟังก์ชันเมื่อมีการเรียกใช้ ค่าของพารามิเตอร์เมื่อส่งไปยังฟังก์ชันแล้วจะเรียกว่าอาร์กิวเมนต์ แม้ว่าฟังก์ชันจะใช้ตัวแปรที่ประกาศไว้นอกฟังก์ชัน (ตัวแปรส่วนกลาง) ได้ แต่อาร์กิวเมนต์ของฟังก์ชันจะมองไม่เห็นนอกฟังก์ชัน ฟังก์ชันสามารถใช้พารามิเตอร์ได้มากเท่าที่ต้องการ หรือไม่ใช้เลยก็ได้ ต่อไปนี้เป็นตัวอย่างง่ายๆ ของฟังก์ชันที่แสดงผลอาร์กิวเมนต์เท่านั้น

ตัวแก้ไขโค้ด (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 ในตัวอีกมากมาย สำรวจแท็บเอกสารของตัวแก้ไขโค้ดเพื่อดูข้อมูลเกี่ยวกับฟังก์ชันในตัวเหล่านี้ ต่อไปนี้เป็นตัวอย่างฟังก์ชัน Earth Engine ที่เข้าใจง่าย

ตัวแก้ไขโค้ด (JavaScript)

var aString = ee.Algorithms.String(42);

ในส่วนถัดไป ให้ดูข้อมูลเพิ่มเติมเกี่ยวกับออบเจ็กต์และเมธอดของ Earth Engine