Earth Engine के लिए JavaScript के बारे में जानकारी

इस ट्यूटोरियल में, Earth Engine स्क्रिप्ट लिखने के लिए ज़रूरी JavaScript के बारे में बताया गया है. JavaScript के बारे में ज़्यादा जानकारी देने वाले ट्यूटोरियल के लिए, Mozilla डेवलपर के ये संसाधन देखें. प्रोग्रामिंग के बारे में जानने के लिए, JavaScript में दिए गए उदाहरणों के साथ Eloquent JavaScript देखें. JavaScript कोडिंग स्टाइल के बारे में सुझाव पाने के लिए, Google की JavaScript स्टाइल गाइड देखें. इस ट्यूटोरियल में, आपको Earth Engine के कोड एडिटर में JavaScript लिखने का तरीका बताया जाएगा. शुरू करने से पहले, कोड एडिटर गाइड का इस्तेमाल करके, कोड एडिटर के एनवायरमेंट के बारे में जानें.

Hello World!

अब Earth Engine के लिए अपनी पहली JavaScript लिखने का समय आ गया है! Chrome ब्राउज़र में, code.earthengine.google.com पर जाएं. इसके बाद, कोड एडिटर में यह कोड कॉपी करें:

कोड एडिटर (JavaScript)

print('Hello World!');

चलाएं पर क्लिक करें और देखें कि 'Hello world!' को कंसोल टैब में प्रिंट किया गया है. ऊपर दी गई लाइन, JavaScript स्टेटमेंट है. JavaScript में, स्टेटमेंट के आखिर में सेमीकोलन होता है. Earth Engine प्रोग्राम, इस तरह के स्टेटमेंट के सेट से बने होते हैं. कोड को मिटाए बिना, उसे चलने से रोका जा सकता है. इसके लिए, कोड को टिप्पणी के तौर पर मार्क करें. कोड को कमेंट आउट करने का एक तरीका यह है कि जिस कोड को आपको नहीं चलाना है उसके आगे दो फ़ॉरवर्ड स्लैश // लगाएं. उदाहरण के लिए:

कोड एडिटर (JavaScript)

// print('Hello World!');

अपने कोड में ज़्यादा से ज़्यादा टिप्पणियां जोड़ें, ताकि यह बताया जा सके कि आपको क्या करना है. साथ ही, ऐसी टिप्पणियों वाले कोड को मिटा दें जो अब किसी काम का नहीं है. इन दोनों तरीकों से, कोड को आसानी से पढ़ा जा सकेगा.

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() को कॉमा से अलग किए गए दो आर्ग्युमेंट दिए जाते हैं, तो हर आर्ग्युमेंट को अलग लाइन में प्रिंट किया जाता है.

सूचियां

स्क्वेयर ब्रैकेट [] का इस्तेमाल करके सूचियां तय करें. नंबरों की सूची, जैसे कि:

कोड एडिटर (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 कीवर्ड का इस्तेमाल करके, फ़ंक्शन तय करें. फ़ंक्शन के नाम किसी अक्षर से शुरू होते हैं और उनके आखिर में पैरंटheses का एक जोड़ा होता है. फ़ंक्शन अक्सर पैरामीटर लेते हैं. ये पैरामीटर, फ़ंक्शन को बताते हैं कि क्या करना है. ये पैरामीटर, ब्रैकेट () के अंदर जाते हैं. फ़ंक्शन बनाने वाले स्टेटमेंट का सेट, कर्ली ब्रैकेट में रखा जाता है. 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 में कई फ़ंक्शन पहले से मौजूद हैं. इन बिल्ट-इन फ़ंक्शन के बारे में जानने के लिए, Code Editor के Docs टैब पर जाएं. यहां Earth Engine फ़ंक्शन का एक सामान्य उदाहरण दिया गया है:

कोड एडिटर (JavaScript)

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

अगले सेक्शन में, Earth Engine ऑब्जेक्ट और तरीकों के बारे में ज़्यादा जानें.