استفاده از GEE برای یافتن تصاویر ماهواره‌ای در یک تاریخ مشخص

امروزه با استفاده از Google Earth Engine (GEE) می‌توانیم به‌سادگی تصاویر ماهواره‌ای یک منطقه خاص را برای یک تاریخ مشخص پیدا کنیم. در این پست، نحوه انجام این کار را با استفاده از کد جاوااسکریپت در GEE شرح می‌دهیم.

تعریف منطقه مورد نظر و تاریخ خاص
ابتدا باید منطقه‌ای که می‌خواهیم بررسی کنیم را با استفاده از مختصات جغرافیایی تعریف کنیم. در این مثال، نقطه‌ای با مختصات 46.654722 و 38.718889 را انتخاب می‌کنیم و شعاع 2 کیلومتری اطراف آن را به عنوان منطقه مورد نظر (AOI) در نظر می‌گیریم.

نمونه قابل اجرای این کد در این تاریخ (۰۴ خرداد ۱۴۰۳) در اینجا قابل دسترس است: https://code.earthengine.google.com/1a3ed0ea63596caa6d43210218f7c82b

// Define the area of interest (AOI) with a 2km radius around the given coordinates
var point = ee.Geometry.Point(46.654722, 38.718889);
var aoi = point.buffer(2000);

// Define the specific date of interest
var dateOfInterest = '2024-05-19';

// List of satellite image collections to check
var collections = [
  'COPERNICUS/S2_SR_HARMONIZED',
  'LANDSAT/LC08/C01/T1_SR',
  'LANDSAT/LC09/C02/T1_L2',
  'MODIS/006/MOD09GA',
  'MODIS/006/MYD09GA'
];

// Function to get image IDs and dates from a collection
var getImageInfo = function(collectionName) {
  var collection = ee.ImageCollection(collectionName)
    .filterDate(dateOfInterest, ee.Date(dateOfInterest).advance(1, 'day'))
    .filterBounds(aoi)
    .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 100));  // Set a high cloud threshold to catch all images

  var count = collection.size().getInfo();
  if (count > 0) {
    var info = collection.map(function(image) {
      return ee.Feature(null, {
        collection: collectionName,
        id: image.id(),
        date: image.date().format('YYYY-MM-dd')
      });
    });

    var infoList = info.reduceColumns(ee.Reducer.toList(3), ['collection', 'id', 'date']).get('list');
    return infoList;
  } else {
    return ee.List([]);
  }
};

// Iterate over the collections and gather image info
var allImages = ee.List([]);
collections.forEach(function(collectionName) {
  var infoList = getImageInfo(collectionName);
  allImages = allImages.cat(infoList);
});

// Print the list of image IDs and dates from all collections
print('List of image IDs and dates from all collections:', allImages);

// Check if any images are present
var count = allImages.length().getInfo();
if (count === 0) {
  print('No images found for the specified date:', dateOfInterest);
} else {
  print(count + ' images found for the specified date:', dateOfInterest);
}

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *