FORMA เป็นระบบแจ้งเตือนการตัดไม้ทำลายป่าแบบเดือนละ 2 ครั้งขนาด 500 x 500 เมตรที่อิงตาม MODIS สำหรับป่าเขตร้อนชื้น
ชุดข้อมูล FORMA 500 ใน Earth
Engine คือรูปภาพที่มีการแจ้งเตือนซึ่งเริ่มตั้งแต่เดือนมกราคม 2006 และอัปเดตทุกเดือน การแจ้งเตือนแต่ละรายการจะมีเวลาที่เชื่อมโยงอยู่ในแถบเดียวชื่อ alert_date
ในหน่วยของวินาทีตั้งแต่ Epoch การกรอง FORMA ตามวันที่
และการคำนวณการแจ้งเตือนภายในพื้นที่ที่สนใจเป็น 2 สิ่งที่สำคัญที่สุดที่คุณทำได้
ด้วยชุดข้อมูล FORMA
การกรอง FORMA ตามวันที่
หากต้องการแสดงเฉพาะการแจ้งเตือนที่เกิดขึ้นในปี 2012 ให้ค้นหาพิกเซลที่มีเวลาอยู่ระหว่าง วันแรกของปี 2012 กับวันแรกของปี 2013 โดยแสดงเป็นวินาทีนับตั้งแต่เที่ยงคืนของวันที่ 1 มกราคม 1970
โปรแกรมแก้ไขโค้ด (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' );
ในตัวอย่างนี้ forma2012
เป็นรูปภาพไบนารีที่มีเฉพาะพิกเซลเหล่านั้น
ซึ่งมีเวลาที่เกิดขึ้นในปี 2012 (กล่าวคือ พิกเซลอื่นๆ ทั้งหมดจะถูกมาสก์)
การนับการแจ้งเตือน FORMA ในภูมิภาคที่สนใจ
เช่นเดียวกับที่เราทำ ในส่วนก่อนหน้ากับข้อมูลของ Hansen และคณะ เราสามารถเริ่มต้นด้วยการนับ จำนวนการแจ้งเตือน FORMA (พิกเซล) ในพื้นที่ที่สนใจ เช่น หากต้องการนับจำนวน การแจ้งเตือนในพื้นที่คุ้มครองของสาธารณรัฐคองโกในปี 2012 ให้ต่อยอดจากตัวอย่างก่อนหน้าดังนี้
โปรแกรมแก้ไขโค้ด (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'));
การนับการแจ้งเตือน FORMA ในหลายภูมิภาคที่น่าสนใจ
ที่ผ่านมา เราคำนวณสถิติในภูมิภาคเดียวในแต่ละครั้ง หากต้องการคำนวณ
สถิติในหลายภูมิภาคพร้อมกัน คุณสามารถใช้
reduceRegions()
อีกครั้ง
สร้างจากตัวอย่างก่อนหน้า
โปรแกรมแก้ไขโค้ด (JavaScript)
var regionsStats = forma2012.reduceRegions({ collection: protectedAreas, reducer: ee.Reducer.sum(), scale: forma2012.projection().nominalScale() }); print(regionsStats);
ตรวจสอบออบเจ็กต์ที่พิมพ์ไปยังคอนโซลและสังเกตว่าเอาต์พุตของ
reduceRegions()
คือ FeatureCollection
อีกรายการหนึ่ง โปรดทราบว่าทุก
ภูมิภาคในคอลเล็กชันพื้นที่คุ้มครองของสาธารณรัฐคองโกมีพร็อพเพอร์ตี้เพิ่มเติม
sum
ซึ่งตั้งชื่อตามตัวลด ค่าของพร็อพเพอร์ตี้นี้คือเอาต์พุตของ
ตัวลด หรือจำนวนการแจ้งเตือนปี 2012 ในพื้นที่คุ้มครอง
การเปรียบเทียบชุดข้อมูล FORMA และ Hansen et al.
หากต้องการเปรียบเทียบชุดข้อมูล FORMA และ Hansen et al. คุณสามารถใช้โอเปอเรเตอร์เชิงตรรกะได้ (ดูข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการเชิงตรรกะ) กล่าวโดยละเอียดคือ เราต้องการสร้างรูปภาพที่พิกเซลซึ่งทั้งข้อมูล FORMA และ Hansen et al. ระบุว่าเป็นการตัดไม้ทำลายป่ามีค่าเป็น 1 และพิกเซลที่เหลือมีค่าเป็น 0 โค้ดนี้จะสร้างรูปภาพดังกล่าวสำหรับปี 2012 และแสดงพร้อมกับเลเยอร์การคาดการณ์การตัดไม้ทำลายป่าอื่นๆ
โปรแกรมแก้ไขโค้ด (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 เราหวังว่าจะได้เห็นสิ่งที่คุณทำด้วยฟีเจอร์เหล่านี้