نمودارهای مجموعه تصاویر

ماژول ui.Chart.image شامل مجموعه ای از توابع برای رندر کردن نمودارها از نتایج کاهش مکانی و زمانی تصاویر در یک ImageCollection است. انتخاب تابع ترتیب داده ها را در نمودار دیکته می کند، به عنوان مثال، چه چیزی مقادیر محور x و y و چه چیزی سری را تعریف می کند. از توضیحات و مثال های تابع زیر برای تعیین بهترین عملکرد برای هدف خود استفاده کنید.

توابع نمودار

از نمودارهای نمودار زیر به عنوان یک راهنمای بصری استفاده کنید تا بفهمید که چگونه هر تابع نتایج کاهش مجموعه تصاویر فضایی و زمانی را در نمودار ترتیب می دهد. به عنوان مثال، چه عناصری مقادیر x، مقادیر y و سری را تعریف می کنند. توجه داشته باشید که توابع ui.Chart.image.doySeries* دو کاهش‌دهنده دارند: یکی برای کاهش منطقه ( regionReducer ) و دیگری برای کاهش همزمان روزانه سالانه ( yearReducer ). مثال‌هایی در بخش‌های زیر از ee.Reducer.mean() به عنوان آرگومان برای هر دوی این پارامترها استفاده می‌کنند.

ui.Chart.image.series

تاریخ تصویر مطابق با ویژگی system:time_start در امتداد محور x رسم می شود. سری ها با نوارهای تصویر تعریف می شوند. مقادیر محور Y کاهش تصاویر، بر اساس تاریخ، برای یک منطقه واحد است.

ui.Chart.image.seriesByRegion

تاریخ تصویر مطابق با ویژگی system:time_start در امتداد محور x رسم می شود. سری ها بر اساس مناطق تعریف می شوند. مقادیر محور Y کاهش تصاویر، بر اساس تاریخ، برای یک باند تصویر واحد است.

ui.Chart.image.doySeries

تصویر روز از سال مطابق با ویژگی system:time_start در امتداد محور x رسم می شود. سری ها با نوارهای تصویر تعریف می شوند. مقادیر محور Y کاهش پیکسل های تصویر در یک منطقه معین است که بر اساس روز از سال گروه بندی می شوند.

ui.Chart.image.doySeriesByYear

تصویر روز از سال مطابق با ویژگی system:time_start در امتداد محور x رسم می شود. سری ها با سال های موجود در ImageCollection تعریف می شوند. مقادیر محور Y کاهش پیکسل های تصویر در یک منطقه معین، گروه بندی شده بر اساس روز از سال، برای یک باند تصویر انتخاب شده است.

ui.Chart.image.doySeriesByRegion

تصویر روز از سال مطابق با ویژگی system:time_start در امتداد محور x رسم می شود. سری ها بر اساس مناطق تعریف می شوند. مقادیر محور Y کاهش پیکسل های تصویر در یک منطقه معین، گروه بندی شده بر اساس روز از سال، برای یک باند تصویر انتخاب شده است.

داده های نمونه

مثال‌های زیر متکی به ImageCollection است که یک سری زمانی از NDVI و EVI مبتنی بر MODIS است. کاهش منطقه بر روی مناطق بومی که توسط ویژگی‌های یک FeatureCollection که برای اهداف نمایشی طراحی شده است، تعریف شده است ( بیاموزید که چگونه ساخته شده است ) انجام می‌شود.

ui.Chart.image.series

از ui.Chart.image.series برای نمایش یک سری زمانی تصویر برای یک منطقه خاص استفاده کنید. هر باند تصویر به عنوان یک سری منحصر به فرد ارائه می شود. برای مقایسه سری های زمانی باندهای تصویر فردی مفید است. در اینجا، یک مجموعه تصویر MODIS با باندهایی که شاخص‌های پوشش گیاهی NDVI و EVI را نشان می‌دهند رسم می‌شوند. تاریخ هر مشاهده تصویر در امتداد محور x گنجانده شده است، در حالی که کاهش میانگین پیکسل هایی که یک منطقه بوم گردی جنگل را قطع می کنند، محور y را مشخص می کند.

ویرایشگر کد (جاوا اسکریپت)

// Import the example feature collection and subset the forest feature.
var forest = ee.FeatureCollection('projects/google/charts_feature_example')
                 .filter(ee.Filter.eq('label', 'Forest'));

// Load MODIS vegetation indices data and subset a decade of images.
var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1')
                     .filter(ee.Filter.date('2010-01-01', '2020-01-01'))
                     .select(['NDVI', 'EVI']);

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .series({
          imageCollection: vegIndices,
          region: forest,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'system:time_start'
        })
        .setSeriesNames(['EVI', 'NDVI'])
        .setOptions({
          title: 'Average Vegetation Index Value by Date for Forest',
          hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'Vegetation index (x1e4)',
            titleTextStyle: {italic: false, bold: true}
          },
          lineWidth: 5,
          colors: ['e37d05', '1d6b99'],
          curveType: 'function'
        });
print(chart);

ui.Chart.image.seriesByRegion

از ui.Chart.image.seriesByRegion برای نمایش یک سری زمانی باند تصویر برای چندین منطقه استفاده کنید. هر منطقه به عنوان یک سری منحصر به فرد ارائه می شود. برای مقایسه سری زمانی یک باند واحد در میان چندین منطقه مفید است. در اینجا، یک مجموعه تصویر MODIS که نشان دهنده یک سری زمانی NDVI برای سه منطقه زیست محیطی ترسیم شده است. تاریخ هر مشاهده تصویر در امتداد محور x گنجانده شده است، در حالی که کاهش میانگین پیکسل‌های متقاطع مناطق بوم گردی جنگل، بیابان و علفزار، سری محور y را تعریف می‌کند.

ویرایشگر کد (جاوا اسکریپت)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load MODIS vegetation indices data and subset a decade of images.
var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1')
                     .filter(ee.Filter.date('2010-01-01', '2020-01-01'))
                     .select(['NDVI', 'EVI']);

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .seriesByRegion({
          imageCollection: vegIndices,
          band: 'NDVI',
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          seriesProperty: 'label',
          xProperty: 'system:time_start'
        })
        .setOptions({
          title: 'Average NDVI Value by Date',
          hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'NDVI (x1e4)',
            titleTextStyle: {italic: false, bold: true}
          },
          lineWidth: 5,
          colors: ['f0af07', '0f8755', '76b349'],
        });
print(chart);

ui.Chart.image.doySeries

از ui.Chart.image.doySeries برای نمایش یک سری زمانی روز از سال برای یک منطقه خاص استفاده کنید. هر باند تصویر به عنوان یک سری منحصر به فرد ارائه می شود. برای کاهش مشاهداتی که در یک روز از سال اتفاق می‌افتند، در طول چندین سال، مفید است که مثلاً میانگین سالانه پروفایل‌های NDVI و EVI از MODIS، مانند این مثال، مقایسه شود.

ویرایشگر کد (جاوا اسکریپت)

// Import the example feature collection and subset the grassland feature.
var grassland = ee.FeatureCollection('projects/google/charts_feature_example')
                    .filter(ee.Filter.eq('label', 'Grassland'));

// Load MODIS vegetation indices data and subset a decade of images.
var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1')
                     .filter(ee.Filter.date('2010-01-01', '2020-01-01'))
                     .select(['NDVI', 'EVI']);

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .doySeries({
          imageCollection: vegIndices,
          region: grassland,
          regionReducer: ee.Reducer.mean(),
          scale: 500,
          yearReducer: ee.Reducer.mean(),
          startDay: 1,
          endDay: 365
        })
        .setSeriesNames(['EVI', 'NDVI'])
        .setOptions({
          title: 'Average Vegetation Index Value by Day of Year for Grassland',
          hAxis: {
            title: 'Day of year',
            titleTextStyle: {italic: false, bold: true}
          },
          vAxis: {
            title: 'Vegetation index (x1e4)',
            titleTextStyle: {italic: false, bold: true}
          },
          lineWidth: 5,
          colors: ['e37d05', '1d6b99'],
        });
print(chart);

ui.Chart.image.doySeriesByYear

از ui.Chart.image.doySeriesByYear برای نمایش یک سری زمانی روز از سال برای یک منطقه و باند تصویر معین استفاده کنید، جایی که هر سال مجزا در مجموعه تصویر به عنوان یک سری منحصر به فرد ارائه می شود. برای مقایسه سری های زمانی سالانه بین سال ها مفید است. به عنوان مثال، در این مثال، پروفایل‌های سالانه NDVI مشتق‌شده از MODIS برای یک منطقه بوم‌زیست علفزار برای سال‌های 2012 و 2019 ترسیم شده‌اند که تفسیر سال به سال راحت را ارائه می‌دهند.

ویرایشگر کد (جاوا اسکریپت)

// Import the example feature collection and subset the grassland feature.
var grassland = ee.FeatureCollection('projects/google/charts_feature_example')
                    .filter(ee.Filter.eq('label', 'Grassland'));

// Load MODIS vegetation indices data and subset years 2012 and 2019.
var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1')
                     .filter(ee.Filter.or(
                         ee.Filter.date('2012-01-01', '2013-01-01'),
                         ee.Filter.date('2019-01-01', '2020-01-01')))
                     .select(['NDVI', 'EVI']);

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .doySeriesByYear({
                  imageCollection: vegIndices,
                  bandName: 'NDVI',
                  region: grassland,
                  regionReducer: ee.Reducer.mean(),
                  scale: 500,
                  sameDayReducer: ee.Reducer.mean(),
                  startDay: 1,
                  endDay: 365
                })
                .setOptions({
                  title: 'Average NDVI Value by Day of Year for Grassland',
                  hAxis: {
                    title: 'Day of year',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  vAxis: {
                    title: 'NDVI (x1e4)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  lineWidth: 5,
                  colors: ['39a8a7', '9c4f97'],
                });
print(chart);

ui.Chart.image.doySeriesByRegion

از ui.Chart.image.doySeriesByRegion برای نمایش یک باند تصویر یک سری زمانی روز از سال برای چندین منطقه، که در آن هر منطقه مجزا به عنوان یک سری منحصر به فرد ارائه می شود، استفاده کنید. برای مقایسه سری های زمانی تک باند سالانه در میان مناطق مفید است. به عنوان مثال، در این مثال، پروفایل‌های سالانه NDVI مشتق‌شده از MODIS برای مناطق زیست‌محیطی جنگل، بیابان و علفزار ترسیم شده‌اند که مقایسه مناسبی از پاسخ NDVI بر اساس منطقه ارائه می‌کند. توجه داشته باشید که مشاهدات درون سالی که در همان روز از سال اتفاق می‌افتند با میانگین آنها کاهش می‌یابد.

ویرایشگر کد (جاوا اسکریپت)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load MODIS vegetation indices data and subset a decade of images.
var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1')
                     .filter(ee.Filter.date('2010-01-01', '2020-01-01'))
                     .select(['NDVI', 'EVI']);

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .doySeriesByRegion({
                  imageCollection: vegIndices,
                  bandName: 'NDVI',
                  regions: ecoregions,
                  regionReducer: ee.Reducer.mean(),
                  scale: 500,
                  yearReducer: ee.Reducer.mean(),
                  seriesProperty: 'label',
                  startDay: 1,
                  endDay: 365
                })
                .setOptions({
                  title: 'Average NDVI Value by Day of Year',
                  hAxis: {
                    title: 'Day of year',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  vAxis: {
                    title: 'NDVI (x1e4)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  lineWidth: 5,
                  colors: ['f0af07', '0f8755', '76b349'],
                });
print(chart);