Earth Engine से इमेज को GeoTIFF या TFRecord फ़ॉर्मैट में एक्सपोर्ट किया जा सकता है. आउटपुट के ज़्यादा विकल्पों के लिए, कॉन्फ़िगरेशन पैरामीटर देखें.
सेटअप का उदाहरण
सबसे पहले, उस इमेज डेटा को तय करें जिसे एक्सपोर्ट करना है:
कोड एडिटर (JavaScript)
// Load a landsat image and select three bands. var landsat = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_123032_20140515') .select(['B4', 'B3', 'B2']); // Create a geometry representing an export region. var geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236]);
import ee import geemap.core as geemap
Colab (Python)
# Load a landsat image and select three bands. landsat = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_123032_20140515').select( ['B4', 'B3', 'B2'] ) # Create a geometry representing an export region. geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236])
इसके बाद, प्रोजेक्शन पैरामीटर तय करें. इनका इस्तेमाल, यहां दिए गए एक्सपोर्ट में किया जाएगा. हम निर्देशांक सिस्टम की जानकारी देने के लिए, crs
पैरामीटर का इस्तेमाल करते हैं. साथ ही, पिक्सल ग्रिड की सटीक जानकारी देने के लिए, crsTransform
पैरामीटर का इस्तेमाल करते हैं. crsTransform
पैरामीटर, पंक्ति के हिसाब से क्रम में, ऐफ़ाइन ट्रांसफ़ॉर्मेशन मैट्रिक के पैरामीटर की सूची है[xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
. इमेज के ऑरिजिन को xTranslation
और yTranslation
वैल्यू से तय किया जाता है. साथ ही, इमेज के पिक्सल साइज़ को xScale
और yScale
वैल्यू से तय किया जाता है. ऐफ़ाइन मैट्रिक्स के उदाहरण देखें.
कोड एडिटर (JavaScript)
// Retrieve the projection information from a band of the original image. // Call getInfo() on the projection to request a client-side object containing // the crs and transform information needed for the client-side Export function. var projection = landsat.select('B2').projection().getInfo();
import ee import geemap.core as geemap
Colab (Python)
# Retrieve the projection information from a band of the original image. # Call getInfo() on the projection to request a client-side object containing # the crs and transform information needed for the client-side Export function. projection = landsat.select('B2').projection().getInfo()
scale
सेट अप किया जा रहा है
शॉर्टकट के तौर पर, scale
पैरामीटर तय किया जा सकता है. ऐसा करने पर, Earth Engine आपके लिए crsTransform
पैरामीटर का हिसाब लगा देगा. हालांकि, किसी इमेज का स्केल सेट करने से, प्रोजेक्शन के ऑरिजिन के बारे में जानकारी नहीं मिलती. साथ ही, ऐसा हो सकता है कि एक ही पिक्सल साइज़ वाली किसी दूसरी इमेज के मुकाबले, इमेज में बदलाव हो जाए!
संभावित बदलाव की वजह यह है कि scale
पैरामीटर का इस्तेमाल, crsTransform
की xScale
और yScale
वैल्यू को पॉप्युलेट करने के लिए किया जाता है. हालांकि, xTranslation
और yTranslation
वैल्यू का हिसाब इस तरह से लगाया जाता है कि अगर उन्हें संबंधित xScale
और yScale
वैल्यू से भाग दिया जाए, तो बचे हुए हिस्से की वैल्यू शून्य हो. ये पैरामीटर, पिक्सल ग्रिड की जानकारी देते हैं. इसमें प्रोजेक्शन का ऑरिजिन, पिक्सल के कोने पर होता है. यह कॉन्वेंशन, डेटा उपलब्ध कराने वाली कुछ कंपनियों के इस्तेमाल किए जाने वाले ट्रांसलेशन पैरामीटर से अलग है. ये कंपनियां, प्रोजेक्शन के ऑरिजिन से ऑफ़सेट किए गए ग्रिड का इस्तेमाल करती हैं. उदाहरण के लिए, USGS की ओर से उपलब्ध कराई गई Landsat इमेज में, ट्रांसलेशन पैरामीटर का इस्तेमाल किया जाता है. ये पैरामीटर, प्रोजेक्शन के ऑरिजिन (30 मीटर बैंड के लिए 15 मीटर का ऑफ़सेट) से 1/2 पिक्सल ऑफ़सेट होते हैं. वहीं, ESA की ओर से उपलब्ध कराई गई Sentinel-2 इमेज में, ट्रांसलेशन पैरामीटर का इस्तेमाल किया जाता है. ये पैरामीटर, प्रोजेक्शन के ऑरिजिन के साथ अलाइन होते हैं. अगर किसी एक्सपोर्ट में दिया गया crsTransform
, मूल इमेज के crsTransform
से मेल नहीं खाता है, तो आउटपुट पिक्सल को फिर से सैंपल किया जाएगा. इसके लिए, डिफ़ॉल्ट रूप से नेियरेस्ट नेबर का इस्तेमाल किया जाएगा. इससे, नतीजे वाली इमेज, मूल इमेज के मुकाबले शिफ़्ट हो जाएगी.
खास तौर पर, अगर आपको एक्सपोर्ट की गई इमेज के पिक्सल को किसी खास इमेज से मैच करना है, तो ग्रिड को पूरी तरह कंट्रोल करने के लिए, crs
और crsTransform
पैरामीटर का इस्तेमाल करना न भूलें.
Drive में
किसी इमेज को अपने Drive खाते में एक्सपोर्ट करने के लिए, Export.image.toDrive()
का इस्तेमाल करें. उदाहरण के लिए, Landsat इमेज के कुछ हिस्सों को एक्सपोर्ट करने के लिए, एक्सपोर्ट करने के लिए कोई क्षेत्र तय करें. इसके बाद, Export.image.toDrive()
को कॉल करें:
कोड एडिटर (JavaScript)
// Export the image, specifying the CRS, transform, and region. Export.image.toDrive({ image: landsat, description: 'imageToDriveExample_transform', crs: projection.crs, crsTransform: projection.transform, region: geometry });
import ee import geemap.core as geemap
Colab (Python)
# Export the image, specifying the CRS, transform, and region. task = ee.batch.Export.image.toDrive( image=landsat, description='imageToDriveExample_transform', crs=projection['crs'], crsTransform=projection['transform'], region=geometry, ) task.start()
इस कोड को चलाने पर, कोड एडिटर के टास्क टैब में एक एक्सपोर्ट टास्क बन जाएगा. टास्क शुरू करने के लिए, उसके बगल में मौजूद चालू करें बटन पर क्लिक करें. कोड एडिटर सेक्शन में जाकर, टास्क मैनेजर के बारे में ज़्यादा जानें. इमेज, आपके Drive खाते में तय किए गए fileFormat
के साथ बन जाएगी.
को Cloud Storage में अपलोड किया जा सकता है
किसी इमेज को Google Cloud Storage बकेट में एक्सपोर्ट करने के लिए, Export.image.toCloudStorage()
का इस्तेमाल करें. पिछले उदाहरण में दी गई Landsat इमेज को Drive के बजाय Cloud Storage में एक्सपोर्ट करने के लिए, इनका इस्तेमाल करें:
कोड एडिटर (JavaScript)
// Export the image to Cloud Storage. Export.image.toCloudStorage({ image: landsat, description: 'imageToCloudExample', bucket: 'your-bucket-name', fileNamePrefix: 'exampleExport', crs: projection.crs, crsTransform: projection.transform, region: geometry });
import ee import geemap.core as geemap
Colab (Python)
# Export the image to Cloud Storage. task = ee.batch.Export.image.toCloudStorage( image=landsat, description='imageToCloudExample', bucket='your-bucket-name', fileNamePrefix='exampleExport', crs=projection['crs'], crsTransform=projection['transform'], region=geometry, ) task.start()
Drive में एक्सपोर्ट करने की तरह ही, Tasks टैब से एक्सपोर्ट शुरू करें. क्लाउड स्टोरेज बकेट की जगह की जानकारी से, परफ़ॉर्मेंस और स्टोरेज के शुल्क पर असर पड़ सकता है. ज़्यादा जानकारी के लिए, जगह से जुड़ी बातों पर अक्सर पूछे जाने वाले सवाल देखें.
ऐसेट में
Earth Engine के ऐसेट फ़ोल्डर में किसी ऐसेट में इमेज एक्सपोर्ट करने के लिए, Export.image.toAsset()
का इस्तेमाल करें. Earth Engine की एसेट मैनेज करने या यह देखने के लिए कि आपके स्टोरेज कोटे का कितना हिस्सा इस्तेमाल किया जा रहा है, एसेट मैनेजर का इस्तेमाल करें. यहां दिए गए उदाहरण में, एक ही बैंड के लिए अलग-अलग पिरामिड बनाने की नीतियों का इस्तेमाल करके, Landsat इमेज के हिस्सों को एक्सपोर्ट करने का तरीका बताया गया है. पिरामिड बनाने की नीति से पता चलता है कि Earth Engine, ऐसेट के कम रिज़ॉल्यूशन वाले वर्शन का हिसाब कैसे लगाता है. इस बारे में ज़्यादा जानें कि Earth Engine, स्केल दस्तावेज़ में कई रिज़ॉल्यूशन को कैसे मैनेज करता है.
कोड एडिटर (JavaScript)
// Get band 4 from the Landsat image, copy it. var band4 = landsat.select('B4').rename('b4_mean') .addBands(landsat.select('B4').rename('b4_sample')) .addBands(landsat.select('B4').rename('b4_max')); // Export the image to an Earth Engine asset. Export.image.toAsset({ image: band4, description: 'imageToAssetExample', assetId: 'exampleExport', crs: projection.crs, crsTransform: projection.transform, region: geometry, pyramidingPolicy: { 'b4_mean': 'mean', 'b4_sample': 'sample', 'b4_max': 'max' } });
import ee import geemap.core as geemap
Colab (Python)
# Get band 4 from the Landsat image, copy it. band_4 = ( landsat.select('B4') .rename('b4_mean') .addBands(landsat.select('B4').rename('b4_sample')) .addBands(landsat.select('B4').rename('b4_max')) ) # Export the image to an Earth Engine asset. task = ee.batch.Export.image.toAsset( image=band_4, description='imageToAssetExample', assetId='projects/your-project/assets/exampleExport', crs=projection['crs'], crsTransform=projection['transform'], region=geometry, pyramidingPolicy={ 'b4_mean': 'mean', 'b4_sample': 'sample', 'b4_max': 'max', }, ) task.start()
'.default'
बटन का इस्तेमाल करके, हर उस बैंड के लिए डिफ़ॉल्ट पिरामिडिंग नीति दी जा सकती है जिसके लिए साफ़ तौर पर जानकारी नहीं दी गई है. सिर्फ़ '.default'
कुंजी भी पास की जा सकती है. उदाहरण के लिए, सभी बैंड को डिफ़ॉल्ट रूप से 'सैंपल'
पाइरामिडिंग नीति पर सेट करने के लिए, {'.default': 'sample'}
का इस्तेमाल करें.
कॉन्फ़िगरेशन पैरामीटर
ध्यान दें कि Export.image
के लिए पास किए गए कॉन्फ़िगरेशन पैरामीटर की डिक्शनरी में, scale
(मीटर में) और एक्सपोर्ट क्षेत्र को ee.Geometry
के तौर पर शामिल किया गया है. एक्सपोर्ट की गई इमेज, तय किए गए स्केल पर पिक्सल के साथ तय किए गए इलाके को कवर करेगी. अगर साफ़ तौर पर नहीं बताया गया है, तो आउटपुट का सीआरएस, एक्सपोर्ट की जाने वाली इमेज के पहले बैंड से लिया जाएगा.
एक्सपोर्ट की गई इमेज के dimensions
, crs
, और/या crsTransform
की जानकारी भी दी जा सकती है. crs
और crsTransform
के बारे में ज़्यादा जानकारी के लिए, ग्लॉसरी देखें. उदाहरण के लिए, किसी दूसरे डेटा सोर्स के साथ सटीक रूप से अलाइन किए गए पिक्सल का ब्लॉक पाने के लिए, dimensions
, crs
, और crsTransform
की वैल्यू दें.
किसी इलाके को कवर करने वाले, पहले से तय किए गए साइज़ (उदाहरण के लिए, 256x256 थंबनेल इमेज) के पिक्सल का ब्लॉक पाने के लिए, dimensions
और region
की वैल्यू दें.
अगर डेस्टिनेशन toAsset()
नहीं है, तो fileFormat
पैरामीटर (डिफ़ॉल्ट रूप से 'GeoTIFF'
) की मदद से इमेज का आउटपुट फ़ॉर्मैट तय किया जा सकता है.
formatOptions
पैरामीटर
कॉन्फ़िगरेशन के अन्य विकल्प, formatOptions
पैरामीटर के साथ सेट किए जाते हैं. यह एक डिक्शनरी होनी चाहिए, जिसमें हर fileFormat
के लिए, फ़ॉर्मैट के अन्य विकल्पों को शामिल किया गया हो. इस बारे में नीचे बताया गया है.
GeoTIFF
क्लाउड के लिए ऑप्टिमाइज़ किया गया GeoTIFF
क्लाउड के लिए ऑप्टिमाइज़ की गई GeoTIFF एक्सपोर्ट करने के लिए, formatOptions
के लिए JavaScript लिटरल पास करें. इसमें cloudOptimized
बटन को सही पर सेट करें. पिछले उदाहरण को जारी रखते हुए:
कोड एडिटर (JavaScript)
// Export a cloud-optimized GeoTIFF. Export.image.toDrive({ image: landsat, description: 'imageToCOGeoTiffExample', crs: projection.crs, crsTransform: projection.transform, region: geometry, fileFormat: 'GeoTIFF', formatOptions: { cloudOptimized: true } });
import ee import geemap.core as geemap
Colab (Python)
# Export a cloud-optimized GeoTIFF. task = ee.batch.Export.image.toDrive( image=landsat, description='imageToCOGeoTiffExample', crs=projection['crs'], crsTransform=projection['transform'], region=geometry, fileFormat='GeoTIFF', formatOptions={'cloudOptimized': True}, ) task.start()
क्लाउड के लिए ऑप्टिमाइज़ की गई GeoTIFF फ़ाइलों को, Cloud Storage से Image
में फिर से लोड किया जा सकता है. ज़्यादा जानकारी के लिए, Image
की खास जानकारी वाले दस्तावेज़ देखें.
Nodata
formatOptions
पैरामीटर में noData
बटन का इस्तेमाल करके, GeoTIFF की nodata वैल्यू की जानकारी दें. उदाहरण के लिए:
कोड एडिटर (JavaScript)
// Set a nodata value and replace masked pixels around the image edge with it. var noDataVal = -9999; landsat = landsat.unmask(noDataVal); Export.image.toDrive({ image: landsat, description: 'imageNoDataExample', crs: projection.crs, scale: 2000, // large scale for minimal demo region: landsat.geometry(), // full image bounds fileFormat: 'GeoTIFF', formatOptions: { noData: noDataVal, } });
import ee import geemap.core as geemap
Colab (Python)
# Set a nodata value and replace masked pixels around the image edge with it. no_data_val = -9999 landsat = landsat.unmask(no_data_val) task = ee.batch.Export.image.toDrive( image=landsat, description='imageNoDataExample', crs=projection['crs'], scale=2000, # large scale for minimal demo region=landsat.geometry(), # full image bounds fileFormat='GeoTIFF', formatOptions={'noData': no_data_val}, ) task.start()
ध्यान दें कि nodata वैल्यू, इमेज के PixelType
के लिए मान्य सीमा के अंदर होनी चाहिए. PixelType
की जानकारी देखने के लिए, इमेज का मेटाडेटा प्रिंट करें और पहले बैंड की data_type
प्रॉपर्टी देखें. उदाहरण के लिए, इमेज के तरीके toShort()
या
toInt()
का इस्तेमाल करके, डेटा को किसी खास टाइप में कास्ट करके भी इमेज कोPixelType
सेट किया जा सकता है.
TFRecord
TFRecord डेटा फ़ॉर्मैट पेज देखें.
maxPixels
maxPixels
पैरामीटर का मकसद, अनजाने में बहुत बड़े एक्सपोर्ट बनने से रोकना है. अगर आपकी पसंद के मुताबिक आउटपुट इमेज के लिए डिफ़ॉल्ट वैल्यू बहुत कम है, तो maxPixels
को बढ़ाया जा सकता है. उदाहरण के लिए:
Export.image.toDrive({ image: landsat, description: 'maxPixelsExample', crs: projection.crs, crsTransform: projection.transform, region: geometry, maxPixels: 1e9 });
बड़ी फ़ाइलें एक्सपोर्ट करना
अगर आउटपुट इमेज बड़ी है, तो उसे एक से ज़्यादा फ़ाइलों के तौर पर एक्सपोर्ट किया जाएगा. अगर इमेज को GeoTIFF फ़ॉर्मैट में एक्सपोर्ट किया जा रहा है, तो इमेज को टाइल में बांटा जाता है. हर टाइल का नाम baseFilename-yMin-xMin
के फ़ॉर्मैट में होगा. इसमें xMin
और yMin
, एक्सपोर्ट की गई इमेज के पूरे बाउंडिंग बॉक्स में मौजूद हर टाइल के निर्देशांक होंगे.
अगर TFRecord में एक्सपोर्ट किया जा रहा है, तो N+1 फ़ाइलों के लिए, फ़ाइलों को -00000
,
-00001
,... -0000N
से जोड़ा जाएगा. अगर आपको फ़ाइलों पर अनुमान लगाना है और अनुमानित नतीजों को इमेज के तौर पर Earth Engine में फिर से अपलोड करना है, तो यह क्रम बनाए रखना ज़रूरी है. ज़्यादा जानकारी के लिए, इमेज को TFRecord फ़ाइलों के तौर पर अपलोड करना देखें.
इमेज को वैसा ही एक्सपोर्ट करना जैसा वे कोड एडिटर में दिखती हैं
Earth Engine में स्क्रीन पर रेंडर की गई इमेज को एक्सपोर्ट करने के लिए, विज़ुअलाइज़ेशन इमेज और कंपोज़िटिंग और mosaicking सेक्शन में दिखाए गए तरीके से विज़ुअलाइज़ेशन इमेज बनाएं. Code Editor, 'EPSG:3857'
सीआरएस का इस्तेमाल करता है. इसलिए, Code Editor के मैप में दिखने वाले प्रोजेक्शन में इमेज पाने के लिए, एक्सपोर्ट में 'EPSG:3857'
सीआरएस डालें. आउटपुट के रिज़ॉल्यूशन और कोऑर्डिनेट सिस्टम के बारे में जानकारी पाने के लिए, इमेज एक्सपोर्ट को कॉन्फ़िगर करने के बारे में सेक्शन देखें.