ee.Algorithms.TemporalSegmentation.C2c

پیاده‌سازی الگوریتم Composite 2 Change (C2C). این الگوریتم یک سری زمانی را با استفاده از برازش خطی تکه‌ای با حداقل تعداد بخش‌های مورد نیاز برای برازش داده‌ها در محدوده حداکثر جذر میانگین مربعات خطا (RMSE) داده شده، قطعه‌بندی می‌کند. برای هر باند ورودی، الگوریتم باندهای خروجی زیر را برمی‌گرداند:
  • changeDate (Array[Double]): تاریخ‌هایی که تغییرات در آنها شناسایی می‌شوند. قالب تاریخ توسط آرگومان dateFormat تعیین می‌شود.
  • مقدار (Array[Double]): مقدار باند در هر changeDate.
  • قدر مطلق (Array[Double]): تفاوت بین مقادیر قبل و بعد از تاریخ تغییر. قدر مطلق اول همیشه NaN است.
  • مدت زمان (Array[Double]): مدت زمان قطعه قبل از تاریخ تغییر. مدت زمان اول همیشه NaN است.
  • نرخ (Array[Double]): نرخ تغییر داده‌ها قبل از تاریخ تغییر. نرخ اول همیشه NaN است.
اگر مقدار includePostMetrics درست باشد، متغیرهای زیر به ازای هر باند لحاظ می‌شوند.
  • postMagnitude (Array[Double]): اختلاف مطلق بین مقدار در ابتدای بخش بعدی و مقدار در تاریخ تغییر. آخرین postMagnitude همیشه NaN است.
  • postDuration (Array[Double]): مدت زمان قطعه پس از تاریخ تغییر. آخرین postDuration همیشه NaN است.
  • postRate (Array[Double]): نرخ تغییر داده‌ها پس از تاریخ تغییر. آخرین postRate همیشه NaN است.
اگر مقدار includeRegrowth درست باشد، متغیرهای زیر به ازای هر باند لحاظ می‌شوند.
  • indexRegrowth (Array[Double]): تفاوت بین مقدار در تاریخ تغییر و مقدار پنج نقطه داده‌ای بعد از آن.
  • شاخص بازیابی (Array[Double]): نسبت شاخص رشد مجدد به بزرگی.
  • regrowth60 (Array[Double]): اختلاف زمانی بین تاریخ تغییر و نقطه داده‌ای که در آن مقدار سری ۶۰٪ مقدار قبل از اختلال است.
  • regrowth80 (Array[Double]): اختلاف زمانی بین تاریخ تغییر و نقطه داده‌ای که در آن مقدار سری ۸۰٪ مقدار قبل از اختلال است.
  • regrowth100 (Array[Double]): اختلاف زمانی بین تاریخ تغییر و نقطه داده‌ای که در آن مقدار سری ۱۰۰٪ مقدار قبل از اختلال است.
برای جزئیات بیشتر در مورد الگوریتم اصلی، به Hermosilla و همکاران (۲۰۱۵) https://doi.org/10.1016/j.rse.2014.11.005 مراجعه کنید. پیاده‌سازی الگوریتم را می‌توانید در GitHub بیابید: https://github.com/saveriofrancini/C2C-GEE تقدیر و تشکر: FORWARDS و NextGenCarbon.

منبع: تکسومین هرموسیلا، مایکل ای. وولدر، جوآن سی. وایت، نیکلاس سی. کوپس، دنیل کوئلیو، جیووانی سیاتو، نوئل گورلیک و ساوریو فرانچینی. در حال آماده‌سازی. ترکیب تصویر، تشخیص تغییرات سری زمانی و معیارهای زمانی: پیاده‌سازی الگوریتم Composite2Change (C2C) در موتور جستجوی گوگل ارث.

این الگوریتم در مرحله پیش‌نمایش است و ممکن است تغییر کند.

کاربرد بازگشت‌ها
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat , maxErrorList , spikesToleranceList , spikeRemovalMagnitudeList , maxError , maxSegments , infill , spikesTolerance , spikeRemovalMagnitude , includePostMetrics , includeRegrowth , interpolateRegrowth , useRelativeRegrowth , negativeMagnitudeOnly ) تصویر
استدلال نوع جزئیات
collection مجموعه تصاویر مجموعه‌ای از تصاویر که می‌توان C2C را روی آنها اجرا کرد.
dateFormat عدد صحیح، پیش‌فرض: ۰ نمایش زمانی مورد استفاده در طول برازش: 0 = jDays، 1 = fractional years، 2 = unix time بر حسب میلی‌ثانیه. زمان‌های شروع، پایان و شکست برای هر بخش زمانی به این صورت کدگذاری می‌شوند.
maxErrorList لیست، پیش‌فرض: {} فهرست حداکثر مقادیر خطا (RMSE) که برای هر باند استفاده می‌شود. در صورت عدم ارائه، مقدار maxError برای همه باندها استفاده خواهد شد.
spikesToleranceList لیست، پیش‌فرض: {} فهرست مقادیر تلرانس اسپایک که برای هر باند استفاده می‌شود. مقدار ۱ نشان دهنده عدم حذف اسپایک است. در صورت عدم ارائه، مقدار تلرانس اسپایک برای همه باندها استفاده خواهد شد.
spikeRemovalMagnitudeList لیست، پیش‌فرض: {} فهرست مقادیر بزرگی حذف spike که برای هر باند استفاده می‌شود. spikeهایی که بزرگی آنها بالاتر از این مقدار باشد حذف می‌شوند. در صورت عدم ارائه، مقدار spikeRemovalMagnitude برای همه باندها استفاده خواهد شد.
maxError مقدار شناور، پیش‌فرض: ۰.۰۷۵ حداکثر RMSE مجاز برای برازش خطی تکه‌ای؛ حساسیت تقسیم‌بندی را کنترل می‌کند.
maxSegments عدد صحیح، پیش‌فرض: ۶ حداکثر تعداد قطعات مجاز در مسیر برازش شده.
infill بولی، پیش‌فرض: درست پر کردن شکاف در سری زمانی را فعال می‌کند تا از برازش پایدار در حضور مقادیر گمشده (یعنی مقادیر برابر با 0) پشتیبانی کند.
spikesTolerance مقدار شناور، پیش‌فرض: ۰.۸۵ تحمل جهش‌ها (spikes) را در سری زمانی کنترل می‌کند. از ۰ تا ۱ متغیر است. مقدار ۱ نشان دهنده عدم حذف جهش است، مقادیر پایین‌تر تهاجمی‌تر هستند.
spikeRemovalMagnitude شناور، پیش‌فرض: ۰.۱ آستانه بزرگی حذف اسپایک. اسپایک‌هایی که بزرگی (اختلاف مطلق از میانگین همسایه‌ها) آنها بالاتر از این مقدار باشد، حذف می‌شوند.
includePostMetrics بولی، پیش‌فرض: درست توصیف‌گرهای پس از تغییر (postMagnitude، postDuration، postRate) را برمی‌گرداند.
includeRegrowth بولی، پیش‌فرض: false معیارهای بازیابی/رشد مجدد (indexRegrowth، recoveryIndicator، regrowth60/80/100) را برمی‌گرداند.
interpolateRegrowth بولی، پیش‌فرض: درست قبل از محاسبه معیارهای رشد مجدد، سری‌های زمانی را با استفاده از تغییرات شناسایی‌شده، به صورت خطی درون‌یابی کنید.
useRelativeRegrowth بولی، پیش‌فرض: false آستانه‌های رشد مجدد را نسبت به شرایط قبل از اختلال محاسبه می‌کند.
negativeMagnitudeOnly بولی، پیش‌فرض: false فقط نقاط شکست مرتبط با تغییرات منفی را حفظ می‌کند (فیلتر جهت‌دار).