تصاویری که یک ImageCollection را تشکیل میدهند میتوانند به عنوان یک انیمیشن یا مجموعهای از تصاویر کوچک بهعنوان «نوار فیلم» تجسم شوند. این روش ها یک ارزیابی سریع از محتویات یک ImageCollection و یک رسانه موثر برای مشاهده تغییرات مکانی و زمانی ارائه می کنند (شکل 1).
-
تولید یک سری تصویر متحرک تولید یک سری تصویر بند انگشتی
بخشهای زیر نحوه آمادهسازی ImageCollection برای تجسم، ارائه کد نمونه برای هر روش تجسم مجموعه و چندین تکنیک پیشرفته انیمیشن را توضیح میدهند.
شکل 1. انیمیشنی که پیشرفت سه روزه طوفان های اقیانوس اطلس را در سپتامبر 2017 نشان می دهد.
آماده سازی مجموعه
فیلتر، ترکیب، مرتبسازی، و استایل کردن تصاویر در یک مجموعه برای نمایش تنها موارد مورد علاقه یا تاکید بر یک پدیده. هر ImageCollection را می توان به عنوان ورودی برای توابع تجسم ارائه کرد، اما یک مجموعه انتخاب شده با در نظر گرفتن محدوده تاریخ بین سالانه و درون سالانه، فاصله مشاهده، وسعت منطقه ای، کیفیت و نمایش می تواند به نتایج بهتری دست یابد.
فیلتر کردن
یک مجموعه تصویر را فیلتر کنید تا فقط دادههای مرتبطی را شامل شود که از هدف تجسم پشتیبانی میکنند. تاریخ ها، وسعت مکانی، کیفیت و سایر ویژگی های خاص یک مجموعه داده را در نظر بگیرید.
به عنوان مثال، مجموعه بازتاب سطح Sentinel-2 را با استفاده از موارد زیر فیلتر کنید:
یک محدوده تاریخ واحد،
ویرایشگر کد (جاوا اسکریپت)
محدوده روز از سال سریال،
ویرایشگر کد (جاوا اسکریپت)
منطقه مورد علاقه،
ویرایشگر کد (جاوا اسکریپت)
یا یک ویژگی تصویر
ویرایشگر کد (جاوا اسکریپت)
چندین فیلتر زنجیره ای
ویرایشگر کد (جاوا اسکریپت)
ترکیب کردن
محدوده تاریخ درون و بین سالی ترکیبی برای کاهش تعداد تصاویر در یک مجموعه و بهبود کیفیت. برای مثال، فرض کنید میخواهید تصویری از NDVI سالانه برای آفریقا ایجاد کنید. یک گزینه این است که به سادگی یک مجموعه NDVI 16 روزه MODIS را فیلتر کنید تا همه مشاهدات 2018 را شامل شود.
ویرایشگر کد (جاوا اسکریپت)
کامپوزیت بین سالانه توسط فیلتر و کاهش
تجسم مجموعه فوق سر و صدای قابل توجهی را در مناطق جنگلی که پوشش ابر سنگین است نشان می دهد (شکل 2a). نمایش بهتری را می توان با کاهش محدوده تاریخ سریال با میانگین در تمام سال ها در مجموعه MODIS به دست آورد.
ویرایشگر کد (جاوا اسکریپت)
انیمیشن حاصل از این مجموعه دارای نویز کمتری است، زیرا هر تصویر میانگین یک ترکیب NDVI 16 روزه را برای بیش از 20 سال داده را نشان می دهد (شکل 1b). برای اطلاعات بیشتر در مورد این انیمیشن به این آموزش مراجعه کنید.
شکل 2 الف. NDVI سالانه بدون ترکیب بین سالانه. | شکل 2b. NDVI سالانه با ترکیب بین سالانه. |
کامپوزیت داخل سالانه توسط فیلتر و کاهش
مثال قبلی ترکیب بین سالانه را اعمال می کند. همچنین ترکیب یک سری مشاهدات درون سالانه می تواند مفید باشد. به عنوان مثال، داده های Landsat هر شانزده روز برای یک صحنه معین در هر حسگر جمع آوری می شوند، اما اغلب بخشی از تصاویر توسط ابرها پنهان می شوند. پوشاندن ابرها و ترکیب چندین تصویر از یک فصل می تواند نمایشی بدون ابر ایجاد کند. مثال زیر را در نظر بگیرید که در آن تصاویر Landsat 5 از جولای و آگوست با استفاده از میانگین هر سال از سال 1985 تا 2011 ترکیب شده اند.
ویرایشگر کد (جاوا اسکریپت)
کامپوزیت درون سالی با اتصال و کاهش
توجه داشته باشید که دو روش آهنگسازی قبلی در لیست روزها و سالها نقشه برداری می کنند تا تاریخ های جدید را برای فیلتر کردن و کامپوزیت به صورت تدریجی تعریف کنند. استفاده از پیوستن روش دیگری برای دستیابی به این عمل است. در قطعه زیر ، یک مجموعه سال منحصر به فرد تعریف شده است و سپس یک پیوستن SaveAll برای شناسایی تمام تصاویر مطابق با یک سال معین اعمال می شود. تصاویر متعلق به یک سال معین در یک شیء لیست قرار می گیرند که به عنوان خاصیت نماینده سال مربوطه در مجموعه سال مجزا ذخیره می شود. کامپوزیت های سالانه از این لیست ها با کاهش تصویربرداری تعریف شده توسط آنها در عملکردی که در مجموعه سال مشخص ترسیم شده است ، تولید می شوند.
ویرایشگر کد (جاوا اسکریپت)
کامپوزیت همان روز با پیوستن و کاهش
یک مورد اضافی برای آهنگسازی ایجاد موزائیک های تصویری فضایی است. فرض کنید منطقه مورد علاقه شما دو ردیف لندست را در همان مسیر قرار می دهد و هدف شما نمایش موزائیک تصویری از دو تصویر برای هر مدار Landsat 8 در سال 2017 و 2018 است. در اینجا ، پس از فیلتر کردن مجموعه توسط مسیر و ردیف ، یک عملیات پیوستنبرای تصاویر Landsat موزائیک از همان obit ، تعریف شده توسط تاریخ کسب استفاده می شود.
ویرایشگر کد (جاوا اسکریپت)
مرتب سازی
برای اطمینان از توالی زمانی مناسب ، یا سفارش را با یک ویژگی مورد نظر خود مرتب کنید. به طور پیش فرض ، سری قاب تجسم به ترتیب طبیعی این مجموعه طبقه بندی می شود. ترتیب این سریال را می توان با استفاده از روش جمع آوری مرتب سازی تغییر داد ، که به موجب آن یک ویژگی تصویر برای مرتب سازی به ترتیب صعودی یا نزولی انتخاب می شود. به عنوان مثال ، برای مرتب سازی بر اساس زمان مشاهده ، از سیستم همه جا استفاده کنید: خاصیت TIME_START.
ویرایشگر کد (جاوا اسکریپت)
یا شاید با افزایش ابر ، نظم تعریف شود ، مانند این مورد از تصاویر Sentinel-2.
ویرایشگر کد (جاوا اسکریپت)
همچنین می تواند توسط یک خاصیت مشتق شده ، مانند میانگین NDVI منطقه ای تعریف شود. در اینجا ، NDVI منطقه ای به عنوان یک ویژگی برای هر تصویر در یک عملکرد نقشه برداری اضافه می شود و به دنبال آن نوعی از ویژگی جدید است.
ویرایشگر کد (جاوا اسکریپت)
تجسم تصویر
تجسم تصویر اعداد را به رنگ ها تبدیل می کند. سه روش برای کنترل نحوه نمایش داده های تصویر به عنوان رنگ در روش های تجسم مجموعه وجود دارد:
- استدلال های تجسم را مستقیماً به getVideothumburl و getFilmStripThumburl ارائه دهید.
- قبل از استفاده از GetVideothumburl و GetFilmStripThumburl ، روش تصویر Visualize را بر روی مجموعه تصویر نقشه برداری کنید.
- قبل از استفاده از GetVideothumburl و GetFilmStripThumburl ، روش تصویر SLDStyle را بر روی مجموعه تصویر نقشه برداری کنید. برای اطلاعات بیشتر به توصیف کننده لایه Styled Layer مراجعه کنید.
مثالهای موجود در این راهنما از گزینه های 1 و 2 استفاده می کنند ، که در آن تجسم با نقشه برداری از سه باند تصویر از یک تصویر چند باند به کانال های رنگی به رنگ قرمز ، سبز و آبی یا درجه بندی یک باند واحد به صورت خطی در امتداد یک پالت رنگ حاصل می شود. پارامترهای تجسم شامل:
پارامتر | شرح | نوع |
---|---|---|
گروه | لیست کاما از سه نام باند که به RGB نقشه برداری می شود | لیست |
حداقل | مقدار (ها) برای نقشه برداری به 0 | شماره یا لیست سه عدد ، یکی برای هر باند |
حداکثر | مقدار (های) برای نقشه برداری به 255 | شماره یا لیست سه عدد ، یکی برای هر باند |
کسب کردن | مقدار (ها) که با استفاده از آن می توان هر مقدار پیکسل را ضرب کرد | شماره یا لیست سه عدد ، یکی برای هر باند |
جانبداری | مقدار (های) برای اضافه کردن به هر DN | شماره یا لیست سه عدد ، یکی برای هر باند |
گاما | ضریب تصحیح گاما (های) | شماره یا لیست سه عدد ، یکی برای هر باند |
جعبه رنگ نقاشی | لیست رشته های رنگی به سبک CSS (فقط تصاویر تک باند) | لیست رشته های هگزا جدا شده با کاما |
کدورت | کدورت لایه (0. 0 کاملاً شفاف و 1. 0 کاملاً مات است) | عدد |
از آرگومان باندها برای انتخاب باند(های) مورد نظر برای تجسم استفاده کنید. فهرستی از یک یا سه نام گروه ارائه دهید. با توجه به تصاویر چند باندی، سه باند اول به طور پیش فرض انتخاب می شوند. ترتیب نام باند تعیین کننده انتساب رنگ است. باندهای فهرست شده اول، دوم و سوم به ترتیب به رنگ قرمز، سبز و آبی نگاشت می شوند.
مقیاس بندی محدوده داده ها در هنگام تجسم تصاویر یک نکته مهم است. به طور پیش فرض، مقادیر داده های ممیز شناور بین 0 و 1 (شامل) بین 0 و 255 (شامل) مقیاس بندی می شوند. مقادیر خارج از این محدوده بسته به اینکه به ترتیب کمتر از 0 یا بزرگتر از 1 باشند به 0 و 255 مجبور می شوند. با توجه به داده های عدد صحیح، ظرفیت کامل تعریف شده توسط نوع آن بین 0 تا 255 مقیاس بندی می شود (به عنوان مثال، داده های 16 بیتی علامت دار دارای محدوده ای از 32768- تا 32767 هستند که به طور پیش فرض تا [0، 255] مقیاس می شود). پذیرش پیشفرضها اغلب میتواند منجر به تجسمهایی با تضاد کم یا بدون تضاد بین ویژگیهای تصویر شود. از حداقل و حداکثر برای بهبود کنتراست و تأکید بر یک محدوده داده خاص استفاده کنید. یک قانون سرانگشتی خوب این است که حداقل و حداکثر را روی مقادیری تنظیم کنید که نشان دهنده صدک دوم و 98 از داده ها در منطقه مورد علاقه شما باشد. مثال زیر را برای محاسبه این مقادیر برای یک مدل ارتفاعی دیجیتال ببینید.
ویرایشگر کد (جاوا اسکریپت)
پارامتر پالت رنگ ها را برای نمایش تصویر تجسم 8 بیتی تعریف می کند. این فقط برای نمایش های تک باند اعمال می شود. مشخص کردن آن با یک تصویر چند باندی منجر به خطا می شود. اگر دادهها تک باند هستند یا میخواهید یک باند را از یک تصویر چند باندی تجسم کنید، پارامتر forceRgbOutput را روی true تنظیم کنید (اگر آرگومان پالت ارائه شده باشد ضروری نیست). از پارامترهای min و max برای تعریف محدوده مقادیر به صورت خطی بین 0 تا 255 استفاده کنید.
نمونه ای از نگاشت یک تابع تجسم بر روی یک مجموعه تصویر تک باندی در زیر آمده است. یک مجموعه MODIS NDVI وارد میشود، آرگومانهای تجسم برای روش تجسم تنظیم میشوند، و تابعی که مقادیر را به نمایشهای تصویر RGB تبدیل میکند روی مجموعه NDVI نگاشت میشود.
ویرایشگر کد (جاوا اسکریپت)
در اینجا مثالی از نگاشت یک تابع تجسم بر روی یک مجموعه تصویر چند باندی آورده شده است:
ویرایشگر کد (جاوا اسکریپت)
در این مورد، هیچ آرگومان پالتی ارائه نمی شود زیرا سه باند داده شده است که شدت را برای هر لایه RGB تعریف می کند. توجه داشته باشید که هر دو مثال از پارامترهای min و max برای کنترل مقادیری استفاده میکنند که تا محدوده دادههای RGB 8 بیتی کشیده میشوند.
شست ویدیو
تابع getVideoThumbURL() یک انیمیشن از تمام تصاویر یک ImageCollection تولید می کند که در آن هر تصویر یک فریم را نشان می دهد. گردش کار کلی برای تولید یک انیمیشن به شرح زیر است:
- هندسه ای را تعریف کنید که مرزهای آن وسعت منطقه ای انیمیشن را تعیین می کند.
- یک ImageCollection را تعریف کنید.
- تجسم تصویر را در نظر بگیرید: یا یک تابع تجسم تصویر را روی مجموعه ترسیم کنید یا آرگومان های تجسم تصویر را به مجموعه آرگومان های انیمیشن اضافه کنید.
- آرگومان های انیمیشن را تعریف کنید و متد getVideoThumbURL را فراخوانی کنید.
نتیجه GetVideothumburl URL است. URL را روی کنسول چاپ کنید و برای شروع سرورهای موتور زمین که انیمیشن را به صورت پرواز در یک برگه مرورگر جدید تولید می کنند ، روی آن کلیک کنید. از طرف دیگر ، با فراخوانی عملکرد UI. ThumbNail در مجموعه و آرگومان های انیمیشن مربوطه ، انیمیشن را در کنسول ویرایشگر کد مشاهده کنید. پس از ارائه ، انیمیشن با کلیک راست بر روی آن و انتخاب گزینه های مناسب از منوی متن آن ، برای بارگیری در دسترس است.
مثال زیر نشان دهنده تولید انیمیشن است که دمای جهانی را در طی 24 ساعت نشان می دهد. توجه داشته باشید که این مثال شامل آرگومان های تجسم به همراه آرگومان های انیمیشن است ، بر خلاف اولین نقشه برداری یک تابع تجسم بر روی تصویربرداری. پس از اجرای این اسکریپت ، انیمیشن مشابه شکل 3 باید در کنسول ویرایشگر کد ظاهر شود.
ویرایشگر کد (جاوا اسکریپت)
شکل 3. دمای سطح ساعتی برای محلول زمستانی شمالی به عنوان یک تصویر GIF متحرک نشان داده شده است.
نوار فیلم
عملکرد GetFilmStripThumburl یک تصویر استاتیک واحد ایجاد می کند که نشان دهنده جمع شدن همه تصاویر در یک تصویر در یک سری شمال-جنوب است. دنباله قاب های FilmStrip از نظم طبیعی این مجموعه پیروی می کنند.
نتیجه GetFilmStripThumburl URL است. URL را روی کنسول چاپ کنید و روی آن کلیک کنید تا سرورهای موتور زمین که تصویر را به صورت پرواز در یک برگه مرورگر جدید تولید می کنند ، شروع کنید. پس از ارائه ، تصویر برای بارگیری با کلیک راست روی آن و انتخاب گزینه های مناسب از منوی متن آن در دسترس است.
قطعه کد زیر از همان مجموعه ای که مثال انگشت شست در بالا است استفاده می کند. پس از اجرای این فیلمنامه ، یک فیلمبرداری شبیه به شکل 4 باید در کنسول ویرایشگر کد ظاهر شود.
ویرایشگر کد (جاوا اسکریپت)
شکل 4. دمای سطح ساعتی برای محلول زمستانی شمالی به عنوان یک تصویر PNG Filmstrip نشان داده شده است. توجه داشته باشید که این فیلم برای نمایش به چهار بخش تقسیم شده است. نتیجه GetFilmStripThumburl یک سری از تصاویر مجموعه است که به شمال-جنوب پیوستند.
تکنیک های پیشرفته
در بخش های زیر نحوه استفاده از برش ، کدورت و ترکیب لایه برای تقویت تجسم با افزودن مرزهای چند ضلعی ، تأکید بر مناطق مورد علاقه و مقایسه تصاویر در یک مجموعه توضیح می دهد.
توجه داشته باشید که تمام مثالهای زیر در این بخش از همان تصویر پایه ای که در اینجا تعریف شده است استفاده می کنند:
ویرایشگر کد (جاوا اسکریپت)
پوشش ها
تصاویر متعدد را می توان با استفاده از روش تصویر مخلوط که در آن پیکسل های همپوشانی از دو تصویر بر اساس ماسک های آنها (کدورت) مخلوط می شوند ، پوشانده شوند.
روکش بردار
افزودن چند ضلعی های مرزی اداری و سایر هندسه ها به یک تصویر می تواند زمینه فضایی ارزشمندی را فراهم کند. انیمیشن جهانی دمای سطح جهانی را در بالا در نظر بگیرید (شکل 3). مرزهای بین زمین و اقیانوس تا حدودی قابل تشخیص است ، اما می توان آنها را با اضافه کردن یک روکش چند ضلعی از کشورها صریح کرد.
داده های بردار (ویژگی ها) با استفاده از روش رنگ به تصاویر کشیده می شوند. ویژگی ها را می توان به یک تصویر موجود نقاشی کرد ، اما تمرین بهتر این است که آنها را به یک تصویر خالی نقاشی کنید ، آن را سبک کنید و سپس نتیجه را با سایر لایه های تصویر طراحی شده مخلوط کنید. درمان هر لایه یک پشته تجسم به طور مستقل کنترل بیشتری بر یک ظاهر طراحی شده فراهم می کند.
مثال زیر ترسیم مرزهای کشور آمریکای جنوبی را به یک تصویر خالی نشان می دهد و نتیجه را با هر تصویر از مجموعه دمای روزانه جهانی ترکیب می کند (شکل 5). مرزهای کشور پوشیده شده، زمین را از آب متمایز می کند و زمینه را برای الگوهای دما فراهم می کند.
ویرایشگر کد (جاوا اسکریپت)
شکل 5. اضافه کردن پوشش های برداری به تصاویر در یک مجموعه برای ارائه زمینه فضایی.
پوشش تصویر
برای دستیابی به سبک دلخواه می توان چندین تصویر را روی هم گذاشت. فرض کنید می خواهید بر یک منطقه مورد علاقه تأکید کنید. میتوانید یک کپی بیصدا از تجسم تصویر به عنوان لایه پایه ایجاد کنید و سپس یک نسخه بریده شده از تجسم اصلی را روی هم قرار دهید. با تکیه بر مثال قبلی، اسکریپت زیر شکل 6 را تولید می کند.
ویرایشگر کد (جاوا اسکریپت)
شکل 6. با بریدن تصویر و پوشاندن آن روی یک کپی خاموش، بر ناحیه مورد علاقه تأکید کنید.
همچنین میتوانید دادههای تصویر را با یک لایه پایه تپهای ترکیب کنید تا زمین را نشان دهد و به تجسم کمی عمق بدهید (شکل 7).
ویرایشگر کد (جاوا اسکریپت)
شکل 7. زمین را با پوشاندن داده های تصویر نیمه شفاف روی یک لایه سایه تپه نشان دهید.
انتقال ها
یک مجموعه تصویر را برای تولید انیمیشن هایی سفارشی کنید که با استفاده از انتقال محو، سوسو زدن و اسلاید، تفاوت بین دو تصویر را در یک مجموعه نشان می دهد. هر یک از مثالهای زیر از همان تجسم پایه تولید شده توسط اسکریپت زیر استفاده میکنند:
ویرایشگر کد (جاوا اسکریپت)
سوسو زدن
با تنها دو تصویر در یک مجموعه، همانطور که در اینجا وجود دارد، فلیکر نمایش پیش فرض بر روی انیمیشن مجموعه است. آرگومان انیمیشن framesPerSecond را تنظیم کنید تا سرعت سوسو زدن را افزایش یا کاهش دهید. آرگومان های تجسم زیر که در مجموعه فوق اعمال می شود، شکل 8 را ایجاد می کند.
ویرایشگر کد (جاوا اسکریپت)
شکل 8. مثالی از سوسو زدن بین دمای سطح 12 بعد از ظهر به وقت گرینویچ برای انقلاب شمالی و زمستانی.
انتقال محو بین دو لایه با کاهش همزمان کدورت یک لایه در حالی که تیرگی لایه دیگر را بر روی یک توالی افزایش کدورت از نزدیک به 0 به 1 افزایش میدهد به دست میآید (شکل 9).
ویرایشگر کد (جاوا اسکریپت)
شکل 9. نمونه ای از محو شدن بین دمای سطح 12 بعد از ظهر به وقت گرینویچ برای انقلاب تابستانی و زمستانی.
لغزنده
یک انتقال لغزنده به تدریج لایه تصویر زیرین را نشان داده و پنهان می کند. با تنظیم مکرر کدورت تصویر پوشاننده در محدوده طول جغرافیایی به دست می آید (شکل 10).
ویرایشگر کد (جاوا اسکریپت)
شکل 10. نمونه ای از انتقال لغزشی بین دمای سطح 12 بعد از ظهر به وقت گرینویچ برای انقلاب تابستانی و زمستانی.
به جز مواردی که ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4. 0 مجوز دارد و نمونه کد تحت مجوز Apache 2. 0 مجوز دارد. برای جزئیات، به سیاست های سایت توسعه دهندگان Google مراجعه کنید. جاوا یک علامت تجاری ثبت شده Oracle و/یا شرکت های وابسته به آن است.