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

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

सभी को नमस्कार!

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

कोड एडिटर (JavaScript)

print('Hello World!');

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

कोड एडिटर (JavaScript)

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

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