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 साइट पर जाएं और नई फ़ाइल बनाएं.
- फ़ाइल > नया > नया Python 3 नोटबुक
- अगर आपने पहले कभी Colab का इस्तेमाल किया है, तो ऊपर दी गई लिंक की गई साइट पर जाकर, आपको एक फ़ाइल एक्सप्लोरर दिखेगा. यहां विंडो के सबसे नीचे मौजूद ड्रॉपडाउन मेन्यू का इस्तेमाल करके, नई फ़ाइल बनाई जा सकती है.
मौजूदा नोटबुक
मौजूदा नोटबुक फ़ाइलों (.ipynb) को Google Drive और Colab इंटरफ़ेस से खोला जा सकता है.
Google Drive
Colab notebook, Google Drive के अलग-अलग फ़ोल्डर में मौजूद हो सकते हैं. यह इस बात पर निर्भर करता है कि notebook फ़ाइलें कहां बनाई गई थीं. Google Drive में बनाई गई नोटबुक, उस फ़ोल्डर में मौजूद रहेंगी जिसमें उन्हें बनाया गया था या जिस फ़ोल्डर में उन्हें ले जाया गया था. Colab इंटरफ़ेस से बनाई गई नोटबुक, डिफ़ॉल्ट रूप से 'Colab Notebooks' नाम के फ़ोल्डर में सेव होंगी. यह फ़ोल्डर, Colab का इस्तेमाल शुरू करने पर आपके Google Drive के 'मेरा Drive' फ़ोल्डर में अपने-आप जुड़ जाता है.
Colab फ़ाइलों की पहचान, पीले रंग के 'CO' सिंबल और '.ipynb' फ़ाइल एक्सटेंशन से की जा सकती है. फ़ाइलों को खोलने के लिए, उन पर दो बार क्लिक करें. इसके बाद, खुलने वाले पेज पर सबसे ऊपर मौजूद बटन से इससे खोलें > Colaboratory चुनें. इसके अलावा, किसी फ़ाइल पर राइट क्लिक करके, फ़ाइल के संदर्भ मेन्यू से इससे खोलें > Colaboratory चुनें.
Colab का इंटरफ़ेस
Colab इंटरफ़ेस से notebook खोलने पर, आपको Google Drive, GitHub, और लोकल हार्डवेयर में मौजूद फ़ाइलों को ऐक्सेस करने की सुविधा मिलती है. पहली बार इस्तेमाल करने के बाद, Colab इंटरफ़ेस पर जाने पर, फ़ाइल एक्सप्लोरर वाला मॉडल दिखेगा. फ़ाइल एक्सप्लोरर में सबसे ऊपर मौजूद टैब से कोई सोर्स चुनें और उस .ipynb फ़ाइल पर जाएं जिसे आपको खोलना है. फ़ाइल एक्सप्लोरर को Colab इंटरफ़ेस से भी ऐक्सेस किया जा सकता है. इसके लिए, फ़ाइल > नोटबुक खोलें को चुनें या Ctrl+O कीबोर्ड कॉम्बिनेशन का इस्तेमाल करें.
एपीआई इंपोर्ट करना और क्रेडेंशियल पाना
इस सेक्शन में, Earth Engine Python API को इंपोर्ट करने और ऐक्सेस की पुष्टि करने का तरीका बताया गया है. यह कॉन्टेंट, Colab notebook के तौर पर भी उपलब्ध है:
Earth Engine API, Google Colaboratory में डिफ़ॉल्ट रूप से शामिल होता है. इसलिए, इसे सिर्फ़ इंपोर्ट और पुष्टि करने की ज़रूरत होती है. आपको हर नए Colab सेशन के लिए, ये चरण पूरे करने होंगे. इसके अलावा, अगर आपने अपना Colab कर्नेल रीस्टार्ट किया है या कोई गतिविधि न होने की वजह से आपकी Colab वर्चुअल मशीन को रीसाइकल किया गया है, तो भी आपको ये चरण पूरे करने होंगे.
एपीआई इंपोर्ट करना
अपने सेशन में एपीआई इंपोर्ट करने के लिए, नीचे दी गई सेल को चलाएं.
import ee
पुष्टि करना और शुरू करना
Earth Engine सर्वर के ऐक्सेस की पुष्टि करने के लिए, ee.Authenticate
फ़ंक्शन चलाएं और इसे शुरू करने के लिए, 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()