इमेज कलेक्शन का मतलब, Earth Engine की इमेज के सेट से है. उदाहरण के लिए, Landsat 8 की सभी इमेज का कलेक्शन एक ee.ImageCollection
है. एसआरटीएम इमेज की तरह, इमेज कलेक्शन का भी एक आईडी होता है. सिंगल इमेज की तरह ही, इमेज कलेक्शन का आईडी भी खोजा जा सकता है. इसके लिए, Code Editor से Earth Engine डेटा कैटलॉग में खोजें और डेटासेट के ज़्यादा जानकारी वाले पेज पर जाएं. उदाहरण के लिए, 'लैंडसैट 8 टीओए' खोजें और पहले नतीजे पर क्लिक करें. यह
USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance डेटासेट से मेल खाना चाहिए.
इंपोर्ट करें बटन का इस्तेमाल करके, उस डेटासेट को इंपोर्ट करें और उसका नाम बदलकर l8
करें. इसके अलावा, आईडी को इमेज कलेक्शन कंस्ट्रक्टर में कॉपी करें:
कोड एडिटर (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
इमेज कलेक्शन को फ़िल्टर करना
ध्यान दें कि इस कलेक्शन में, Landsat 8 से ली गई हर इमेज शामिल है. ये इमेज, दुनिया भर से इकट्ठा की गई हैं. अक्सर, एल्गोरिदम की जांच करने के लिए, किसी एक इमेज या इमेज के सबसेट को एक्सट्रैक्ट करना फ़ायदेमंद होता है. समय या जगह के हिसाब से डेटा कलेक्शन को सीमित करने के लिए, उसे फ़िल्टर करें. उदाहरण के लिए, अगर आपको किसी खास जगह की इमेज के हिसाब से कलेक्शन को फ़िल्टर करना है, तो सबसे पहले ज्यामिति बनाने वाले टूल का इस्तेमाल करके, पॉइंट (या लाइन या पॉलीगॉन) की मदद से अपनी पसंद की जगह तय करें. अपनी पसंद के इलाके पर पैन करें. अगर आपने पहले से एक या उससे ज़्यादा ज्यामिति तय की हैं, तो ज्यामिति इंपोर्ट पर कर्सर घुमाएं. अगर आपने कोई ज्यामिति इंपोर्ट नहीं की है, तो +नई लेयर पर क्लिक करें. अगर आपने कोई ज्यामिति इंपोर्ट नहीं की है, तो अगले चरण पर जाएं. पॉइंट बनाने वाला टूल () चुनें और अपनी पसंद की जगह पर पॉइंट बनाएं. इंपोर्ट
point
को नाम दें. अब l8
कलेक्शन को फ़िल्टर करके, सिर्फ़ वे इमेज पाएं जो पॉइंट से इंटरसेक्ट करती हैं. इसके बाद, दूसरा फ़िल्टर जोड़कर कलेक्शन को सिर्फ़ उन इमेज तक सीमित करें जो 2015 में ली गई थीं:
कोड एडिटर (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
यहां, filterBounds()
और filterDate()
, इमेज कलेक्शन पर filter()
तरीके के लिए शॉर्टकट तरीके हैं. यह ee.Filter()
को अपने तर्क के तौर पर लेता है. इन तरीकों के बारे में ज़्यादा जानने के लिए, कोड एडिटर के Docs टैब पर जाएं. filterBounds()
फ़ंक्शन का आर्ग्युमेंट, वह पॉइंट होता है जिसे आपने डिजिटाइज़ किया है. वहीं, filterDate()
फ़ंक्शन के आर्ग्युमेंट, दो तारीखें होती हैं. इन्हें स्ट्रिंग के तौर पर दिखाया जाता है.
ध्यान दें कि फ़िल्टर किए गए कलेक्शन को print()
किया जा सकता है. एक बार में 5, 000 से ज़्यादा आइटम प्रिंट नहीं किए जा सकते. इसलिए, उदाहरण के लिए, l8
का पूरा कलेक्शन प्रिंट नहीं किया जा सकता. print()
तरीके को लागू करने के बाद, कंसोल में प्रिंट किए गए कलेक्शन की जांच की जा सकती है. ध्यान दें कि zippy () का इस्तेमाल करके
ImageCollection
को बड़ा करने पर, आपको features
की सूची को बड़ा करने का विकल्प दिखेगा. इसे बड़ा करने पर, आपको इमेज की एक सूची दिखेगी. हर इमेज को भी बड़ा करके देखा जा सकता है. किसी इमेज का आईडी ढूंढने का यह एक तरीका है. विश्लेषण के लिए अलग-अलग इमेज पाने का एक और तरीका है. इसके लिए, कलेक्शन को प्रोग्राम के हिसाब से क्रम में लगाया जाता है. इससे, मेटाडेटा प्रॉपर्टी के हिसाब से सबसे नई, सबसे पुरानी या सबसे अच्छी इमेज मिलती है. उदाहरण के लिए, प्रिंट की गई इमेज के कलेक्शन में मौजूद इमेज ऑब्जेक्ट की जांच करने पर, आपको CLOUD_COVER
नाम की मेटाडेटा प्रॉपर्टी दिख सकती है. इस प्रॉपर्टी का इस्तेमाल करके, साल 2015 में अपने पसंदीदा इलाके की सबसे कम बादलों वाली इमेज पाई जा सकती है:
कोड एडिटर (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
अब इमेज दिखाने के लिए तैयार हैं!
विषय से हटकर जानकारी: आरजीबी इमेज दिखाना
जब किसी मैप में मल्टी-बैंड इमेज जोड़ी जाती है, तो Earth Engine इमेज के पहले तीन बैंड चुनता है. इसके बाद, उन्हें डिफ़ॉल्ट रूप से लाल, हरे, और नीले रंग में दिखाता है. साथ ही, उन्हें डेटा टाइप के हिसाब से स्ट्रेच करता है. इसके बारे में पहले बताया जा चुका है. आम तौर पर, ऐसा नहीं होता. उदाहरण के लिए, अगर आपने मैप में Landsat इमेज
(पिछले उदाहरण में scene
) जोड़ी है, तो आपको यह नतीजा मिलेगा:
कोड एडिटर (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
ध्यान दें कि सबसे पहले, मैप को ज़ूम स्केल 9 पर इमेज के बीच में रखा जाता है. इसके बाद, इमेज को visParams
पैरामीटर के लिए, खाली ऑब्जेक्ट ({}
) के साथ दिखाया जाता है. ज़्यादा जानकारी के लिए, Map.addLayer()
दस्तावेज़ देखें. इस वजह से, इमेज को डिफ़ॉल्ट विज़ुअलाइज़ेशन के साथ दिखाया जाता है: पहले तीन बैंड, R, G, B पर मैप होते हैं. साथ ही, इन्हें [0, 1] तक बढ़ाया जाता है, क्योंकि बैंड float
डेटा टाइप के होते हैं. इसका मतलब है कि
कोस्टल ऐरोसोल बैंड ('B1') को लाल रंग में, नीले बैंड ('B2') को हरे रंग में, और हरे बैंड ('B3') को नीले रंग में रेंडर किया जाता है. इमेज को ट्रू-कलर कंपोज़िट के तौर पर रेंडर करने के लिए, आपको Earth Engine को यह बताना होगा कि वह Landsat 8 के बैंड 'B4', 'B3', और 'B2' का इस्तेमाल R, G, और B के लिए करे. visParams
ऑब्जेक्ट की bands
प्रॉपर्टी के साथ इस्तेमाल किए जाने वाले बैंड के बारे में बताएं. Landsat बैंड के बारे में ज़्यादा जानने के लिए, यह रेफ़रंस देखें.
आपको min
और max
की ऐसी वैल्यू भी देनी होंगी जो पृथ्वी की सतह पर मौजूद सामान्य चीज़ों से मिलने वाले रिफ़्लेक्टेंस को दिखाने के लिए सही हों. हालांकि, हर बैंड के लिए अलग-अलग वैल्यू तय करने के लिए सूचियों का इस्तेमाल किया जा सकता है. हालांकि, यहां 0.3
को max
के तौर पर तय करना और min
पैरामीटर के लिए डिफ़ॉल्ट वैल्यू के तौर पर शून्य का इस्तेमाल करना काफ़ी है. विज़ुअलाइज़ेशन पैरामीटर को एक ऑब्जेक्ट में जोड़ना और इन्हें दिखाना:
कोड एडिटर (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
नतीजा, इमेज 5 में दिखाए गए नतीजे जैसा दिखना चाहिए. ध्यान दें कि यह कोड, विज़ुअलाइज़ेशन पैरामीटर के ऑब्जेक्ट को एक वैरिएबल असाइन करता है, ताकि इसे आने वाले समय में इस्तेमाल किया जा सके. आपको जल्द ही पता चलेगा कि इमेज कलेक्शन को विज़ुअलाइज़ करने के लिए, यह ऑब्जेक्ट काम का है!

अलग-अलग बैंड को विज़ुअलाइज़ करके देखें. एक और पसंदीदा कॉम्बिनेशन 'B5', 'B4', और 'B3' है. इसे फ़ॉल्स-कलर कंपोज़िट कहा जाता है. कुछ अन्य दिलचस्प फ़ॉल्स-कलर कंपोज़िट के बारे में यहां बताया गया है.
Earth Engine को बड़े पैमाने पर विश्लेषण करने के लिए डिज़ाइन किया गया है. इसलिए, आपके पास सिर्फ़ एक सीन के साथ काम करने का विकल्प नहीं है. अब पूरे कलेक्शन को आरजीबी कंपोज़िट के तौर पर दिखाने का समय है!
इमेज कलेक्शन दिखाना
मैप में इमेज कलेक्शन जोड़ने का तरीका, मैप में इमेज जोड़ने के तरीके जैसा ही होता है. उदाहरण के लिए, l8
कलेक्शन में 2016 की इमेज और पहले से तय किए गए visParams
ऑब्जेक्ट का इस्तेमाल करके,
कोड एडिटर (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
ध्यान दें कि अब ज़ूम आउट करके, Landsat इमेजरी का लगातार मोज़ेक देखा जा सकता है. यह मोज़ेक, ज़मीन पर मौजूद Landsat इमेजरी को इकट्ठा करके बनाया जाता है. यह भी ध्यान दें कि Inspector टैब का इस्तेमाल करने और इमेज पर क्लिक करने पर, आपको Pixels सेक्शन में पिक्सल वैल्यू की सूची (या चार्ट) दिखेगी. साथ ही, आपको Inspector के Objects सेक्शन में इमेज ऑब्जेक्ट की सूची दिखेगी.
ज़्यादा ज़ूम आउट करने पर, आपको मोज़ेक में कुछ बादल दिख सकते हैं. मैप में ImageCollection
जोड़ने पर, यह हाल ही की वैल्यू वाले कंपोज़िट के तौर पर दिखता है. इसका मतलब है कि सिर्फ़ हाल ही के पिक्सल दिखते हैं. जैसे, कलेक्शन पर mosaic()
को कॉल करना. इसलिए, आपको अलग-अलग समय पर हासिल किए गए पाथ के बीच अंतर दिख सकता है. इस वजह से, कई इलाकों में बादल छाए हुए दिख सकते हैं. अगले पेज पर, इमेज को कंपोज़ करने का तरीका बदलें, ताकि उन परेशान करने वाले बादलों से छुटकारा पाया जा सके!