Earth Engine Python API को Google Colaboratory नोटबुक में डिप्लॉय किया जा सकता है. Colab notebook, Jupyter notebook होती हैं. ये क्लाउड में चलती हैं और Google Drive के साथ इंटिग्रेट होती हैं. इसलिए, इन्हें सेट अप करना, ऐक्सेस करना, और शेयर करना आसान होता है. अगर आपको Google Colab या Jupyter notebook के बारे में जानकारी नहीं है, तो कृपया Colab की वेलकम साइट पर जाकर इसके बारे में जानें.
यहां दिए गए सेक्शन में, Google Colab में Earth Engine को डिप्लॉय करने के बारे में बताया गया है. साथ ही, तीसरे पक्ष के Python पैकेज का इस्तेमाल करके मैप और चार्ट को विज़ुअलाइज़ करने के बारे में बताया गया है.
Colab notebook खोलना
नोटबुक को Google Drive या Colaboratory इंटरफ़ेस से खोला जा सकता है.
नई नोटबुक
Google Drive
Google Drive खोलें और एक नई फ़ाइल बनाएं.
- नया > ज़्यादा > Colaboratory
- किसी फ़ोल्डर में राइट क्लिक करें. इसके बाद, कॉन्टेक्स्ट मेन्यू से ज़्यादा > Colaboratory चुनें.
Colab इंटरफ़ेस
Colab की साइट पर जाएं और नई फ़ाइल बनाएं.
- File > New > New Python 3 notebook
- अगर आपने पहले Colab का इस्तेमाल किया है, तो ऊपर लिंक की गई साइट पर जाने से आपको फ़ाइल एक्सप्लोरर मिलेगा. इसमें, विंडो में सबसे नीचे मौजूद ड्रॉपडाउन मेन्यू का इस्तेमाल करके, नई फ़ाइल शुरू की जा सकती है.
मौजूदा नोटबुक
मौजूदा नोटबुक फ़ाइलें (.ipynb), Google Drive और Colab इंटरफ़ेस से खोली जा सकती हैं.
Google Drive
Colab notebook, Google Drive के अलग-अलग फ़ोल्डर में मौजूद हो सकती हैं. यह इस बात पर निर्भर करता है कि notebook फ़ाइलें कहां बनाई गई थीं. Google Drive में बनाई गई नोटबुक, उसी फ़ोल्डर में मौजूद रहेंगी जिसमें उन्हें बनाया गया था या जिसमें उन्हें ट्रांसफ़र किया गया था. Colab इंटरफ़ेस से बनाई गई नोटबुक, डिफ़ॉल्ट रूप से 'Colab Notebooks' नाम के फ़ोल्डर में सेव होती हैं. यह फ़ोल्डर, Colab का इस्तेमाल शुरू करने पर, आपके Google Drive के 'My Drive' फ़ोल्डर में अपने-आप जुड़ जाता है.
Colab फ़ाइलों को पीले रंग के 'CO' सिंबल और '.ipynb' फ़ाइल एक्सटेंशन से पहचाना जा सकता है. फ़ाइलों को खोलने के लिए, उन पर दो बार क्लिक करें. इसके बाद, नतीजे वाले पेज में सबसे ऊपर मौजूद बटन से इससे खोलें > Colaboratory चुनें. इसके अलावा, किसी फ़ाइल पर राइट क्लिक करके, फ़ाइल के कॉन्टेक्स्ट मेन्यू से इससे खोलें > Colaboratory को भी चुना जा सकता है.
Colab इंटरफ़ेस
Colab इंटरफ़ेस से notebook खोलने पर, Google Drive, GitHub, और लोकल हार्डवेयर में मौजूद फ़ाइलें ऐक्सेस की जा सकती हैं. पहली बार इस्तेमाल करने के बाद, Colab इंटरफ़ेस पर जाने से फ़ाइल एक्सप्लोरर मॉडल दिखेगा. फ़ाइल एक्सप्लोरर में सबसे ऊपर मौजूद टैब से, कोई सोर्स चुनें. इसके बाद, उस .ipynb फ़ाइल पर जाएं जिसे आपको खोलना है. फ़ाइल एक्सप्लोरर को Colab इंटरफ़ेस से भी ऐक्सेस किया जा सकता है. इसके लिए, फ़ाइल > नोटबुक खोलें को चुनें या Ctrl+O कीबोर्ड कॉम्बिनेशन का इस्तेमाल करें.
एपीआई इंपोर्ट करना और क्रेडेंशियल पाना
इस सेक्शन में, Earth Engine Python API को इंपोर्ट करने और ऐक्सेस की पुष्टि करने का तरीका बताया गया है. यह कॉन्टेंट, Colab नोटबुक के तौर पर भी उपलब्ध है:
Earth Engine API, Google Colaboratory में डिफ़ॉल्ट रूप से शामिल होता है. इसलिए, इसे सिर्फ़ इंपोर्ट और पुष्टि करने की ज़रूरत होती है. ये चरण हर नए Colab सेशन के लिए पूरे किए जाने चाहिए. इसके अलावा, अगर आपने Colab कर्नल को रीस्टार्ट किया है या कोई गतिविधि न होने की वजह से Colab वर्चुअल मशीन को रीसाइकल किया गया है, तो भी आपको ये चरण पूरे करने होंगे.
एपीआई इंपोर्ट करना
अपने सेशन में एपीआई इंपोर्ट करने के लिए, इस सेल को चलाएं.
import ee
पुष्टि करना और शुरू करना
ee.Authenticate फ़ंक्शन चलाकर, Earth Engine सर्वर का ऐक्सेस पाएं. साथ ही, ee.Initialize फ़ंक्शन चलाकर इसे शुरू करें. एक कोड सेल जोड़ें, यहां दी गई लाइनें डालें, प्रोजेक्ट में बदलाव करें, और सेल चलाएं.
# Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project')
आपको अपने Earth Engine खाते का ऐक्सेस देने के लिए कहा जाएगा. इस चरण को पूरा करने के लिए, सेल पर दिए गए निर्देशों का पालन करें.
एपीआई की जांच करना
माउंट एवरेस्ट की ऊंचाई प्रिंट करके, एपीआई को टेस्ट करें. ध्यान दें कि एपीआई का इस्तेमाल करने से पहले, आपको इसे शुरू करना होगा. यहां दी गई Python स्क्रिप्ट को नई सेल में चलाएं.
# Print the elevation of Mount Everest. dem = ee.Image('USGS/SRTMGL1_003') xy = ee.Geometry.Point([86.9250, 27.9881]) elev = dem.sample(xy, 30).first().get('elevation').getInfo() print('Mount Everest elevation (m):', elev)
मैप विज़ुअलाइज़ेशन
ee.Image ऑब्जेक्ट को नोटबुक आउटपुट सेल में दिखाया जा सकता है. यहां दिए गए दो उदाहरणों में, स्टैटिक इमेज और इंटरैक्टिव मैप को दिखाने का तरीका बताया गया है.
स्टैटिक इमेज
IPython.display मॉड्यूल में Image फ़ंक्शन होता है. यह फ़ंक्शन, Earth Engine getThumbUrl फ़ंक्शन को कॉल करके जनरेट की गई इमेज के यूआरएल के नतीजे दिखा सकता है. इस स्क्रिप्ट से, ग्लोबल एलिवेशन मॉडल का थंबनेल दिखेगा.
# Import libraries. import ee from IPython.display import Image # Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project') # Import a DEM and display a thumbnail of it. dem = ee.Image('USGS/SRTMGL1_003') Image(url=dem.updateMask(dem.gt(0)) .getThumbUrl({'min': 0, 'max': 4000, 'dimensions': 512, 'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']}))
इंटरैक्टिव मैप
folium पैकेज का इस्तेमाल, इंटरैक्टिव Leaflet मैप पर ee.Image ऑब्जेक्ट दिखाने के लिए किया जा सकता है. Folium में, Earth Engine से टाइलें मैनेज करने का कोई डिफ़ॉल्ट तरीका नहीं है. इसलिए, इस्तेमाल करने से पहले folium.Map मॉड्यूल में एक तरीका तय करके जोड़ना होगा.
नीचे दी गई स्क्रिप्ट में, Earth Engine टाइलें मैनेज करने का तरीका बताया गया है. साथ ही, इसका इस्तेमाल करके Leaflet मैप पर ऊंचाई का मॉडल दिखाने का तरीका बताया गया है.
# Import libraries. import ee import folium # Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project') # Define a method for displaying Earth Engine image tiles to folium map. def add_ee_layer(self, ee_image_object, vis_params, name): map_id_dict = ee.Image(ee_image_object).getMapId(vis_params) folium.raster_layers.TileLayer( tiles = map_id_dict['tile_fetcher'].url_format, attr = "Map Data © Google Earth Engine", name = name, overlay = True, control = True ).add_to(self) # Add EE drawing method to folium. folium.Map.add_ee_layer = add_ee_layer # Fetch an elevation model. dem = ee.Image('USGS/SRTMGL1_003') # Set visualization parameters. vis_params = { 'min': 0, 'max': 4000, 'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']} # Create a folium map object. my_map = folium.Map(location=[20, 0], zoom_start=3) # Add the elevation model to the map object. my_map.add_ee_layer(dem.updateMask(dem.gt(0)), vis_params, 'DEM') # Add a layer control panel to the map. my_map.add_child(folium.LayerControl()) # Display the map. display(my_map)
चार्ट विज़ुअलाइज़ेशन
Earth Engine के कुछ फ़ंक्शन, टेबल के फ़ॉर्मैट में डेटा जनरेट करते हैं. इस डेटा को matplotlib जैसे डेटा विज़ुअलाइज़ेशन पैकेज की मदद से प्लॉट किया जा सकता है. यहां दिए गए उदाहरण में, Earth Engine से मिले टेबल वाले डेटा को स्कैटर प्लॉट के तौर पर दिखाया गया है. ज़्यादा जानकारी के लिए, Colaboratory में चार्ट बनाना लेख पढ़ें.
# Import libraries. import ee import matplotlib.pyplot as plt # Trigger the authentication flow. ee.Authenticate() # Initialize the Earth Engine module. ee.Initialize(project='my-project') # Fetch a Landsat TOA image. img = ee.Image('LANDSAT/LT05/C02/T1_TOA/LT05_034033_20000913') # Select Red and NIR bands, scale them, and sample 500 points. samp_fc = img.select(['B3','B4']).sample(scale=30, numPixels=500) # Arrange the sample as a list of lists. samp_dict = samp_fc.reduceColumns(ee.Reducer.toList().repeat(2), ['B3', 'B4']) samp_list = ee.List(samp_dict.get('list')) # Save server-side ee.List as a client-side Python list. samp_data = samp_list.getInfo() # Display a scatter plot of Red-NIR sample pairs using matplotlib. plt.scatter(samp_data[0], samp_data[1], alpha=0.2) plt.xlabel('Red', fontsize=12) plt.ylabel('NIR', fontsize=12) plt.show()
Google Colab में चलाएं
GitHub पर सोर्स देखें