ข้อมูลเบื้องต้นเกี่ยวกับข้อมูลการเปลี่ยนแปลงของป่าทั่วโลกของ Hansen และคณะ

Hansen และคณะ (2013) ชุดข้อมูลการเปลี่ยนแปลงของป่าไม้ทั่วโลกใน Earth Engine แสดงการเปลี่ยนแปลงของป่าไม้ที่ความละเอียด 30 เมตร ทั่วโลกระหว่างปี 2000 ถึง 2014 มาเริ่มต้นด้วยการเพิ่มข้อมูลของ Hansen et al. ลงในแผนที่ ไม่ว่าจะนำเข้าข้อมูลการเปลี่ยนแปลงป่าไม้ทั่วโลก (ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาและนำเข้าชุดข้อมูล) โดยค้นหา "ป่าไม้ของ Hansen" และตั้งชื่อการนำเข้าว่า gfc2014 หรือคัดลอก โค้ดต่อไปนี้ลงในโปรแกรมแก้ไขโค้ด

โปรแกรมแก้ไขโค้ด (JavaScript)

var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
Map.addLayer(gfc2014);

คลิกปุ่มเรียกใช้ที่ด้านบนของเครื่องมือแก้ไขโค้ด แล้วคุณจะเห็น ลักษณะคล้ายกับรูปที่ 1

เปลี่ยนค่าเริ่มต้นของป่า
รูปที่ 1 การแสดงภาพเริ่มต้นของข้อมูลการเปลี่ยนแปลงของป่าจาก Hansen et al. (2013)

ไม่ต้องกังวล คุณจะทำให้ดูดีขึ้นได้ในเร็วๆ นี้ (ดูข้อมูลเพิ่มเติม เกี่ยวกับการแสดงภาพรูปภาพเริ่มต้นใน Earth Engine) เมื่อสิ้นสุดส่วนนี้ คุณจะมีรูปภาพที่คล้ายกับรูปที่ 2 ซึ่งสีเขียวแสดงถึงบริเวณที่ การศึกษาตรวจพบป่าไม้ในปี 2000 สีแดงคือการสูญเสียป่าไม้โดยประมาณในช่วงระยะเวลาการศึกษา สีน้ำเงินคือการเพิ่มขึ้นของป่าไม้ในช่วงดังกล่าว สีม่วงแดงคือพื้นที่ที่มีทั้งการสูญเสียและ การเพิ่มขึ้นของป่าไม้ และระบบจะมาสก์พื้นที่ที่ไม่ใช่ป่าไม้

การเปลี่ยนแปลงป่าไม้ที่กำหนดเอง
รูปที่ 2 การแสดงภาพที่กำหนดเองของข้อมูลการเปลี่ยนแปลงของป่าจาก Hansen และคณะ (2013)

โปรดทราบว่าเมื่อเพิ่มรูปภาพหลายแถบคลื่นลงในแผนที่ ระบบจะเลือกแถบคลื่น 3 แถบแรกของรูปภาพ เป็นสีแดง สีเขียว และสีน้ำเงินตามลำดับ และยืดตามประเภทข้อมูล ของแต่ละแถบคลื่น สาเหตุที่รูปภาพมีสีแดงเนื่องจากแถบ 3 แถบแรกคือ treecover2000, loss และ gain treecover2000 แถบแสดงเป็นเปอร์เซ็นต์และมีค่าสูงกว่า loss (สีเขียว) และ gain (สีน้ำเงิน) มาก ซึ่งเป็นไบนารี ({0, 1}) ดังนั้น ภาพจึงแสดงเป็นสีแดงอย่างท่วมท้น

แถบข้อมูลการเปลี่ยนแปลงของป่าไม้ทั่วโลกมีดังนี้

ชื่อวงคำอธิบายช่วง
treecover2000เปอร์เซ็นต์ของพื้นที่ปกคลุมของต้นไม้ในพิกเซล0 - 100
แพ้ 1 หากมีการสูญเสียเกิดขึ้นในช่วงระยะเวลาการศึกษา 0 หรือ 1
กำไร1 หากมีกำไรเกิดขึ้นในช่วงระยะเวลาการศึกษา 0 หรือ 1
lossyearปีที่เกิดการสูญเสีย โดยมีดัชนีเริ่มต้นที่ 1 จากปี 2001 หรือ 0 หากไม่มีการสูญเสีย เกิดขึ้น0 - 12
first_b30แถบสีแดงของ Landsat 7 สร้างจากพิกเซลแรกที่ถูกต้องในปี 2000 (หรือเก่ากว่านั้นหากไม่มีพิกเซลที่ถูกต้องในปี 2000) 0 - 255
first_b40แถบอินฟราเรดใกล้ของ Landsat 7 สร้างขึ้นจากพิกเซลแรกที่ถูกต้อง ในปี 20000 - 255
first_b50แถบอินฟราเรดคลื่นสั้นของ Landsat 7 แถบแรกสร้างขึ้นจากพิกเซลที่ถูกต้องแถบแรกในปี 20000 - 255
first_b70แถบอินฟราเรดคลื่นสั้นของ Landsat 7 ชุดที่ 2 สร้างขึ้นจากพิกเซลที่ถูกต้องชุดแรก ในปี 20000 - 255
last_b30แถบสีแดงของ Landsat 7 สร้างขึ้นจากพิกเซลที่ถูกต้องล่าสุดในปี 2012 0 - 255
last_b40แถบอินฟราเรดใกล้ของ Landsat 7 สร้างขึ้นจากพิกเซลที่ถูกต้องล่าสุด ในปี 20120 - 255
last_b50แถบอินฟราเรดคลื่นสั้นของ Landsat 7 แถบแรกสร้างขึ้นจากพิกเซลที่ถูกต้องล่าสุดในปี 2012 0 - 255
last_b70แถบอินฟราเรดคลื่นสั้นของ Landsat 7 ชุดที่ 2 สร้างขึ้นจากพิกเซลที่ถูกต้องล่าสุดในปี 2012 0 - 255
datamaskไม่มีข้อมูล (0), พื้นผิวบกที่แมป (1) และแหล่งน้ำถาวร (2)0, 1, 2

หากต้องการแสดงพื้นที่ป่าปกคลุมในปี 2000 เป็นรูปภาพระดับสีเทา คุณสามารถใช้treecover2000 แถบที่ระบุในอาร์กิวเมนต์ที่ 2 ของ Map.addLayer() ได้

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');

ซึ่งจะทำให้ได้รูปภาพที่มีลักษณะคล้ายกับรูปที่ 3

สิ่งปกคลุมต้นไม้ในสหรัฐอเมริกา
รูปที่ 3 รูปภาพโทนสีเทาของพื้นที่ปกคลุมของต้นไม้ในปี 2000 ในสหรัฐอเมริกา

นี่คือรูปภาพที่ใช้แถบ 3 แถบ ได้แก่ แถบ 5, 4 และ 3 ของ Landsat สำหรับปี 2015 แถบนี้ แสดงพืชพรรณที่สมบูรณ์เป็นสีเขียวและดินเป็นสีม่วงอมชมพู::

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(
    gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 4

False Color ของสหรัฐอเมริกา
รูปที่ 4 ภาพผสมสีเท็จของสหรัฐอเมริกาจาก Landsat 7 ปี 2015

ภาพที่สวยงามของชุดข้อมูลการเปลี่ยนแปลงของป่าทั่วโลกแสดงให้เห็นขอบเขตของป่าในปี 2000 เป็นสีเขียว การสูญเสียป่าเป็นสีแดง และการเพิ่มขึ้นของป่าเป็นสีน้ำเงิน โดยเฉพาะอย่างยิ่ง ให้กำหนด loss แถบแรก (สีแดง), treecover2000 แถบที่สอง (สีเขียว) และ gain แถบที่สาม (สีน้ำเงิน) ดังนี้

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');

ค่าแถบการสูญเสียและแถบการเพิ่มเป็นแบบไบนารี จึงแทบจะมองไม่เห็นในรูปภาพ ซึ่งควรมีลักษณะคล้ายกับรูปที่ 5

พื้นที่ป่าปกคลุมในสหรัฐอเมริกา
รูปที่ 5 พื้นที่ป่าปี 2000 ในสหรัฐอเมริกา (สีเขียว)

เราต้องการให้การสูญเสียป่าไม้แสดงเป็นสีแดงสด และการเพิ่มขึ้นของป่าไม้แสดงเป็นสีน้ำเงินสด หากต้องการแก้ไขปัญหานี้ เราสามารถใช้พารามิเตอร์การแสดงภาพ max เพื่อตั้งค่า ช่วงที่จะขยายข้อมูลรูปภาพได้ โปรดทราบว่าพารามิเตอร์maxการแสดงภาพ จะใช้รายการค่าที่สอดคล้องกับค่าสูงสุดของแต่ละแถบ

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['loss', 'treecover2000', 'gain'],
  max: [1, 255, 1]
}, 'forest cover, loss, gain');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 6

การเปลี่ยนแปลงของป่าในสหรัฐอเมริกา
รูปที่ 6 การสูญเสียป่าในสหรัฐอเมริกา (สีแดง) พื้นที่ป่าปกคลุมในปี 2000 (สีเขียว) และการเพิ่มขึ้น (สีน้ำเงิน)

ซึ่งจะทำให้ได้ภาพที่เป็นสีเขียวในบริเวณที่มีป่า สีแดงในบริเวณที่มีการสูญเสียป่า สีน้ำเงินในบริเวณที่มีการเพิ่มขึ้นของป่า และสีม่วงแดงในบริเวณที่มีทั้งการเพิ่มขึ้นและการสูญเสีย แต่เมื่อพิจารณาอย่างละเอียดแล้วจะพบว่าไม่ถูกต้อง แทนที่จะเป็น การสูญเสียที่ทำเครื่องหมายเป็นสีแดง แต่เป็นสีส้ม เนื่องจากพิกเซลสีแดงสว่างจะผสมกับ พิกเซลสีเขียวที่อยู่ด้านล่าง ทำให้เกิดพิกเซลสีส้ม ในทำนองเดียวกัน พิกเซลที่มี ป่าไม้ การสูญเสีย และการเพิ่มขึ้นจะเป็นสีชมพู ซึ่งเป็นการผสมผสานระหว่างสีเขียว สีแดงสด และสีน้ำเงินสด ดูภาพประกอบได้ที่รูปที่ 7

การเปลี่ยนแปลงป่าในแปซิฟิกตะวันตกเฉียงเหนือ
รูปที่ 7 การสูญเสียป่าทางตะวันตกเฉียงเหนือของสหรัฐอเมริกา (สีแดง) พื้นที่ปกคลุมในปี 2000 (สีเขียว) และการเพิ่มขึ้น (สีน้ำเงิน)

หากต้องการรับรูปภาพตามที่สัญญาไว้ตอนต้นของบทแนะนำ คุณสามารถสร้างรูปภาพแยกต่างหากสำหรับป่า การสูญเสีย การเพิ่มขึ้น และทั้งการสูญเสียและการเพิ่มขึ้น เพิ่มรูปภาพแต่ละรูปเหล่านี้ลงใน แผนที่ตามลำดับที่เหมาะกับการแสดงผลมากที่สุด

พาเล็ต

หากต้องการแสดงรูปภาพแต่ละรูปเป็นสีที่ต่างกัน คุณสามารถใช้พารามิเตอร์ palette ของ Map.addLayer() สำหรับรูปภาพแถบเดียว ชุดสีช่วยให้คุณตั้งค่า รูปแบบสีที่จะใช้แสดงรูปภาพ (ดูข้อมูลเพิ่มเติมเกี่ยวกับชุดสี) โปรดจำจาก บทแนะนำเกี่ยวกับ Earth Engine API ว่าสี ในจานสีจะขยายเชิงเส้นไปยัง min และ max

เช่น หากต้องการใช้จานสีเขียวเพื่อแสดงภาพขอบเขตป่า คุณสามารถใช้คำสั่งต่อไปนี้

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00']
}, 'forest cover palette');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 8

ขอบเขตป่าไม้ NA
รูปที่ 8 พื้นที่ป่าในอเมริกาเหนือปี 2000

การซูมเข้าจะช่วยให้เห็นความละเอียดของภาพได้ดียิ่งขึ้น รูปที่ 9 แสดงพื้นที่ รอบๆ มาริสคัล เอสตีกาบีอา ในปารากวัย

ขอบเขตป่าไม้ ปารากวัย
รูปที่ 9 พื้นที่ปกคลุมของต้นไม้ในปี 2000 รอบเมือง Mariscal Estigarribia ในปารากวัย

รูปภาพที่แสดงในรูปที่ 3 ค่อนข้างมืด ปัญหาคือtreecover2000แถบมีประเภทข้อมูลไบต์ ([0, 255]) แต่ค่าจริงเป็นเปอร์เซ็นต์ ([0, 100]) หากต้องการเพิ่มความสว่างให้รูปภาพ คุณสามารถตั้งค่าพารามิเตอร์ min และ/หรือ max ตามนั้น จากนั้นจะขยายจานสีระหว่าง ค่าสุดขั้วเหล่านั้น

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover percent');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 9 โปรดทราบว่าในตัวอย่างนี้ มีการตั้งค่าเฉพาะ max โดยค่าเริ่มต้น min จะเป็น 0

ปารากวัยที่ยืดออก
รูปที่ 9 พื้นที่ป่าปี 2000 รอบเมือง Mariscal Estigarribia ในปารากวัย ขยายเป็น [0, 100]

การมาสก์

รูปภาพทั้งหมดที่แสดงจนถึงตอนนี้มีพื้นที่สีดำขนาดใหญ่ซึ่งเป็นบริเวณที่ข้อมูลเป็น 0 เช่น ในมหาสมุทรไม่มีต้นไม้ คุณสามารถมาสก์ค่าของพื้นที่เหล่านี้เพื่อให้มีความโปร่งใสได้ ทุกพิกเซลใน Earth Engine มีทั้งค่าและมาสก์ รูปภาพจะ แสดงผลโดยมีความโปร่งใสที่มาสก์กำหนด โดยค่า 0 คือโปร่งใสทั้งหมด และ ค่า 1 คือทึบแสงทั้งหมด

คุณมาสก์รูปภาพด้วยตัวรูปภาพเองได้ ตัวอย่างเช่น หากมาสก์แบนด์ treecover2000 ด้วยตัวมันเอง พื้นที่ทั้งหมดที่มีการปกคลุมของป่าเป็น 0 จะโปร่งใส

โปรแกรมแก้ไขโค้ด (JavaScript)

Map.addLayer(gfc2014.mask(gfc2014), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 10

ร่มไม้ในทวีปอเมริกา
รูปที่ 10 พื้นที่ที่มีต้นไม้ในปี 2000 ซึ่งขยายและมาสก์แล้ว

ตัวอย่าง

คุณสามารถสร้างภาพข้อมูลของ Hansen ได้เกือบจะเหมือนกับภาพที่ ตอนต้นของบทแนะนำ ในตัวอย่างนี้ เราจะรวมทุกอย่างเข้าด้วยกันโดยมี ความแตกต่างเพียงเล็กน้อย เราจะสร้างรูปภาพใหม่โดยใช้ select() แทนการระบุพารามิเตอร์ bands ในการเรียก Map.addLayer

โปรแกรมแก้ไขโค้ด (JavaScript)

var treeCover = gfc2014.select(['treecover2000']);
var lossImage = gfc2014.select(['loss']);
var gainImage = gfc2014.select(['gain']);

// Add the tree cover layer in green.
Map.addLayer(treeCover.updateMask(treeCover),
    {palette: ['000000', '00FF00'], max: 100}, 'Forest Cover');

// Add the loss layer in red.
Map.addLayer(lossImage.updateMask(lossImage),
            {palette: ['FF0000']}, 'Loss');

// Add the gain layer in blue.
Map.addLayer(gainImage.updateMask(gainImage),
            {palette: ['0000FF']}, 'Gain');

ผลลัพธ์ควรมีลักษณะคล้ายกับรูปที่ 11

กำไรขาดทุนจากอเมริกา
รูปที่ 11 การสูญเสียป่า (สีแดง) พื้นที่ปกคลุมในปี 2000 (สีเขียว) และการเพิ่มขึ้น (สีน้ำเงิน)

สังเกตว่ามีการเรียกใช้ addLayer() 3 ครั้ง แต่ละ addLayer() การเรียกจะเพิ่มเลเยอร์ลงในแผนที่ การวางเมาส์เหนือปุ่ม เลเยอร์ที่ด้านขวาบนของแผนที่จะแสดงเลเยอร์ เหล่านี้ คุณสามารถปิดหรือเปิดเลเยอร์แต่ละรายการได้โดยใช้ช่องทําเครื่องหมายข้างเลเยอร์ และ ความทึบของเลเยอร์จะได้รับผลกระทบจากแถบเลื่อนข้างชื่อเลเยอร์

เราเกือบจะสร้างรูปภาพที่แสดงที่จุดเริ่มต้นของบทแนะนำได้แล้ว อย่างไรก็ตาม เลเยอร์ที่แสดงพิกเซลที่มีทั้งการสูญเสียและการเพิ่มขาดหายไป ที่ไม่มีข้อมูลนี้เป็นเพราะ เราต้องทราบวิธีคำนวณแถบของรูปภาพก่อนจึงจะคำนวณได้ว่า พิกเซลใดแสดงทั้งการสูญเสียและกำไร นี่คือหัวข้อของส่วนถัดไป