Daha önce, aşağıdakine benzer bir işlem yaparak tek tek Landsat sahnelerini nasıl alacağınızı öğrenmiştiniz:
Burada l8
ve point
, Landsat 8 TOA koleksiyonunu ve ilgi alanı geometrisini temsil eden içe aktarmalardır:
Kod Düzenleyici (JavaScript)
// Define a point of interest. Use the UI Drawing Tools to import a point // geometry and name it "point" or set the point coordinates with the // ee.Geometry.Point() function as demonstrated here. var point = ee.Geometry.Point([-122.292, 37.9018]); // Import the Landsat 8 TOA image collection. var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); // Get the least cloudy image in 2015. var image = ee.Image( l8.filterBounds(point) .filterDate('2015-01-01', '2015-12-31') .sort('CLOUD_COVER') .first() );
Şimdi Landsat görüntüsünden Normalleştirilmiş Fark Bitki Örtüsü İndeksi (NDVI) görüntüsü hesaplamak istediğinizi varsayalım. Bitki örtüsü, ışığı elektromanyetik spektrumun kızılötesine yakın (NIR) kısmında yansıtır ve kırmızı kısımda emer (Bitki örtüsünden NIR yansıması hakkında daha fazla bilgi edinin). NDVI, bunu kullanarak bir pikselde gerçekleşen fotosentetik aktiviteyi kabaca yansıtan tek bir değer oluşturur. Hesaplama şu şekildedir: (NIR - kırmızı) / (NIR + kırmızı). Bu işlem, 1 ile -1 arasında bir sonuç verir. Fotosentetik aktivitesi yüksek olan piksellerin NDVI değeri yüksektir. Bu, Earth Engine'de NDVI hesaplamanın bir yoludur:
Kod Düzenleyici (JavaScript)
// Compute the Normalized Difference Vegetation Index (NDVI). var nir = image.select('B5'); var red = image.select('B4'); var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI'); // Display the result. Map.centerObject(image, 9); var ndviParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']}; Map.addLayer(ndvi, ndviParams, 'NDVI image');
Sonuç, Şekil 8'e benzer şekilde görünmelidir. NIR ve kırmızı bantları elde etmek için select()
işlevini kullandığımızı unutmayın. Bu işlevi önceki bölümde maskeleme hakkında öğrenmiştiniz. Ardından, Image
matematik bölümünde daha önce gördüğünüz görüntü matematiksel operatörlerini kullanarak NDVI'yi hesaplıyoruz. Son olarak, resmi paletle birlikte gösterin. Burada
palet içinde onaltılık dizeler yerine renk adları kullandık. (Ayrıntılar için CSS renkleriyle ilgili bu harici referansı inceleyin.)

Normalleştirilmiş fark işlemi, uzaktan algılamada çok yaygın olarak kullanılır. Bu nedenle, ee.Image
üzerinde önceki örnekteki kodu basitleştirmek için kullanışlı bir kısayol işlevi vardır:
Kod Düzenleyici (JavaScript)
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
Bir Koleksiyon Üzerinde Fonksiyon Eşleme
Şimdi de bir resim koleksiyonundaki her resme NDVI eklemek istediğinizi varsayalım. Earth Engine'de bunu yapmanın yolu, koleksiyon üzerinde bir map()
işlevi uygulamaktır.
map()
ile Map
nesnesini karıştırmayın. İlk yöntem, bir koleksiyondaki her öğeye bir işlev uygulamak için paralel bilgi işlem anlamında map işlevini kullanan bir koleksiyon yöntemidir. Bu işlev, koleksiyondaki her öğeye uygulanacak işlemleri tanımlar. JavaScript eğitiminde basit bir işlev görmüş olabilirsiniz ancak şimdi Earth Engine işlevini içeren bir işlev oluşturacağız. Örneğin,
önceki NDVI kodunu, giriş görüntüsünü NDVI bandıyla döndüren bir işleve kopyalayın:
Kod Düzenleyici (JavaScript)
var addNDVI = function(image) { var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); return image.addBands(ndvi); }; // Test the addNDVI function on a single image. var ndvi = addNDVI(image).select('NDVI');
Bu kod, tek bir görüntü için NDVI hesaplamasında o kadar verimli olmayabilir ancak bu işlev, koleksiyondaki her görüntüye NDVI bandı eklemek için map()
işlevine bağımsız değişken olarak kullanılabilir. Bir işlevin beklendiği gibi çalıştığından emin olmak için önce tek bir resimde test etmek genellikle yararlıdır. İşlevi tek bir resimde test edip istediğiniz gibi çalıştığını belirledikten sonra, işlevi koleksiyona uygulayabilirsiniz:
Kod Düzenleyici (JavaScript)
var withNDVI = l8.map(addNDVI);
Bu işlemin, koleksiyondaki her resme gerçekten bir NDVI bandı yerleştirdiğini doğrulamak için withNDVI
koleksiyonunu haritaya ekleyebilir ve Inspector sekmesiyle rastgele bir konumu sorgulayabilirsiniz. Koleksiyondaki her resmin artık NDVI
adlı bir banda sahip olduğunu göreceksiniz.
En yeşil piksel bileşimi oluşturma
Artık her resmin NDVI bandına sahip olduğu bir resim koleksiyonu oluşturduğunuza göre, qualityMosaic()
adlı yeni bir kompozit oluşturma yöntemini keşfedebiliriz. Ortanca değer piksel bileşiminde bile Landsat yolları arasında süreksizlikler olduğunu fark etmiş olabilirsiniz. Bunun bir nedeni, bitki ve hayvanların yaşam döngülerini inceleyen fenoloji alanındaki farklılıklar olabilir. Bu farklılıklar, özellikle 8 gün arayla olmak üzere, bitişik yollardaki resimlerin farklı zamanlarda toplanmasından kaynaklanır. Bunu en aza indirmenin bir yolu, kompozitteki piksel değerlerini kabaca aynı fenolojik aşamada ayarlamaya çalışmaktır. Örneğin, bitkilerin maksimum yeşilliğe ulaştığı zaman (yapraklar üzerindeyken ve fotosentetik olarak aktifken). Maksimum yeşilliğin maksimum NDVI ile tanımlanmasına izin verirsek, her pikselin koleksiyondaki maksimum NDVI pikselini içerdiği bir bileşik oluşturmak için qualityMosaic()
işlevini kullanabiliriz.
Artık withNDVI
koleksiyonunuzda eklenen NDVI bandından yararlanabilirsiniz:
Kod Düzenleyici (JavaScript)
// Make a "greenest" pixel composite. var greenest = withNDVI.qualityMosaic('NDVI'); // Display the result. var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(greenest, visParams, 'Greenest pixel composite');
Bu kodun sonucu Şekil 9'daki gibi görünmelidir. Şekil 9'u Şekil 6'da gösterilen ortalama kompozit ile karşılaştırdığınızda en yeşil piksel kompozitin gerçekten de çok daha yeşil olduğunu görebilirsiniz. Ancak su kütlelerinin yakından incelenmesi farklı bir sorunu ortaya çıkarabilir. Özellikle,
su kütleleri artık bulanık görünüyor. Bunun nedeni, qualityMosaic()
yönteminin çalışma şeklidir: Her konumda, tüm zaman serisi incelenir ve NDVI bandındaki maksimum değere sahip piksel, bileşik değer olarak ayarlanır. NDVI, bulutlar üzerinde sudan daha yüksek olduğundan su alanları bulutlu piksellerle gösterilirken bitki örtüsü olan alanlar tamamen yeşil görünür. Bunun nedeni, pikseldeki bitki örtüsü fotosentetik olarak aktif olduğunda NDVI'nin en yüksek olmasıdır.

Artık Earth Engine'de görüntüleri birleştirmenin ve mozaik oluşturmanın çeşitli yollarını biliyorsunuz. Zamana ve yere göre filtrelenmiş resimlerden veya koleksiyondaki tüm resimlerden son değer, ortanca veya en yeşil piksel kompozitleri oluşturabilirsiniz. Görüntüler üzerinde nasıl hesaplama yapacağınızı ve bilgileri nasıl çıkaracağınızı öğrendiniz. Sonraki sayfada, Earth Engine'den bilgi almanın yolları (ör. Google Drive klasörünüze aktarılan bir grafik veya veri kümesi olarak) açıklanmaktadır.