Earth Engine'deki görüntüleri GeoTIFF veya TFRecord biçiminde dışa aktarabilirsiniz. Daha fazla çıkış seçeneği için Yapılandırma Parametreleri'ne bakın.
Örnek Kurulum
Dışa aktarılacak görüntü 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, sonraki dışa aktarma işlemlerinde kullanılacak projection parametrelerini tanımlayın. Koordinat sistemini belirtmek için crs parametresini, piksel ızgarasını tam olarak belirtmek için ise crsTransform parametresini kullanırız. crsTransform parametresi, satır öncelikli düzende bir afin dönüşüm matrisindeki parametrelerin listesidir [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]. Bir resmin kaynağı xTranslation ve yTranslation değerleriyle, resmin piksel boyutu ise xScale ve yScale değerleriyle tanımlanır. Afin matris örneklerine göz atı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. Bu durumda Earth Engine, sizin için bir crsTransform parametresi hesaplar. Ancak bir resmin ölçeğini ayarlamak, projeksiyonun kaynağını belirtmez ve aynı piksel boyutuna sahip başka bir resme göre kaydırılmış bir resimle sonuçlanabilir.
Olası kaymanın nedeni, scale parametresinin crsTransform'nin xScale ve yScale değerlerini doldurmak için 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 başlangıç noktasının bir pikselin köşesinde olduğu piksel ızgarasını belirtir. Bu kural, projeksiyonun başlangıç noktasından kaydırılmış ızgaralar kullanan bazı veri sağlayıcıların kullandığı çeviri parametrelerinden farklıdır. Örneğin, USGS tarafından sağlanan Landsat görüntüleri, projeksiyonun başlangıç noktasından 1/2 piksel kaydırılmış çeviri parametreleri (30 m bantlar için 15 m kaydırma) kullanırken ESA tarafından sağlanan Sentinel-2 görüntüleri, projeksiyonun başlangıç noktasıyla hizalanmış çeviri parametreleri kullanır. Dışa aktarma işleminde belirtilen crsTransform, orijinal görüntünün crsTransform ile eşleşmiyorsa çıkış pikselleri yeniden örneklenir (varsayılan olarak en yakın komşu kullanılır). Bu işlem, elde edilen görüntünün orijinal görüntüye göre kaydırılmasına neden olur.
Özetlemek gerekirse, dışa aktarılan görüntünün piksellerini belirli bir görüntüyle eşleştirmeniz gerekiyorsa ızgaranın tam kontrolü 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, 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
Bir görüntüyü Google Cloud Storage paketine aktarmak için Export.image.toCloudStorage() komutunu kullanın. Önceki örnekteki Landsat görüntüsünü Drive yerine Cloud Storage'a aktarmak için şunu kullanın:
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 noktalar hakkındaki SSS girişini inceleyin.
öğesine
Bir görüntüyü Earth Engine öğeler klasörünüzdeki bir öğeye aktarmak için Export.image.toAsset() işlevini kullanın. Earth Engine öğelerinizi yönetmek veya depolama alanı 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 Landsat görüntüsünün bölümlerinin nasıl dışa aktarıldığı gösterilmektedir. Katmanlama politikası, Earth Engine'in öğenin daha düşük çözünürlüklü sürümlerini nasıl hesapladığını gösterir. Earth Engine'in birden fazla çözünürlüğü nasıl işlediği hakkında daha fazla bilgiyi ölçek belgesinde 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 piramit oluşturma politikası sağlayabilirsiniz. Yalnızca '.default' anahtarını da iletebilirsiniz. Örneğin, tüm bantların varsayılan olarak "örnek" piramit oluşturma politikasını kullanması için {'.default': 'sample'} değerini kullanın.
Yapılandırma parametreleri
Export.image öğesine iletilen yapılandırma parametreleri sözlüğünün scale (metre cinsinden) ve dışa aktarma bölgesini ee.Geometry olarak içerdiğini görebilirsiniz. Dışa aktarılan görüntü, belirtilen bölgeyi belirtilen ölçekteki piksellerle kaplar. Açıkça belirtilmezse çıkışın CRS'si, dışa aktarılacak görüntünün ilk bandından alınır.
Dışa aktarılan resmin dimensions, crs ve/veya crsTransform değerlerini de belirtebilirsiniz. crs ve crsTransform hakkında daha fazla bilgi için sözlüğe bakın. Örneğin, başka bir veri kaynağıyla tam olarak hizalanmış bir piksel bloğu elde etmek için dimensions, crs ve crsTransform değerlerini belirtin.
Bir bölgeyi kapsayan, önceden tanımlanmış boyutta bir piksel bloğu (örneğin, 256x256 boyutunda bir küçük resim) almak için dimensions ve region değerlerini belirtin.
fileFormat parametresiyle (varsayılan olarak 'GeoTIFF') resim çıkış biçimini (hedef toAsset() değilse) belirtebilirsiniz.
formatOptions parametresi
Diğer yapılandırma seçenekleri, formatOptions parametresiyle ayarlanır. Bu parametre, aşağıda açıklandığı gibi her fileFormat için özel olan diğer biçim seçenekleriyle anahtarlanmış bir sözlük olmalıdır.
GeoTIFF
Bulut için optimize edilmiş GeoTIFF
Cloud Optimized GeoTIFF biçiminde dışa aktarmak için formatOptions için bir JavaScript değişmezi iletin. Bu değişmezde cloudOptimized anahtarı true olarak ayarlanır. Ö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()
Bulut için optimize edilmiş GeoTIFF'ler, Cloud Storage'dan bir Image içine yeniden yüklenebilir veya öğe olarak kaydedilebilir. Dışa aktarma spesifikasyonları ve seçeneklerinin tamamı için Bulut için optimize edilmiş GeoTIFF (COG) genel bakış bölümüne bakı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()
Boş değerin, resmin PixelType için geçerli aralıkta olması gerektiğini unutmayın. PixelType değerini, görsel meta verilerini yazdırıp ilk bantın data_type özelliğine bakarak kontrol edebilirsiniz. Ayrıca, verileri toShort() veya toInt() gibi görüntü yöntemlerini kullanarak belirli bir türe dönüştürerek görüntünün PixelType değerini de ayarlayabilirsiniz.
TFRecord
TFRecord veri biçimi sayfasına bakın.
maxPixels
maxPixels parametresi, yanlışlıkla çok büyük dışa aktarma işlemlerinin oluşturulmasını önlemek için tasarlanmıştır. Varsayılan değer, istediğiniz çı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 dosya dışa aktarımları
Çıkış resmi büyükse birden fazla dosya olarak dışa aktarılır. GeoTIFF'e aktarıyorsanız görüntü karolara bölünür. Her bir karo dosyasının adı baseFilename-yMin-xMin biçiminde olur. Burada xMin ve yMin, dışa aktarılan görüntünün genel sınırlayıcı kutusu içindeki her bir karonun koordinatlarıdır.
TFRecord'a aktarıyorsanız dosyalar N+1 dosya için -00000, -00001,... -0000N ile eklenir. Dosyalarda çıkarım yapmayı ve tahminleri tekrar Earth Engine'e resim olarak yüklemeyi planlıyorsanız bu sırayı korumanız önemlidir. Ayrıntılar için Görüntüleri TFRecord dosyaları olarak yükleme bölümüne bakın.
Görüntüleri kod düzenleyicide göründükleri şekilde dışa aktarma
Görüntüleri Earth Engine'de ekranda oluşturulduğu şekilde dışa aktarmak için Görselleştirme görüntüleri ve Birleştirme ve mozaik oluşturma bölümlerinde gösterildiği gibi görselleştirme görüntüleri oluşturun. Kod Düzenleyici, 'EPSG:3857' CRS'sini kullandığından, Kod Düzenleyici haritasında gösterilenle aynı projeksiyonda bir görüntü elde etmek için dışa aktarma işleminde 'EPSG:3857' CRS'sini belirtin. Çıkışın çözünürlüğünü ve koordinat sistemini belirtmeyle ilgili ayrıntılar için görüntü dışa aktarma işlemlerini yapılandırma bölümüne bakın.