Earth Engine'daki resimleri GeoTIFF veya TFRecord biçiminde dışa aktarabilirsiniz. Diğer çıkış seçenekleri için Yapılandırma Parametreleri bölümüne bakın.
Örnek Kurulum
Dışa aktarılacak resim verilerini tanımlayarak başlayın:
Kod Düzenleyici (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])
Ardından, aşağıdaki dışa aktarma işlemlerinde kullanılacak projeksiyon parametrelerini tanımlayın. Koordinat sistemini belirtmek için crs
parametresini, piksel ızgarasını tam olarak belirtmek için de crsTransform
parametresini kullanırız. crsTransform
parametresi, satır öncelikli sıradaki [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
bir afin dönüşüm matrisinden alınan parametrelerin listesidir. Bir resmin orijini xTranslation
ve yTranslation
değerleriyle, resmin piksel boyutu ise xScale
ve yScale
değerleriyle tanımlanır. Doğrusal olmayan matris örneklerine bakın.
Kod Düzenleyici (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
ayarı
Kısayol olarak bir scale
parametresi belirtebilirsiniz. Earth Engine, sizin için bir crsTransform
parametresi hesaplar. Ancak bir resmin ölçeğini ayarlamak, projeksiyonun orijinini belirtmez ve aynı piksel boyutuna sahip başka bir resme göre kaydırılmış bir resimle sonuçlanabilir.
Olası kaymanın nedeni, crsTransform
öğesinin xScale
ve yScale
değerlerini doldurmak için scale
parametresinin kullanılmasıdır. Ancak xTranslation
ve yTranslation
değerleri, ilgili xScale
ve yScale
değerlerine bölündüğünde kalan sıfır olacak şekilde hesaplanır. Bu parametreler, projeksiyonun orijininin bir pikselin köşesinde olduğu bir piksel ızgarası belirtir. Bu kural, bazı veri sağlayıcılar tarafından kullanılan ve projeksiyonun orijininden kaydırılmış ızgaralar kullanan çeviri parametrelerinden farklıdır. Örneğin, USGS tarafından sağlanan Landsat görüntüleri, projeksiyonun orijininden 1/2 piksel (30 metrelik bantlar için 15 metrelik ofset) ofset uygulanmış kaydırma parametreleri kullanırken ESA tarafından sağlanan Sentinel-2 görüntüleri, projeksiyonun orijiniyle hizalanmış kaydırma parametreleri kullanır. Bir dışa aktarma işleminde belirtilen crsTransform
, orijinal resmin crsTransform
ile eşleşmezse çıkış pikselleri yeniden örneklenir (varsayılan olarak en yakın komşu kullanılarak). Bu durumda, ortaya çıkan resim orijinal resme göre kaydırılır.
Özetlemek gerekirse, dışa aktarılan resmin piksellerini belirli bir resimle eşleştirmeniz gerekiyorsa ızgara üzerinde tam kontrol sahibi olmak için crs
ve crsTransform
parametrelerini kullandığınızdan emin olun.
Drive'a
Bir resmi Drive hesabınıza aktarmak için Export.image.toDrive()
simgesini kullanın. Örneğin, bir Landsat görüntüsünün bölümlerini dışa aktarmak için dışa aktarılacak bir bölge tanımlayın ve ardından Export.image.toDrive()
işlevini çağırın:
Kod Düzenleyici (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()
Bu kod çalıştırıldığında Kod Düzenleyici'nin Görevler sekmesinde bir dışa aktarma görevi oluşturulur. Görevi başlatmak için yanındaki Çalıştır düğmesini tıklayın. (Görev Yöneticisi hakkında daha fazla bilgiyi Kod Düzenleyici bölümünde bulabilirsiniz.) Resim, belirtilen fileFormat
ile Drive hesabınızda oluşturulur.
Cloud Storage'a aktarma
Bir resmi Google Cloud Storage paketine aktarmak için Export.image.toCloudStorage()
simgesini kullanın. Önceki örnekteki Landsat görüntüsünü Drive yerine Cloud Storage'a aktarmak için:
Kod Düzenleyici (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'a dışa aktarma işlemlerinde olduğu gibi, dışa aktarma işlemini Görevler sekmesinden başlatın. Cloud Storage paketi konumu, performansı ve depolama maliyetlerini etkileyebilir. Daha fazla bilgi için konumla ilgili dikkat edilmesi gereken noktalarla ilgili SSS girişine göz atın.
Öğe
Bir resmi Earth Engine öğeleriniz klasöründeki bir öğeye dışa aktarmak için Export.image.toAsset()
simgesini kullanın. Earth Engine öğelerinizi yönetmek veya depolama kotanızın ne kadarının kullanıldığını kontrol etmek için Öğe Yöneticisi'ni kullanın. Aşağıdaki örnekte, aynı bant için farklı piramit oluşturma politikaları kullanılarak bir Landsat görüntüsünün bölümleri dışa aktarılmaktadır. Piramit oluşturma politikası, Earth Engine'ın öğenin düşük çözünürlüklü sürümlerini nasıl hesapladığını belirtir. Earth Engine'in birden fazla çözünürlüğü nasıl ele aldığı hakkında daha fazla bilgiyi ölçek dokümanında bulabilirsiniz.
Kod Düzenleyici (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'
anahtarını kullanarak açıkça belirtilmeyen her bant için varsayılan bir piramide oluşturma politikası sağlayabilirsiniz. Yalnızca '.default'
anahtarını da iletebilirsiniz. Örneğin, tüm bantların varsayılan olarak "örnek" piramide oluşturma politikasını kullanmasını sağlamak için {'.default': 'sample'}
değerini kullanın.
Yapılandırma parametreleri
Export.image
işlevine iletilen yapılandırma parametreleri sözlüğünün scale
'ı (metre cinsinden) ve dışa aktarma bölgesini ee.Geometry
olarak içerdiğini unutmayın. Dışa aktarılan resim, belirtilen ölçekte piksellerle belirtilen bölgeyi kapsar. Açıkça belirtilmezse çıkışın CRS'si, dışa aktarılacak görüntünün ilk bandından alınır.
Ayrıca, dışa aktarılan resmin dimensions
, crs
ve/veya crsTransform
değerini de belirtebilirsiniz. crs
ve crsTransform
hakkında daha fazla bilgi için sözlüğe göz atın. Örneğin, başka bir veri kaynağıyla tam olarak hizalanmış bir piksel bloğu almak için dimensions
, crs
ve crsTransform
değerlerini belirtin.
Bir bölgeyi kapsayan, önceden tanımlanmış boyuttaki bir piksel bloğu (ör. 256x256 küçük resim) almak için dimensions
ve region
değerlerini belirtin.
Resim çıkış biçimini (hedef toAsset()
değilse) fileFormat
parametresiyle (varsayılan olarak 'GeoTIFF'
) belirtebilirsiniz.
formatOptions
parametresi
Diğer yapılandırma seçenekleri formatOptions
parametresi ile belirlenir. Bu parametre, aşağıda açıklandığı gibi her fileFormat
'ye özel diğer biçim seçeneklerine göre anahtarlanmış bir sözlük olmalıdır.
GeoTIFF
Bulut için optimize edilmiş GeoTIFF
Bulut için optimize edilmiş bir GeoTIFF dışa aktarmak istiyorsanız cloudOptimized
anahtarının true olarak ayarlandığı bir formatOptions
JavaScript değişmez değeri iletin. Önceki örneğe devam edecek olursak:
Kod Düzenleyici (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()
Cloud'da optimize edilmiş GeoTIFF'ler Cloud Storage'dan bir Image
'e yeniden yüklenebilir. Ayrıntılar için Image
genel bakış belgelerine göz atın.
Nodata
formatOptions
parametresindeki noData
anahtarını kullanarak GeoTIFF nodata değerini belirtin. Örneğin:
Kod Düzenleyici (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 değerinin, resmin PixelType
için geçerli aralıkta olması gerektiğini unutmayın. Resim meta verilerini yazdırıp ilk bandın data_type
mülküne bakarak PixelType
değerini kontrol edebilirsiniz. Örneğin, resim yöntemleri toShort()
veya toInt()
'yi kullanarak verileri belirli bir türe yayınlayarak da resmin türünü ayarlayabilirsiniz.PixelType
TFRecord
TFRecord veri biçimi sayfasına bakın.
maxPixels
maxPixels
parametresi, çok büyük dışa aktarma işlemlerinin yanlışlıkla oluşturulmasını önlemek için tasarlanmıştır. Varsayılan değer, amaçladığınız çıkış resmi için çok düşükse maxPixels
değerini artırabilirsiniz. Örneğin:
Export.image.toDrive({ image: landsat, description: 'maxPixelsExample', crs: projection.crs, crsTransform: projection.transform, region: geometry, maxPixels: 1e9 });
Büyük dosyaları dışa aktarma
Çıkış resmi büyükse birden fazla dosya olarak dışa aktarılır. GeoTIFF'lere dışa aktarıyorsanız görüntü kartlara bölünür. Her karonun dosya adı baseFilename-yMin-xMin
biçimindedir. Burada xMin
ve yMin
, dışa aktarılan görüntünün genel sınır kutusu içindeki her karonun koordinatlarıdır.
TFRecord'a dışa aktarıyorsanız N+1 dosya için dosyalara -00000
,
-00001
,... -0000N
eklenir. Dosyalar üzerinde çıkarım yapmak ve tahminleri resim olarak Earth Engine'a geri yüklemek istiyorsanız bu sırayı korumanız önemlidir. Ayrıntılar için resimleri TFRecord dosyası olarak yükleme bölümüne bakın.
Resimleri kod düzenleyicide göründüğü şekilde dışa aktarma
Görüntüleri Earth Engine'da ekranda oluşturulduğu şekilde dışa aktarmak için Görselleştirme resimleri ve Oluşturma ve Mozaikleme bölümlerinde gösterildiği gibi görselleştirme resimleri oluşturun. Kod Düzenleyici, 'EPSG:3857'
CRS'sini kullandığından, Kod Düzenleyici haritasında gösterilenle aynı projeksiyonda bir resim elde etmek için dışa aktarma işleminde 'EPSG:3857'
CRS'sini belirtin. Çıktının çözünürlüğünü ve koordinat sistemini belirtmeyle ilgili ayrıntılar için resim dışa aktarma işlemlerini yapılandırmayla ilgili bölüme bakın.