Earth Engine'ın ölçeği nasıl işlediğini anlamak, Earth Engine'dan elde edilen bilimsel sonuçları yorumlamak açısından çok önemlidir. Burada ölçek, piksel çözünürlüğü anlamına gelir. Diğer Coğrafi Bilgi Sistemi ve görüntü işleme platformlarının aksine, analizin ölçeği girişten değil, çıkıştan belirlenir. Daha açık belirtmek gerekirse, sonuç, görüntülenecek resim veya istatistik isteği gönderdiğinizde verilerin analize hangi ölçekte girileceğini belirtirsiniz. Bu kavram Şekil 1'de gösterilmektedir.
Resim Piramitleri
Earth Engine'daki resim öğeleri, resim piramitlerinde birden fazla ölçekte bulunur. Piramit oluşturma politikası (Şekil 1'de kesikli çizgilerle gösterilmiştir), piramidin belirli bir seviyesindeki her pikselin bir sonraki alt seviyedeki 2x2 piksel bloğunun toplamından nasıl hesaplanacağını belirler. Sürekli değerli resimlerde, piramidin üst seviyelerinin piksel değerleri, bir sonraki alt seviyedeki piksellerin ortalamasıdır. Ayrık değerli resimlerde, piramidin üst seviyelerinin piksel değerleri, bir sonraki alt seviyedeki piksellerin bir örneğidir (genellikle sol üst piksel).
Görüntü piramidinin en alt seviyesi, Earth Engine'a aktarıldığında görüntü verilerini doğal çözünürlükte temsil eder. Veriler, besleme sırasında daha yüksek piramit seviyeleri oluşturmak için toplanır (piramit oluşturma politikasına göre). Resmin tamamı 256x256 piksellik bir karoya sığana kadar veriler toplanır. Kodunuzda bir resim kullandığınızda Earth Engine, analiziniz tarafından belirtilen ölçeğe en yakın ölçeği (daha düşük veya eşit) içeren piramidin bir seviyesini seçer ve gerektiğinde yeniden örnekler (varsayılan olarak en yakın komşuyu kullanır).
Analiz ölçeği
Earth Engine'daki analiz ölçeği, "getirme" temelli olarak belirlenir. Bir hesaplama için girdi isteğinde bulunulacak ölçek, çıkıştan belirlenir. Örneğin, Kod Düzenleyici'ye veya geemap harita öğesine bir resim eklerseniz haritanın yakınlaştırma seviyesi, resim piramidinden girişlerin istendiği ölçeği belirler. Diğer hesaplamalar için scale
bağımsız değişkeni olarak belirtilir. Örneğin, 30 metre doğal çözünürlüğe sahip bir Landsat görüntüsünün NIR bandını kullanarak:
Kod Düzenleyici (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4'); var printAtScale = function(scale) { print('Pixel value at '+scale+' meters scale', image.reduceRegion({ reducer: ee.Reducer.first(), geometry: image.geometry().centroid(), // The scale determines the pyramid level from which to pull the input scale: scale }).get('B4')); }; printAtScale(10); // 0.10394100844860077 printAtScale(30); // 0.10394100844860077 printAtScale(50); // 0.09130698442459106 printAtScale(70); // 0.1150854229927063 printAtScale(200); // 0.102478988468647 printAtScale(500); // 0.09072770178318024
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4') def print_at_scale(scale): display( f'Pixel value at {scale} meters scale', image.reduceRegion( reducer=ee.Reducer.first(), geometry=image.geometry().centroid(), # The scale determines the pyramid level from which to pull the input scale=scale, ).get('B4'), ) print_at_scale(10) # 0.10394100844860077 print_at_scale(30) # 0.10394100844860077 print_at_scale(50) # 0.09130698442459106 print_at_scale(70) # 0.1150854229927063 print_at_scale(200) # 0.102478988468647 print_at_scale(500) # 0.09072770178318024
Bu örnekte, sabit bir konumdaki (resim merkezi) piksel değerinin ölçeğe göre değiştiğini unutmayın. Bunun nedeni, farklı ölçekler için farklı piramit seviyelerinin seçilmesidir. Benzer ölçekler için en yakın komşu yeniden örnekleme, aynı piksel değerinin döndürülmesine neden olur. Önemli olan, ölçek değiştikçe farklı resim girişlerinin istenmesidir.
Bir resmi haritaya ekleyerek görselleştirdiğinizde Earth Engine, ölçeği yakınlaştırma düzeyine göre belirler. Yalnızca bir Landsat görüntüsünü gösteren aşağıdaki basit örneği inceleyin:
Kod Düzenleyici (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318'); Map.centerObject(image, 17); Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.35}, 'image');
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') m = geemap.Map() m.center_object(image, 17) m.add_layer(image, {'bands': ['B4', 'B3', 'B2'], 'max': 0.35}, 'image') m
Harita, doğal çözünürlükteki piksellerin net bir şekilde görülebilmesi için en yakın şekilde yakınlaştırılmış şekilde başlar. Yeterince uzaklaştırdığınızda aynı pikseller değil, resim piramidinin daha yüksek seviyeleri gösterilir. Kod Düzenleyici ve geemap haritalarının harita Mercator (EPSG:3857) projeksiyonunu kullandığını da belirtmek gerekir. Bu nedenle, görüntü piramidinin uygun düzeyinin de görüntülenmeden önce yeniden projelendirilmesi gerekir. Earth Engine'ın projeksiyonları nasıl işlediği hakkında daha fazla bilgi edinmek için projeksiyonlar dokümanındaki bilgileri inceleyin.