Earth Engine güçlü bir analiz aracıdır ancak grafikleri, resimleri, haritaları vb. raporlara veya yayınlara yerleştirmek için analiz sonuçlarınızı dışa aktarmanız gerekebilir. Bu bölümde, diğer yazılımlarda dışa aktarılıp görüntülenebilen grafikler ve resimler oluşturmayı öğreneceksiniz. Önceki bölümde, bir koleksiyondaki her görüntüye NDVI bandı eklemek için aşağıdaki gibi bir kod kullandığınızı hatırlayın. Burada l8
değişkeni, Landsat 8 TOA yansıtma koleksiyonunu referans alır:
Kod Düzenleyici (JavaScript)
// Import the Landsat 8 TOA image collection. var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); // Map a function over the Landsat 8 TOA collection to add an NDVI band. var withNDVI = l8.map(function(image) { var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); return image.addBands(ndvi); });
Liste zirvesi
Belirli bir konumda zaman içinde NDVI grafiği istediğinizi varsayalım. Bu tür bir grafik oluşturmak için ilk adım, ilgilenilen bir konumu seçmektir. Nokta çizme aracını () kullanarak bir nokta oluşturun ve ilgi alanınızda tek bir nokta geometrisi oluşturun. (Daha önce içe aktarma işlemleriniz varsa Geometri İçe Aktarma İşlemleri'nin üzerine gelin ve önce + yeni katman'ı tıklayın).
Noktayı tarım arazisi, yaprak döken orman, yıllık çayır veya yıllık döngüsü olan başka bir arazi örtüsü alanında bulun. İçe aktarma işlemine ad verin
roi
. (Geometrileri programatik olarak oluşturma hakkında bilgi için bu sayfaya bakın).
Şimdi de roi
noktasını kullanarak bu noktanın altındaki pikselde zaman içinde NDVI grafiği oluşturalım. Earth Engine'de grafik oluşturmak için ui.Chart
paketini kullanabilirsiniz. (Earth Engine'de grafik oluşturma hakkında daha fazla bilgi edinin).
Özellikle zaman içinde bir grafik oluşturmak için ui.Chart.image.series()
yöntemini kullanabilirsiniz:
Kod Düzenleyici (JavaScript)
// Create a chart. var chart = ui.Chart.image.series({ imageCollection: withNDVI.select('NDVI'), region: roi, reducer: ee.Reducer.first(), scale: 30 }).setOptions({title: 'NDVI over time'}); // Display the chart in the console. print(chart);
roi
geometrisi için tarım alanında bir nokta seçtik. Bu seçim, Şekil 10'daki gibi bir grafikle sonuçlandı. Grafik oluşturucuya iletilen parametrelerin, reduceRegion()
gibi bir küçültücü ve ölçek içerdiğini unutmayın. Bölge olarak sağladığımız nokta yalnızca bir pikselle kesişebileceğinden "ilk" küçültücüyü kullanmak yeterlidir. Daha büyük bir bölgeniz varsa piksellerin nasıl toplanacağını belirten bir "ortalama" veya başka bir küçültücü kullanmanız gerekir. Ayrıca, bir grafiği görselleştirmek için yazdırmanız yeterlidir.

Konu dışı: Landsat için basit bulut maskeleme
Bu grafikle ilgili olarak fark etmiş olabileceğiniz bir nokta, noktadaki NDVI değerlerinin zaman serisinin biraz gürültülü görünmesidir. Bu durum büyük olasılıkla bulutlardan kaynaklanmaktadır. Bu etkiyi azaltmak için Earth Engine, termal bant içeren Landsat sensörleri için bir bulut maskeleme algoritması içerir: ee.Algorithms.Landsat.simpleCloudScore()
. Giriş olarak Landsat TOA
yansıtma görüntüsünü alır ve cloud
adlı bir bant ekler. Bu bant, pikseldeki bulutluluk durumunun sıfırdan 100'e kadar olan bir indeksidir (sırasıyla en az bulutlu olandan en çok bulutlu olana). Koleksiyonda eşlediğiniz işlevi değiştirerek grafiği biraz temizlemek için bulut dizininde rastgele bir eşik (20) kullanabilirsiniz:
Kod Düzenleyici (JavaScript)
var cloudlessNDVI = l8.map(function(image) { // Get a cloud score in [0, 100]. var cloud = ee.Algorithms.Landsat.simpleCloudScore(image).select('cloud'); // Create a mask of cloudy pixels from an arbitrary threshold. var mask = cloud.lte(20); // Compute NDVI. var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); // Return the masked image with an NDVI band. return image.addBands(ndvi).updateMask(mask); }); print(ui.Chart.image.series({ imageCollection: cloudlessNDVI.select('NDVI'), region: roi, reducer: ee.Reducer.first(), scale: 30 }).setOptions({title: 'Cloud-masked NDVI over time'}));
Bulut maskeli sonuç Şekil 11'de gösterilmektedir. Zaman serisinin biraz daha düzgün göründüğünü ancak bulutlardan etkilenen pikseller içerebileceğini unutmayın. Bulut dizinindeki eşiği ayarlayın ve bu eşiğin sonuçlarınızı nasıl etkileyebileceğini öğrenmek için grafikteki zaman serisini inceleyin.

Resimleri dışa aktarma
Earth Engine tarafından hesaplanan verilerin grafiğini dışa aktarmanın bir yolunu gördünüz ancak tüm görüntüleri dışa aktarmak için ne yapmanız gerekir? Örneğin, önceki bölümde açıklandığı gibi en yeşil piksellerden oluşan bir bileşik oluşturduğunuzu varsayalım: bölümde açıklandığı gibi:
Kod Düzenleyici (JavaScript)
var greenest = cloudlessNDVI.qualityMosaic('NDVI');
Bu kodun daha önce yaptığınızdan tek farkı, artık bulut maskeli koleksiyonu kullanıyor olmamızdır. Export
paketini kullanarak bu verilerin bir alt kümesini (bölgeye göre tanımlanır) dışa aktarabilirsiniz. (Earth Engine'den raster ve vektör verilerini dışa aktarma hakkında daha fazla bilgi edinin.) Örneğin, diğer dokümanlara kolayca yerleştirilebilecek bir resmi dışa aktarmak için daha önce yaptığınız gibi bir görselleştirme resmi oluşturup Google Drive klasörünüze aktaralım:
Kod Düzenleyici (JavaScript)
// Create a 3-band, 8-bit, color-IR composite to export. var visualization = greenest.visualize({ bands: ['B5', 'B4', 'B3'], max: 0.4 }); // Create a task that you can launch from the Tasks tab. Export.image.toDrive({ image: visualization, description: 'Greenest_pixel_composite', scale: 30 });
Bu kodu çalıştırdığınızda Görevler sekmesinde yeni bir görev oluşturulduğunu unutmayın. Dışa aktarma yapılandırma iletişim kutusunu başlatmak için Görevler sekmesinde ÇALIŞTIR düğmesini tıklayın. Görevi yapılandırdıktan sonra dışa aktarma işlemini başlatmak için iletişim kutusundaki Çalıştır düğmesini tıklayın. Ancak bunu yapmadan önce şu uyarıyı dikkate alın:
region
argümanı olmadan dışa aktarırken dikkatli olmanızın nedeni, scale
için nispeten küçük bir değer ayarlarsanız ve Harita büyük bir alan için uzaklaştırılırsa Drive klasörünüze çok büyük bir görüntü aktarmanızdır. Daha fazla bilgi ve olası yapılandırma parametrelerinin listesi için Export.image.toDrive()
belgelerine Belgeler sekmesinden bakın.
Earth Engine API'ye giriş konulu bu makalenin sonuna geldik. Artık en yaygın Earth Engine işlevlerinin çoğunu gördünüz ve daha karmaşık analizlere güvenle geçebilirsiniz. Dokümanları okuduğunuzdan ve diğer sorularınızın yanıtlarını bulmak için forumu aradığınızdan emin olun. Keyifli kodlamalar!