การปรับ Landsat ETM+ ให้สอดคล้องกับ OLI

แก้ไขใน GitHub
รายงานปัญหา
ประวัติหน้าเว็บ
ผู้เขียน: jdbcode

คำเตือน: ขั้นตอนที่อธิบายไว้ในบทแนะนำนี้เพื่อปรับข้อมูล Landsat ETM+ และ OLI ให้สอดคล้องกันนั้นล้าสมัยแล้ว และไม่แนะนำหรือจำเป็นเมื่อทำงานกับ ข้อมูลการสะท้อนพื้นผิวของ Landsat Collection 2 ดูข้อมูลเพิ่มเติมได้ที่ รายการคำถามที่พบบ่อยเกี่ยวกับการปรับ Landsat ให้สอดคล้องกัน ข้อมูลคอลเล็กชัน 1 เลิกใช้งานแล้ว และโค้ดในบทแนะนำนี้จะใช้งานไม่ได้หรือได้รับการอัปเดตอีกต่อไป

เปิดในตัวแก้ไขโค้ด

บทแนะนำนี้เกี่ยวข้องกับการปรับความสอดคล้องของค่าการสะท้อนพื้นผิวของ Landsat ETM+ กับค่าการสะท้อนพื้นผิวของ Landsat OLI โดยจะให้ข้อมูลต่อไปนี้

  • ฟังก์ชันการแปลงสเปกตรัม
  • ฟังก์ชันในการสร้างข้อมูลที่พร้อมสำหรับการวิเคราะห์
  • ตัวอย่างการแสดงภาพอนุกรมเวลา

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

โปรดทราบว่าค่าสัมประสิทธิ์สำหรับการแปลง ETM+ เป็น OLI จะใช้กับ TM ด้วย ดังนั้นในบทแนะนำนี้ การอ้างอิงถึง ETM+ จึงมีความหมายเหมือนกับ TM

เกี่ยวกับ Landsat

Landsat เป็นโปรแกรมถ่ายภาพจากดาวเทียม ที่รวบรวมภาพของโลกที่มีความละเอียดปานกลางมาตั้งแต่ปี 1972 ในฐานะโปรแกรมสังเกตการณ์โลกจากอวกาศที่ยาวนานที่สุด โปรแกรมนี้จึงให้บันทึกชั่วคราวที่มีคุณค่า สำหรับการระบุแนวโน้มเชิงพื้นที่และเวลาในการเปลี่ยนแปลงของภูมิทัศน์ ในบทแนะนำนี้จะใช้ข้อมูลเครื่องมือ Thematic Mapper (TM), Enhanced Thematic Mapper Plus (ETM+) และ Operational Land Imager (OLI) ข้อมูลทั้ง 2 ชุดมีความเกี่ยวข้องอย่างใกล้ชิด และรวมเข้ากับอนุกรมเวลาที่สอดคล้องกันได้ค่อนข้างง่าย ซึ่งจะ สร้างบันทึกต่อเนื่องตั้งแต่ปี 1984 จนถึงปัจจุบัน โดยมีรอบการอัปเดตทุก 16 วัน ต่อเซ็นเซอร์ที่มีความละเอียดเชิงพื้นที่ 30 เมตร เครื่องมือ Multispectral Scanner จะขยายบันทึก Landsat ย้อนกลับไปถึงปี 1972 แต่ไม่ได้ใช้ในบทแนะนำนี้ ข้อมูลของเซ็นเซอร์รุ่นนี้แตกต่างจากเซ็นเซอร์รุ่นอื่นๆ อย่างมาก ทำให้การผสานรวมกับเซ็นเซอร์รุ่นต่อๆ ไปเป็นเรื่องยาก ดูตัวอย่างการปรับให้สอดคล้องกันในเซ็นเซอร์ทั้งหมดได้ที่ Savage et al. (2018) และ Vogeler et al. (2018)

เหตุผลที่ต้องมีการประสาน

Roy และคณะ (2016) แสดงให้เห็นว่าลักษณะสเปกตรัมของ Landsat ETM+ และ OLI มีความแตกต่างกันเล็กน้อยแต่มีความสำคัญ ขึ้นอยู่กับการใช้งาน เหตุผลที่คุณอาจต้องการปรับชุดข้อมูลให้สอดคล้องกัน ได้แก่ การสร้าง อนุกรมเวลาที่ยาวนานซึ่งครอบคลุม Landsat TM, ETM+ และ OLI การสร้าง คอมโพสิตภายในปีที่ใกล้เคียงวันที่เพื่อลดผลกระทบจากการสังเกตการณ์ที่ขาดหายไปจากช่องว่างของ ETM+ SLC-off และการมาสก์เมฆ/เงา หรือเพิ่มความถี่ในการสังเกตการณ์ ภายในอนุกรมเวลา โปรดดูข้อมูลเพิ่มเติมในต้นฉบับที่ลิงก์ไว้ด้านบน

วิธีการ

ฟังก์ชัน

ต่อไปนี้คือชุดฟังก์ชันที่จำเป็นต่อการประสาน ETM+ กับ OLI และสร้างข้อมูลที่พร้อมสำหรับการวิเคราะห์ซึ่งจะใช้ในส่วนแอปพลิเคชันของ บทแนะนำนี้เพื่อแสดงภาพประวัติสเปกตรัม-เวลาของพิกเซล

การปรับให้สอดคล้องกัน

การปรับให้สอดคล้องกันทำได้ผ่านการแปลงเชิงเส้นของพื้นที่สเปกตรัม ETM+ เป็นพื้นที่สเปกตรัม OLI ตามค่าสัมประสิทธิ์ที่แสดงในตารางที่ 2 ของค่าสัมประสิทธิ์การถดถอย OLS ใน Roy และคณะ (2016) ค่าสัมประสิทธิ์ของแต่ละแถบความถี่จะกำหนดไว้ในพจนานุกรมต่อไปนี้โดยมีค่าคงที่ของรูปภาพความชัน (slopes) และค่าคงที่ของรูปภาพจุดตัด (itcps) โปรดทราบว่าค่าจุดตัดแกน y จะคูณด้วย 10,000 เพื่อให้ตรงกับการปรับขนาดข้อมูลการสะท้อนพื้นผิว Landsat ของ USGS

var coefficients = {
  itcps: ee.Image.constant([0.0003, 0.0088, 0.0061, 0.0412, 0.0254, 0.0172])
             .multiply(10000),
  slopes: ee.Image.constant([0.8474, 0.8483, 0.9047, 0.8462, 0.8937, 0.9071])
};

ชื่อแถบ ETM+ และ OLI สำหรับหน้าต่างการตอบสนองต่อสเปกตรัมเดียวกันไม่เท่ากันและ ต้องได้รับการปรับมาตรฐาน ฟังก์ชันต่อไปนี้จะเลือกเฉพาะแถบการสะท้อนแสง และแถบ pixel_qa จากชุดข้อมูลแต่ละชุด และเปลี่ยนชื่อตาม ช่วงความยาวคลื่นที่แสดง

// Function to get and rename bands of interest from OLI.
function renameOli(img) {
  return img.select(
      ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'pixel_qa'],
      ['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa']);
}

// Function to get and rename bands of interest from ETM+.
function renameEtm(img) {
  return img.select(
      ['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa'],
      ['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa']);
}

สุดท้าย ให้กำหนดฟังก์ชันการเปลี่ยนรูปแบบ ซึ่งใช้โมเดลเชิงเส้นกับ ข้อมูล ETM+ แปลงประเภทข้อมูลเป็น Int16 เพื่อให้สอดคล้องกับ OLI และแนบ แถบ pixel_qa อีกครั้งเพื่อใช้ในภายหลังในการมาสก์เมฆและเงา

function etmToOli(img) {
  return img.select(['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2'])
      .multiply(coefficients.slopes)
      .add(coefficients.itcps)
      .round()
      .toShort()
      .addBands(img.select('pixel_qa'));
}

การมาสก์เมฆและเงา

ข้อมูลที่พร้อมสำหรับการวิเคราะห์ควรมีการมาสก์เมฆและเงาเมฆออก ฟังก์ชันต่อไปนี้ใช้ CFmask (Zhu et al., 2015) pixel_qa แบนด์ที่รวมไว้กับภาพการสะท้อนพื้นผิวของ USGS จาก Landsat แต่ละภาพเพื่อตั้งค่า พิกเซลที่ระบุว่าเป็นเมฆและเงาเมฆเป็นค่า Null

function fmask(img) {
  var cloudShadowBitMask = 1 << 3;
  var cloudsBitMask = 1 << 5;
  var qa = img.select('pixel_qa');
  var mask = qa.bitwiseAnd(cloudShadowBitMask)
                 .eq(0)
                 .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
  return img.updateMask(mask);
}

การคำนวณดัชนีสเปกตรัม

แอปพลิเคชันที่กำลังจะเปิดตัวใช้ดัชนีสเปกตรัมอัตราส่วนการเผาไหม้ที่ปรับแล้ว (NBR) เพื่อแสดงประวัติสเปกตรัมของพิกเซลป่าไม้ที่ได้รับผลกระทบจากไฟป่า เราใช้ NBR เนื่องจาก Cohen และคณะ (2018) พบว่าในดัชนี/แถบความถี่สเปกตรัม 13 รายการ NBR มีอัตราส่วนสัญญาณต่อสัญญาณรบกวนสูงสุดในเรื่องการรบกวนป่า (สัญญาณ) ทั่วทั้งสหรัฐอเมริกา โดยคำนวณจากฟังก์ชันต่อไปนี้

function calcNbr(img) {
  return img.normalizedDifference(['NIR', 'SWIR2']).rename('NBR');
}

ในแอปพลิเคชันของคุณเอง คุณอาจเลือกใช้ดัชนีสเปกตรัมอื่นได้ คุณสามารถแก้ไขหรือเพิ่มดัชนีเพิ่มเติมได้ที่นี่

รวมฟังก์ชัน

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

// Define function to prepare OLI images.
function prepOli(img) {
  var orig = img;
  img = renameOli(img);
  img = fmask(img);
  img = calcNbr(img);
  return ee.Image(img.copyProperties(orig, orig.propertyNames()));
}

// Define function to prepare ETM+ images.
function prepEtm(img) {
  var orig = img;
  img = renameEtm(img);
  img = fmask(img);
  img = etmToOli(img);
  img = calcNbr(img);
  return ee.Image(img.copyProperties(orig, orig.propertyNames()));
}

ในแอปพลิเคชัน คุณอาจตัดสินใจว่าจะรวมหรือยกเว้นฟังก์ชัน แก้ไข ฟังก์ชันเหล่านี้ได้ตามต้องการ

ตัวอย่างอนุกรมเวลา

ฟังก์ชัน Wrapper prepOli และ prepEtm ด้านบนสามารถแมปกับคอลเล็กชันการสะท้อนพื้นผิวของ Landsat เพื่อสร้างข้อมูลที่พร้อมสำหรับการวิเคราะห์ข้ามเซ็นเซอร์เพื่อ แสดงลำดับเวลาสเปกตรัมของพิกเซลหรือภูมิภาคของพิกเซล ใน ตัวอย่างนี้ คุณจะสร้างอนุกรมเวลาที่มีอายุมากกว่า 35 ปีและแสดงประวัติสเปกตรัม สำหรับพิกเซลเดียว พิกเซลนี้เกี่ยวข้องกับประวัติล่าสุดของผืนป่าสนที่เจริญเติบโตเต็มที่ในแปซิฟิกตะวันตกเฉียงเหนือ (รูปที่ 1) ซึ่งได้รับผลกระทบในช่วงทศวรรษ 1980 และ 1990 และเกิดไฟป่ารุนแรงในปี 2011

สถานที่ที่สนใจ

รูปที่ 1 ลักษณะสถานที่และเว็บไซต์สำหรับตัวอย่างพื้นที่ที่สนใจ ป่าสนที่เจริญเติบโตเต็มที่ใน แปซิฟิกตะวันตกเฉียงเหนือบนเนินทางเหนือของภูเขาฮูด รัฐออริกอน สหรัฐอเมริกา รูปภาพ ได้รับความอนุเคราะห์จาก Google Earth, USDA Forest Service, Landsat และ Copernicus

กำหนดพื้นที่ที่สนใจ (AOI)

ผลลัพธ์ของแอปพลิเคชันนี้คืออนุกรมเวลาของการสังเกตการณ์ Landsat สำหรับพิกเซล ระบบจะใช้ออบเจ็กต์ ee.Geometry.Point เพื่อกำหนดตำแหน่งของพิกเซล

var aoi = ee.Geometry.Point([-121.70938, 45.43185]);

คุณอาจเลือกพิกเซลอื่นในการสมัคร โดยแทนที่พิกัดลองจิจูดและละติจูดด้านบน หรือจะสรุป ประวัติสเปกตรัมของกลุ่มพิกเซลโดยใช้ee.Geometryคำจำกัดความของออบเจ็กต์อื่นๆ เช่น ee.Geometry.Polygon() และ ee.Geometry.Rectangle() ก็ได้ โปรดดูข้อมูลเพิ่มเติมในส่วน รูปทรงเรขาคณิต ของคู่มือนักพัฒนาซอฟต์แวร์

เรียกข้อมูลคอลเล็กชันเซ็นเซอร์ Landsat

รับคอลเล็กชันการสะท้อนพื้นผิว USGS ของ Landsat สำหรับ OLI ETM+ และ TM

โปรดไปที่ลิงก์เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับชุดข้อมูลแต่ละชุด

var oliCol = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR');
var etmCol = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR');
var tmCol = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR');

กำหนดตัวกรองคอลเล็กชันรูปภาพ

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

var colFilter = ee.Filter.and(
    ee.Filter.bounds(aoi), ee.Filter.calendarRange(182, 244, 'day_of_year'),
    ee.Filter.lt('CLOUD_COVER', 50), ee.Filter.lt('GEOMETRIC_RMSE_MODEL', 10),
    ee.Filter.or(
        ee.Filter.eq('IMAGE_QUALITY', 9),
        ee.Filter.eq('IMAGE_QUALITY_OLI', 9)));

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

เตรียมคอลเล็กชัน

ผสานรวมคอลเล็กชัน ใช้ตัวกรอง และแมปฟังก์ชัน prepImg กับรูปภาพทั้งหมด ผลลัพธ์ของข้อมูลโค้ดต่อไปนี้คือ ee.ImageCollection รายการเดียวที่มีรูปภาพจากคอลเล็กชันเซ็นเซอร์ OLI, ETM+ และ TM ที่ตรงตาม เกณฑ์การกรอง และได้รับการประมวลผลเป็น NBR ที่พร้อมสำหรับการวิเคราะห์

// Filter collections and prepare them for merging.
oliCol = oliCol.filter(colFilter).map(prepOli);
etmCol = etmCol.filter(colFilter).map(prepEtm);
tmCol = tmCol.filter(colFilter).map(prepEtm);

// Merge the collections.
var col = oliCol.merge(etmCol).merge(tmCol);

สร้างแผนภูมิอนุกรมเวลาที่แสดงการสังเกตทั้งหมด

ความสอดคล้องระหว่างเซ็นเซอร์สามารถประเมินเชิงคุณภาพได้โดยการพล็อตการสังเกตทั้งหมด เป็นแผนภูมิกระจายซึ่งแยกเซ็นเซอร์ด้วยสี ui.Chart.feature.groups ฟังก์ชันของ Earth Engine มีเครื่องมือนี้ให้ แต่ก่อนอื่นต้องเพิ่มค่า NBR ที่สังเกตได้ ลงในแต่ละรูปภาพเป็นพร็อพเพอร์ตี้ แมปฟังก์ชัน reduce ภูมิภาคเหนือคอลเล็กชันรูปภาพที่คำนวณค่ามัธยฐานของพิกเซลทั้งหมด ที่ตัดกับ AOI และตั้งค่าผลลัพธ์เป็นพร็อพเพอร์ตี้รูปภาพ

var allObs = col.map(function(img) {
  var obs = img.reduceRegion(
      {geometry: aoi, reducer: ee.Reducer.median(), scale: 30});
  return img.set('NBR', obs.get('NBR'));
});

ในแอปพลิเคชันของคุณเอง หาก AOI เป็นพื้นที่ขนาดใหญ่ คุณอาจพิจารณา เพิ่ม scale และระบุอาร์กิวเมนต์ bestEffort, maxPixels, tileScale สำหรับฟังก์ชัน reduceRegion เพื่อให้แน่ใจว่าการดำเนินการจะไม่ เกินขีดจำกัดของพิกเซลสูงสุด หน่วยความจำ หรือการหมดเวลา นอกจากนี้ คุณยังแทนที่ตัวลดค่ามัธยฐานด้วยสถิติที่ต้องการได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ส่วนสถิติของภูมิภาครูปภาพในคู่มือนักพัฒนาซอฟต์แวร์

ตอนนี้ฟังก์ชัน ui.Chart.feature.groups สามารถยอมรับคอลเล็กชันได้แล้ว ฟังก์ชันนี้คาดหวังคอลเล็กชันและชื่อของพร็อพเพอร์ตี้ออบเจ็กต์คอลเล็กชัน เพื่อแมปกับแผนภูมิ ในที่นี้ พร็อพเพอร์ตี้ "system:time_start" จะทำหน้าที่เป็นตัวแปรแกน x และ "NBR" จะทำหน้าที่เป็นตัวแปรแกน y โปรดทราบว่าพร็อพเพอร์ตี้ NBR ได้รับการตั้งชื่อโดยreduceRegionฟังก์ชันด้านบนตามชื่อวงดนตรีในรูปภาพที่ลดลง หากคุณใช้แบนด์อื่น (ไม่ใช่ "NBR") ให้เปลี่ยนอาร์กิวเมนต์ชื่อพร็อพเพอร์ตี้แกน y ตามนั้น สุดท้าย ให้ตั้งค่าตัวแปรการจัดกลุ่ม (ชุดข้อมูล) เป็น "SATELLITE" ซึ่งจะกำหนดสีที่แตกต่างกัน

var chartAllObs =
    ui.Chart.feature.groups(allObs, 'system:time_start', 'NBR', 'SATELLITE')
        .setChartType('ScatterChart')
        .setSeriesNames(['TM', 'ETM+', 'OLI'])
        .setOptions({
          title: 'All Observations',
          colors: ['f8766d', '00ba38', '619cff'],
          hAxis: {title: 'Date'},
          vAxis: {title: 'NBR'},
          pointSize: 6,
          dataOpacity: 0.5
        });
print(chartAllObs);

แผนภูมิที่คล้ายกับรูปที่ 2 จะปรากฏในคอนโซลหลังจากประมวลผล ไประยะหนึ่ง โปรดทราบสิ่งต่อไปนี้

  • โดยจะมีการสังเกตการณ์หลายครั้งต่อปี
  • อนุกรมเวลาประกอบด้วยเซ็นเซอร์ 3 ตัวที่แตกต่างกัน
  • ไม่มีอคติของเซ็นเซอร์ที่สังเกตได้
  • ความถี่ในการสังเกตการณ์จะแตกต่างกันไปในแต่ละปี
  • มีความแปรปรวนภายในปี ซึ่งสอดคล้องกันในแต่ละปีและค่อนข้างแคบ การลองใช้ NDVI (img.normalizedDifference(['SWIR1', 'NIR']).rename('NDVI');) แสดงให้เห็นความแปรปรวนของการตอบสนองภายในและระหว่างปีที่มากกว่ามาก
  • NBR ยังคงสูงสำหรับอนุกรมเวลาส่วนใหญ่โดยมีการรบกวนเล็กน้อย
  • การลดลงอย่างรวดเร็วของ NBR เป็นผลมาจากไฟป่าที่เห็นได้ชัดใน
  • อย่างไรก็ตาม โปรดทราบว่าไฟไหม้ (ทะเลสาบดอลลาร์) เกิดขึ้นในเดือนกันยายน 2011 ข้อผิดพลาดในปีที่ตรวจพบเกิดจากช่วงวันที่แบบรวมรายปีคือเดือนกรกฎาคมถึงสิงหาคม การเปลี่ยนแปลงที่เกิดขึ้นหลังจากช่วงเวลานี้จะไม่ได้รับการเลือกจนกว่าจะมีการสังเกตการณ์ที่ไม่ใช่ค่าว่างครั้งถัดไป ซึ่งอาจเป็นปีถัดไปหรือหลังจากนั้น
  • การฟื้นตัวของพืชพรรณ (การตอบสนองของ NBR เพิ่มขึ้น) เริ่มขึ้น 2 ปีหลังจากตรวจพบการสูญเสีย NBR ที่สำคัญ

อนุกรมเวลาการสังเกตทั้งหมด

รูปที่ 2 แผนภูมิอนุกรมเวลาการตอบสนองสเปกตรัมสำหรับพิกเซลเดียว โดยมีข้อมูลจาก Landsat TM, ETM+ และ OLI รูปภาพ TM และ ETM+ ได้รับการปรับให้สอดคล้องกับ OLI โดยการแปลงเชิงเส้น รูปภาพมาจากเดือนกรกฎาคมถึงสิงหาคมและได้รับการกรองเพื่อคุณภาพสูง

สร้างแผนภูมิอนุกรมเวลาที่แสดงค่ามัธยฐานรายปี

หากต้องการลดความซับซ้อนและลดสัญญาณรบกวนจากอนุกรมเวลา คุณสามารถใช้การลดการสังเกตการณ์ภายในปีได้ ในที่นี้จะใช้ค่ามัธยฐาน

ขั้นตอนแรกคือการจัดกลุ่มรูปภาพตามปี เพิ่มพร็อพเพอร์ตี้ "ปี" ใหม่ในแต่ละรูปภาพโดยการแมปการตั้งค่าคอลเล็กชัน "ปี" จาก ee.Image.Date ของแต่ละรูปภาพ

var col = col.map(function(img) {
  return img.set('year', img.date().get('year'));
});

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

var distinctYearCol = col.distinct('year');

กำหนดตัวกรองและการรวมที่จะระบุปีที่ตรงกันระหว่าง คอลเล็กชันปีที่ไม่ซ้ำกัน (distinctYearCol) กับคอลเล็กชันที่สมบูรณ์ (col) ระบบจะบันทึกรายการที่ตรงกันไว้ในพร็อพเพอร์ตี้ชื่อ "year_matches"

var filter = ee.Filter.equals({leftField: 'year', rightField: 'year'});
var join = ee.Join.saveAll('year_matches');

ใช้การรวมและแปลง FeatureCollection ที่ได้เป็น ImageCollection

var joinCol = ee.ImageCollection(join.apply(distinctYearCol, col, filter));

// Apply median reduction among matching year collections.
var medianComp = joinCol.map(function(img) {
  var yearCol = ee.ImageCollection.fromImages(img.get('year_matches'));
  return yearCol.reduce(ee.Reducer.median())
      .set('system:time_start', img.date().update({month: 8, day: 1}));
});

เปลี่ยน ee.Reducer ด้านบนหากต้องการใช้สถิติอื่นที่ไม่ใช่ค่ามัธยฐานเพื่อ แสดงรูปภาพที่รวบรวมในปีที่กำหนด

สุดท้าย ให้สร้างแผนภูมิที่แสดงค่า NBR มัธยฐานจากชุดข้อมูล การสังเกตการณ์ในช่วงฤดูร้อนภายในปี เปลี่ยนสถิติการลดภูมิภาคได้ตามต้องการ

var chartMedianComp = ui.Chart.image
                          .series({
                            imageCollection: medianComp,
                            region: aoi,
                            reducer: ee.Reducer.median(),
                            scale: 30,
                            xProperty: 'system:time_start',
                          })
                          .setSeriesNames(['NBR Median'])
                          .setOptions({
                            title: 'Intra-annual Median',
                            colors: ['619cff'],
                            hAxis: {title: 'Date'},
                            vAxis: {title: 'NBR'},
                            lineWidth: 6
                          });
print(chartMedianComp);

แผนภูมิที่คล้ายกับรูปที่ 3 จะปรากฏในคอนโซลหลังจากผ่านการประมวลผล ไประยะหนึ่ง

มัธยฐานของอนุกรมเวลา

รูปที่ 3 แผนภูมิอนุกรมเวลาของการตอบสนองต่อสเปกตรัมในช่วงฤดูร้อนที่เป็นค่ามัธยฐานสำหรับ พิกเซลเดียวที่มีการแสดงจาก Landsat TM, ETM+ และ OLI ระบบจะปรับรูปภาพ TM และ ETM+ ให้สอดคล้องกับ OLI โดยใช้การแปลงเชิงเส้น รูปภาพมาจากช่วงเดือนกรกฎาคมถึงสิงหาคมและได้รับการกรองเพื่อคุณภาพสูง

ข้อมูลเพิ่มเติม

ฟังก์ชันการแปลงทางเลือก

ตารางที่ 2 ของ Roy et al. (2016) แสดงค่าสัมประสิทธิ์การถดถอย OLS และ RMA เพื่อแปลงการสะท้อนพื้นผิว ETM+ เป็นการสะท้อนพื้นผิว OLI และในทางกลับกัน บทแนะนำข้างต้นแสดงเฉพาะการแปลง ETM+ เป็น OLI โดยการถดถอย OLS คุณดูฟังก์ชันสำหรับตัวเลือกการแปลทั้งหมดได้ในสคริปต์เครื่องมือแก้ไขโค้ด หรือสคริปต์แหล่งที่มาของ GitHub

ไฟป่าดอลลาร์เลก

ไฟที่กล่าวถึงในบทแนะนำนี้คือไฟที่ดอลลาร์เลค ซึ่งเกิดขึ้นในช่วงกลางเดือนกันยายน 2011 บนเนินเขาทางเหนือของภูเขาฮูด รัฐออริกอน สหรัฐอเมริกา ดูข้อมูลเพิ่มเติมได้ที่บล็อกโพสต์นี้ และ Varner et al. (2015)

ข้อมูลอ้างอิง

Cohen, W. B., Yang, Z., Healey, S. P., Kennedy, R. E., & Gorelick, N. (2018) กลุ่มมัลติสเปกตรัม LandTrendr สำหรับการตรวจหาการรบกวนป่า Remote sensing of environment, 205, 131-140.

Roy, D. P., Kovalskyy, V., Zhang, H. K., Vermote, E. F., Yan, L., Kumar, S. S., & Egorov, A. (2016). การระบุลักษณะของความต่อเนื่องของความยาวคลื่นสะท้อนและดัชนีพืชพรรณความแตกต่างแบบนอร์มัลของ Landsat-7 ถึง Landsat-8 Remote sensing of Environment, 185, 57-70

Savage, S., Lawrence, R., Squires, J., Holbrook, J., Olson, L., Braaten, J., & Cohen, W. (2018) การเปลี่ยนแปลงโครงสร้างป่าในมอนแทนาตะวันตกเฉียงเหนือตั้งแต่ปี 1972 ถึง 2015 โดยใช้ที่เก็บถาวร Landsat จาก Multispectral Scanner ไปจนถึง Operational Land Imager Forests, 9(4), 157.

Varner, J., Lambert, M. S., Horns, J. J., Laverty, S., Dizney, L., Beever, E. A., & Dearing, M. ง. (2015) ร้อนเกินไปใช่ไหม การประเมินผลกระทบของไฟป่าต่อรูปแบบการครอบครองและความอุดมสมบูรณ์ของที่อยู่อาศัยที่ไวต่อสภาพอากาศ International Journal of Wildland Fire, 24(7), 921-932.

Vogeler, J. C., Braaten, J. D., Slesak, R. A., & Falkowski, M. J. (2018) การดึงมูลค่าทั้งหมดของที่เก็บถาวร Landsat: การปรับความสอดคล้องระหว่างเซ็นเซอร์สำหรับการทำแผนที่ความครอบคลุมของเรือนยอดไม้ในป่าของมินนิโซตา (1973–2015) การรับรู้จากระยะไกลของสภาพแวดล้อม 209, 363-374

Zhu, Z., Wang, S., & Woodcock, C. E. (2015) การปรับปรุงและขยายอัลกอริทึม Fmask: การตรวจจับเมฆ เงาเมฆ และหิมะสำหรับภาพ Landsat 4-7, 8 และ Sentinel 2 Remote Sensing of Environment, 159, 269-277