Earth Engine เป็นเครื่องมือวิเคราะห์ที่มีประสิทธิภาพ แต่คุณอาจต้องส่งออกผลลัพธ์
ของการวิเคราะห์เพื่อฝังแผนภูมิ รูปภาพ แผนที่ ฯลฯ ลงในรายงานหรือ
สิ่งพิมพ์ ในส่วนนี้ คุณจะได้เรียนรู้วิธีสร้างแผนภูมิและรูปภาพ
ที่ส่งออกและดูในซอฟต์แวร์อื่นๆ ได้ โปรดจำว่าในส่วนก่อนหน้า คุณใช้โค้ดต่อไปนี้เพื่อเพิ่มแบนด์ NDVI ลงในทุกรูปภาพในคอลเล็กชัน โดยที่ตัวแปร l8
อ้างอิงถึงคอลเล็กชันการสะท้อน TOA ของ Landsat 8
โปรแกรมแก้ไขโค้ด (JavaScript)
// Import the Landsat 8 TOA image collection. var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); // Map a function over the Landsat 8 TOA collection to add an NDVI band. var withNDVI = l8.map(function(image) { var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); return image.addBands(ndvi); });
อวดชาร์ตเพลง
สมมติว่าสิ่งที่คุณต้องการคือแผนภูมิ NDVI เมื่อเวลาผ่านไป ณ ตำแหน่งที่กำหนด หากต้องการ
สร้างแผนภูมิดังกล่าว ขั้นตอนแรกคือการเลือกสถานที่ที่สนใจ สร้างจุด
โดยรับเครื่องมือวาดจุด ()
และสร้างรูปเรขาคณิตแบบจุดเดียวในพื้นที่ที่คุณสนใจ (หากคุณมีการนำเข้าอยู่แล้ว ให้วางเมาส์เหนือการนำเข้าเรขาคณิต แล้วคลิก + เลเยอร์ใหม่ ก่อน)
ระบุจุดในพื้นที่เกษตรกรรม ป่าผลัดใบ ทุ่งหญ้าประจำปี หรือพื้นที่ปกคลุมอื่นๆ ที่มีวงจรประจำปี ตั้งชื่อการนำเข้า
roi
(ดูข้อมูลเกี่ยวกับการสร้างเรขาคณิตโดยใช้โปรแกรมได้ที่หน้านี้)
ตอนนี้เรามาใช้roi
จุดเพื่อสร้างแผนภูมิ NDVI เมื่อเวลาผ่านไปในพิกเซล
ใต้จุดนั้นกัน วิธีสร้างแผนภูมิใน Earth Engine คือใช้แพ็กเกจ ui.Chart
(ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแผนภูมิใน Earth Engine)
โดยเฉพาะอย่างยิ่ง หากต้องการสร้างแผนภูมิตามช่วงเวลา คุณสามารถใช้วิธีต่อไปนี้
ui.Chart.image.series()
โปรแกรมแก้ไขโค้ด (JavaScript)
// Create a chart. var chart = ui.Chart.image.series({ imageCollection: withNDVI.select('NDVI'), region: roi, reducer: ee.Reducer.first(), scale: 30 }).setOptions({title: 'NDVI over time'}); // Display the chart in the console. print(chart);
สำหรับroi
เรขาคณิต เราเลือกจุดในพื้นที่เกษตรกรรม ซึ่งส่งผล
ให้เกิดแผนภูมิที่ดูคล้ายกับรูปที่ 10 โปรดทราบว่าพารามิเตอร์ของตัวสร้างแผนภูมิ
มีตัวลดและมาตราส่วน เช่น reduceRegion()
เนื่องจากจุดที่เราให้เป็นภูมิภาคจะตัดกับพิกเซลได้เพียงพิกเซลเดียว จึงเพียงพอที่จะใช้ตัวลด "first" หากมีภูมิภาคที่ใหญ่ขึ้น คุณควรใช้ "ค่าเฉลี่ย" หรือตัวลดอื่นๆ
ที่ระบุวิธีรวมพิกเซล นอกจากนี้ โปรดทราบว่าหากต้องการแสดงภาพแผนภูมิ สิ่งที่คุณต้องทำคือพิมพ์แผนภูมิ

การนอกเรื่อง: การมาสก์เมฆอย่างง่ายสำหรับ Landsat
สิ่งที่คุณอาจสังเกตเห็นเกี่ยวกับแผนภูมินี้คืออนุกรมเวลาของค่า NDVI
ที่จุดนั้นดูไม่ค่อยราบรื่น ซึ่งน่าจะเกิดจากเมฆ Earth Engine มีอัลกอริทึมการมาสก์เมฆสำหรับเซ็นเซอร์ Landsat ที่มี
แถบความร้อน ee.Algorithms.Landsat.simpleCloudScore()
เพื่อลดผลกระทบนี้ โดยรับภาพการสะท้อน TOA ของ Landsat เป็นอินพุตและเพิ่มแบนด์ชื่อ cloud
ซึ่งเป็นดัชนี
ความมีเมฆในพิกเซลจาก 0 ถึง 100 จากมีเมฆน้อยที่สุดไปจนถึงมีเมฆมากที่สุดตามลำดับ การ
แก้ไขฟังก์ชันที่คุณแมปกับคอลเล็กชันจะช่วยให้คุณใช้เกณฑ์ที่กำหนดเอง (20) ในดัชนีระบบคลาวด์เพื่อล้างแผนภูมิได้เล็กน้อย
โปรแกรมแก้ไขโค้ด (JavaScript)
var cloudlessNDVI = l8.map(function(image) { // Get a cloud score in [0, 100]. var cloud = ee.Algorithms.Landsat.simpleCloudScore(image).select('cloud'); // Create a mask of cloudy pixels from an arbitrary threshold. var mask = cloud.lte(20); // Compute NDVI. var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); // Return the masked image with an NDVI band. return image.addBands(ndvi).updateMask(mask); }); print(ui.Chart.image.series({ imageCollection: cloudlessNDVI.select('NDVI'), region: roi, reducer: ee.Reducer.first(), scale: 30 }).setOptions({title: 'Cloud-masked NDVI over time'}));
ผลลัพธ์ที่มาสก์เมฆแสดงในรูปที่ 11 โปรดทราบว่าอนุกรมเวลาจะดู ราบรื่นขึ้นเล็กน้อย แต่ก็อาจยังมีพิกเซลที่ได้รับผลกระทบจากเมฆ ปรับเกณฑ์ ในดัชนีระบบคลาวด์และสังเกตอนุกรมเวลาที่สร้างแผนภูมิเพื่อดูว่าเกณฑ์นี้ส่งผลต่อผลลัพธ์อย่างไร

การส่งออกรูปภาพ
คุณได้เห็นวิธีส่งออกแผนภูมิข้อมูลที่คำนวณโดย Earth Engine แล้ว แต่จะทำอย่างไรกับ รูปภาพทั้งภาพ สมมติว่าคุณสร้างคอมโพสิตพิกเซลที่เขียวที่สุด ตามที่อธิบายไว้ในส่วนก่อนหน้า
โปรแกรมแก้ไขโค้ด (JavaScript)
var greenest = cloudlessNDVI.qualityMosaic('NDVI');
ความแตกต่างเพียงอย่างเดียวในโค้ดนี้จากสิ่งที่คุณทำก่อนหน้านี้คือตอนนี้เราใช้คอลเล็กชันที่มาสก์ในระบบคลาวด์
คุณสามารถส่งออกชุดข้อมูลย่อย (กำหนดโดยภูมิภาค) ของข้อมูลนี้ได้
โดยใช้แพ็กเกจ Export
(ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งออก
ข้อมูลแรสเตอร์และเวกเตอร์จาก Earth Engine) เช่น หากต้องการส่งออกรูปภาพที่ฝังในเอกสารอื่นๆ ได้ง่าย ให้สร้างรูปภาพการแสดงข้อมูลด้วยภาพตามที่เคยทำ แล้วส่งออกไปยังโฟลเดอร์ Google ไดรฟ์
โปรแกรมแก้ไขโค้ด (JavaScript)
// Create a 3-band, 8-bit, color-IR composite to export. var visualization = greenest.visualize({ bands: ['B5', 'B4', 'B3'], max: 0.4 }); // Create a task that you can launch from the Tasks tab. Export.image.toDrive({ image: visualization, description: 'Greenest_pixel_composite', scale: 30 });
เมื่อเรียกใช้โค้ดนี้ โปรดทราบว่าระบบจะสร้างงานใหม่ในแท็บงาน หากต้องการเปิดกล่องโต้ตอบการกำหนดค่าการส่งออก ให้คลิกปุ่มเรียกใช้ในแท็บงาน เมื่อกำหนดค่างานแล้ว ให้คลิกปุ่มเรียกใช้ ในกล่องโต้ตอบเพื่อเริ่มการส่งออก แต่โปรดทราบว่า
เหตุผลที่คุณควรระมัดระวังเมื่อส่งออกโดยไม่มีอาร์กิวเมนต์ region
คือหากคุณตั้งค่า scale
เป็นค่าที่ค่อนข้างเล็ก และซูมออก
แผนที่ไปยังพื้นที่ขนาดใหญ่ คุณจะส่งออกอิมเมจที่อาจมีขนาดใหญ่มาก
ไปยังโฟลเดอร์ไดรฟ์ ดูรายละเอียดเพิ่มเติมและรายการพารามิเตอร์การกำหนดค่าที่เป็นไปได้ได้ในExport.image.toDrive()
เอกสารใน
แท็บเอกสาร
การแนะนำ Earth Engine API ก็จบลงแต่เพียงเท่านี้ ตอนนี้คุณได้เห็นฟังก์ชันการทำงานที่พบบ่อยที่สุดของ Earth Engine แล้ว และควรจะสามารถดำเนินการวิเคราะห์ที่ซับซ้อนมากขึ้นได้อย่างมั่นใจ โปรดอ่านเอกสารและค้นหาคำตอบสำหรับคำถามอื่นๆ ในฟอรัม ขอให้สนุกกับการเขียนโค้ด