FORMA, nemli tropikal ormanlar için MODIS tabanlı, 500 x 500 metrelik, ayda iki kez ormansızlaştırma uyarısı veren bir sistemdir. Earth Engine'deki FORMA 500 veri kümesi, Ocak 2006'da başlayan ve her ay güncellenen uyarıları içeren bir görüntüdür. Her uyarının, alert_date adlı tek bir bantta epoch saniye biriminde ilişkili bir zamanı vardır. FORMA'yı tarihlere göre filtrelemek ve ilgi alanlarındaki uyarıları hesaplamak, FORMA veri kümesiyle yapabileceğiniz en önemli iki işlemdir.
FORMA'yı tarihe göre filtreleme
Yalnızca 2012'de gerçekleşen uyarıları göstermek için 2012'nin ilk günü ile 2013'ün ilk günü arasında zamanları olan pikselleri bulun. Bu zamanlar, 1 Ocak 1970 gece yarısından itibaren saniye cinsinden ifade edilir:
Kod Düzenleyici (JavaScript)
// Convert dates from milliseconds to seconds. var start = ee.Date('2012-01-01').millis().divide(1000); var end = ee.Date('2013-01-01').millis().divide(1000); // Load the FORMA 500 dataset. var forma = ee.Image('FORMA/FORMA_500m'); // Create a binary layer from the dates of interest. var forma2012 = forma.gte(start).and(forma.lte(end)); Map.setCenter(15.87, -0.391, 7); Map.addLayer( forma2012.mask(forma2012), {palette: ['FF0000']}, 'FORMA alerts in 2012' );
Bu örnekte forma2012, yalnızca 2012'de gerçekleşen zamanlara sahip pikselleri içeren ikili bir görüntüdür (yani diğer tüm pikseller maskelenir).
İlgilenilen Bölgedeki FORMA Uyarılarını Sayma
Önceki bölümde Hansen ve diğerlerinin verileriyle yaptığımız gibi, ilgilenilen bir alandaki FORMA uyarılarının (piksellerin) sayısını sayarak başlayabiliriz. Örneğin, 2012 yılında Kongo Cumhuriyeti'nin koruma altındaki alanlarında verilen uyarıların sayısını hesaplamak için önceki örneği aşağıdaki gibi genişletin:
Kod Düzenleyici (JavaScript)
// Load country features from Large Scale International Boundary (LSIB) dataset. var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017'); // Subset the Congo Republic feature from countries. var congo = ee.Feature( countries .filter(ee.Filter.eq('country_na', 'Rep of the Congo')) .first() ); // Subset protected areas to the bounds of the congo feature // and other criteria. Clip to the intersection with congo. var protectedAreas = ee.FeatureCollection('WCMC/WDPA/current/polygons') .filter(ee.Filter.and( ee.Filter.bounds(congo.geometry()), ee.Filter.neq('IUCN_CAT', 'VI'), ee.Filter.neq('STATUS', 'proposed'), ee.Filter.lt('STATUS_YR', 2010) )) .map(function(feat){ return congo.intersection(feat); }); // Display protected areas on the map. Map.addLayer( protectedAreas, {color: '000000'}, 'Congo Republic protected areas' ); // Calculate the number of FORMA pixels in protected // areas of the Congo Republic, 2012. var stats = forma2012.reduceRegion({ reducer: ee.Reducer.sum(), geometry: protectedAreas.geometry(), scale: 500 }); print('Number of FORMA pixels, 2012: ', stats.get('constant'));
İlgilenilen Çeşitli Bölgelerdeki FORMA Uyarılarını Sayma
Şimdiye kadar istatistikleri her seferinde tek bir bölgede hesapladık. Aynı anda birden fazla bölgede istatistikleri hesaplamak için reduceRegions() kullanabilirsiniz. Önceki örneği temel alarak devam edelim:
Kod Düzenleyici (JavaScript)
var regionsStats = forma2012.reduceRegions({ collection: protectedAreas, reducer: ee.Reducer.sum(), scale: forma2012.projection().nominalScale() }); print(regionsStats);
Konsola yazdırılan nesneyi inceleyin ve reduceRegions() çıkışının başka bir FeatureCollection olduğunu gözlemleyin. Kongo Cumhuriyeti koruma altındaki alanlar koleksiyonundaki her bölgenin artık indirgeyicinin adını taşıyan ek bir özelliği (sum) olduğunu unutmayın. Bu özelliğin değeri, indirgeyicinin çıkışı veya korunan alanlardaki 2012 uyarılarının sayısıdır.
FORMA ve Hansen ve ark. Veri Kümelerinin Karşılaştırılması
FORMA ve Hansen ve ark. veri kümelerini karşılaştırmak için mantıksal operatörleri kullanabilirsiniz. Mantıksal işlemler hakkında daha fazla bilgi edinin. Özellikle, hem FORMA hem de Hansen ve ark. verileri tarafından ormansızlaştırma olarak işaretlenen piksellerin 1, geri kalanların ise 0 olduğu bir görüntü oluşturmak istiyoruz. Bu kod, 2012 için böyle bir görüntü oluşturur ve diğer tahmini ormansızlaştırma katmanlarıyla birlikte gösterir:
Kod Düzenleyici (JavaScript)
// Convert dates from milliseconds to seconds. var start = ee.Date('2012-01-01').millis().divide(1000); var end = ee.Date('2013-01-01').millis().divide(1000); var region = ee.Geometry.Rectangle([-59.81163, -9.43348, -59.27561, -9.22818]); // Load the FORMA 500 dataset. var forma = ee.Image('FORMA/FORMA_500m'); // Create a binary layer from the dates of interest. var forma2012 = forma.gte(start).and(forma.lte(end)); // Load Hansen et al. data and get change in 2012. var gfc = ee.Image('UMD/hansen/global_forest_change_2015'); var gfc12 = gfc.select(['lossyear']).eq(12); // Create an image which is one where the datasets // both show deforestation and zero elsewhere. var gfc_forma = gfc12.eq(1).and(forma2012.eq(1)); // Display data on the map. Map.setCenter(-59.58813, -9.36439, 11); Map.addLayer(forma.updateMask(forma), {palette: '00FF00'}, 'Forma (green)'); Map.addLayer(gfc12.updateMask(gfc12), {palette: 'FF0000'}, 'Hansen (red)'); Map.addLayer( gfc_forma.updateMask(gfc_forma), {palette: 'FFFF00'}, 'Hansen & FORMA (yellow)' );
Earth Engine'deki orman değişimi veri kümelerine genel bakışın sonuna geldik. Bu özelliklerle neler yapabileceğinizi görmek için sabırsızlanıyoruz.