برنامه نویسی

شروع کار با Google Earth Engine

Google Earth Engine (EE) یک پلت فرم ابر سیاره ای است که از فهرست داده ها و IDE آنلاین پشتیبانی می کند. این برنامه بر روی زیرساخت ابری گوگل اجرا می شود و دارای پایگاه داده در مقیاس پتابایت است. کاتالوگ داده های عمومی Earth Engine بیش از 40 سال از تصاویر تاریخی و مجموعه داده های علمی، از جمله داده های ماهواره ای مانند Landsat، Sentinel-2، و MODIS، و همچنین داده های ژئوفیزیک، آب و هوا، آب و هوا، و اطلاعات جمعیتی را ارائه می دهد.

EE یک پلتفرم ابری مفید رصد زمین با استفاده از داده های مکانی برای مبارزه با تغییرات آب و هوایی است که می تواند به ما کمک کند.

  • نظارت بر مساحت بدنه آب، پوشش گیاهی و سایر کاربری های زمین
  • جو را رصد کنید
  • ارتباط سطح با تولید در کشاورزی

Google Earth Engine مزایای زیر را ارائه می دهد که استفاده از آن را آسان می کند.

  • کاملاً ابری (بدون دانلود تصویر، بدون HPC)
  • جاوا اسکریپت و پایتون
  • برنامه وب آسان
  • ادغام با API خارجی و تجسم با Kepler.gl
  • مجموعه داده ها به ارزش پتابایت
  • رایگان برای غیر انتفاعی

دو نوع مجموعه داده: مجموعه تصویر در مقابل تصویر

  1. چیزهایی که در طول زمان تغییر چندانی نمی کنند مانند ارتفاع
  2. چیزهایی که تغییر می دهند به عنوان مثال دما، بارش

بارگیری تصویر در ویرایشگر کد GEE در جاوا اسکریپت
ما اعلام می کنیم var name سپس از ee.Image شیئی که برای نمایش تصویر موتور زمین و به دنبال آن خود تصویر استفاده می شود.

var elevation_dataset = ee.Image("NASA/NASADEM_HGT/001")

جزئیات بیشتر

// Import the dataset and select the elevation band.
var dataset = ee.Image('NASA/NASADEM_HGT/001');
var elevation = dataset.select('elevation');

// Add a white background image to the map.
var background = ee.Image(1);
Map.addLayer(background, {min: 0, max: 1});

// Set elevation visualization properties.
var elevationVis = {
  min: 0,
  max: 2000,
};
// Set elevation <= 0 as transparent and add to the map.
Map.addLayer(elevation.updateMask(elevation.gt(0)), elevationVis, 'Elevation');
Map.setCenter(17.93, 7.71, 2);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

متناوباً هنگام بارگذاری مجموعه تصاویر، از ImageCollection هدف – شی.

ImageCollection پشته یا دنباله ای از تصاویر است. یک ImageCollection را می توان با چسباندن شناسه دارایی Earth Engine در سازنده ImageCollection موجود در شناسه های ImageCollection در کاتالوگ داده بارگیری کرد. به عنوان مثال، برای بارگذاری مجموعه بازتاب سطح Sentinel-2:

var sentinelCollection = ee.ImageCollection('COPERNICUS/S2_SR');

جزئیات بیشتر

var ImageColl = ee.ImageCollection('MODIS/006/MOD13A1')
                                  // Filter by dates
                  .filter(ee.Filter.date('2015-03-01', '2020-03-31'))
                  .select('NDVI') //select the NDVI
                  .mean()         //create a composite of mean
                  .clip(Roi);     //clip the map to region of interest

var ndviParams = {min: -2000, max: 10000, palette: [
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301'
  ]};
                                  // zoom the map at the center 
Map.centerObject(Roi, 7)
                                  // create the layers to be printed 
Map.addLayer(ImageColl,ndviParams,'NDVI2')
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کاهش یک ImageCollection

کاهش دهنده ها در EE برای جمع آوری داده ها در طول زمان، مکان و سایر ساختارهای داده استفاده می شوند. برای ترکیب تصاویر در یک ImageCollection، استفاده کنید imageCollection.reduce(). با این کار تمام تصاویر موجود در مجموعه به یک تصویر واحد ترکیب می‌شوند. متعلق به ee.Reducer کلاس به طور خاص، خروجی به صورت پیکسلی محاسبه می شود، به طوری که هر پیکسل در خروجی از مقدار متوسط ​​تمام تصاویر مجموعه در آن مکان تشکیل شده است. برای به دست آوردن آمارهای دیگر، مانند حداقل، حداکثر، انحراف معیار، میانگین، مجموع، واریانس یا حتی صدک دلخواه تصاویر. کاهنده مناسب باید انتخاب و به طور مناسب اعمال شود.
کاهنده ها یک مجموعه داده ورودی را می گیرند و یک خروجی واحد تولید می کنند. هنگامی که یک کاهش دهنده ورودی به یک تصویر چند باند اعمال می شود، Earth Engine به طور خودکار کاهنده را تکرار می کند و آن را به طور جداگانه برای هر باند اعمال می کند. در نتیجه، تصویر خروجی دارای همان تعداد باندهای تصویر ورودی است. هر باند در خروجی کاهش پیکسل ها از باند مربوطه در داده های ورودی است. برخی کاهنده ها چندین مجموعه داده ورودی را می گیرند. این کاهنده ها به طور خودکار برای هر باند تکرار نمی شوند. مثلا، ee.Reducer.LinearRegression() مجموعه داده‌های پیش‌بینی‌کننده متعدد (نماینده متغیرهای مستقل در رگرسیون) را به ترتیب خاصی می‌گیرد.
درباره Reducerها از صفحه Reducer Overview و رویکردهای Image Reduction بیشتر بدانید

دو نوع کاهنده وجود دارد

  1. کاهش عمودی (در طول زمان)

توضیحات تصویر

  1. کاهش افقی تصویر (در فضا)

توضیحات تصویر

ادغام موتور Google Earth با Kepler.gl

این ادغام مقیاس پذیری EE را با پلتفرم های خارجی تسهیل و ارائه می کند. Kepler یک کتابخانه پایتون برای تجسم داده های مکانی در نوت بوک های Jupyter است. Kepler.gl یک ابزار مبتنی بر وب با کارایی بالا است که توسط تیم تجسم Uber برای کاوش بصری مجموعه داده های جغرافیایی در مقیاس بزرگ ایجاد شده است. برای ارائه نقشه های تعاملی در مقیاس بزرگ استفاده می شود. EE Python API و Kepler.gl برای استقرار و دانشمندان غیرمکانی بهترین عملکرد را دارند.
Google Earth Engine با چالش هایی همراه است،

برای جستجوی مکان‌هایی با ابرداده مشابه:

  1. چگونه کره زمین را به کاشی های شبکه ای کوچک تقسیم کنیم؟
  2. چگونه می توان با نیازهای محاسباتی عظیم کنار آمد؟
  3. چگونه نتایج کاشی را ذخیره کنیم؟

نوشته های مشابه

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

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

دکمه بازگشت به بالا