Earth Engine-এ ক্লাউড অপ্টিমাইজ করা GeoTIFF (COG)

Google Earth Engine আপনাকে নিজের Google Cloud Storage (GCS) বাকেটে সেভ করা র‍্যাস্টার ডেটা নিয়ে কাজ করতে দেয়। ক্লাউড অপ্টিমাইজড GeoTIFF (COG) ব্যবহার করে, আপনি Earth Engine-এ সরাসরি ডেটা অ্যাক্সেস ও বিশ্লেষণ করতে পারবেন। এর জন্য Earth Engine-এর অ্যাসেট স্টোরে পিক্সেল ইনজেস্ট করতে হবে না।

এই প্রাথমিকভাবে ক্লাউড প্রযুক্তির উপর নির্ভরশীল পদ্ধতিটি বেশ কিছু সুবিধা প্রদান করে, বিশেষ করে বড় ডেটাসেট ম্যানেজ করা বা Earth Engine-কে আরও বিস্তৃত Google Cloud ওয়ার্কফ্লো বা এক্সটার্নাল টুল এবং প্ল্যাটফর্মে ইন্টিগ্রেট করার জন্য।

Cloud Storage এবং COG কেন ব্যবহার করবেন?

  • ফ্লেক্সিবিলিটি ও ইন্টারঅপারেবিলিটি: আপনার ডেটা স্ট্যান্ডার্ড Cloud Storage বাকেটে রাখুন, যেখানে অন্যান্য টুল ও পরিষেবা এটি অ্যাক্সেস করতে পারবে। আপনি সরাসরি ডেটা আপলোড করুন বা Earth Engine থেকে এক্সপোর্ট করুন, Cloud Storage, Earth Engine এবং এক্সটার্নাল ওয়ার্কফ্লো, উভয়ের জন্যই সিঙ্গেল সোর্স অফ ট্রুথ হিসেবে কাজ করে।
  • ডেটা কন্ট্রোল ও ইগ্রেস: Cloud Storage-এ ডেটা স্টোর করলে স্ট্যান্ডার্ড অবজেক্ট স্টোরেজ ম্যানেজমেন্টের সুবিধা পাওয়া যায়। এটি আপনাকে অনুরোধকারী পেমেন্ট করে বা পাবলিক বাকেট-এর মতো Cloud Storage ফিচার ব্যবহার করে আপনার ডেটা ডাউনলোড, মাইগ্রেট বা শেয়ার করতে এবং স্ট্যান্ডার্ড Cloud IAM ব্যবহার করে অ্যাক্সেস ম্যানেজ করতে দেয়।
  • ফ্লেক্সিবল স্কেলিং: Earth Engine-এর স্টোরেজ সীমা এড়িয়ে চলুন। ক্লাউড স্টোরেজ, পেটা বাইট স্কেলে ভার্চুয়ালি আনলিমিটেড, সেল্ফ-সার্ভিস স্টোরেজ স্কেলিং প্রদান করে।
  • ইনজেশনের জন্য অপেক্ষা করতে হয় না: COG রেজিস্টার করার প্রসেস দ্রুত সম্পূর্ণ হয় কারণ Earth Engine ইন্ডেক্সিং ও যাচাইকরণের জন্য ফাইল হেডার থেকে শুধুমাত্র মেটাডেটা (যেমন, প্রোজেকশন ও ডাইমেনশন) পড়ে। আসল পিক্সেল ডেটা Cloud Storage-এ থাকে এবং কম্পিউটেশনের সময় অন-ডিমান্ড পড়া হয়, যার ফলে আলাদা করে ইনজেশন টাস্কের প্রয়োজন হয় না।

Earth Engine-এ COG ওয়ার্কফ্লো

Earth Engine, Cloud Storage-এ COG-এর সাথে দ্বিমুখী ওয়ার্কফ্লো সাপোর্ট করে: আপনি সরাসরি GCS থেকে Earth Engine-এ COG পড়তে পারবেন এবং Earth Engine থেকে সরাসরি GCS-এ COG হিসেবে কম্পিউটেশন ফলাফল লিখতে পারবেন।

Cloud Storage থেকে COG রিড করা

GCS-হোস্ট করা COG-কে Earth Engine-এ নিয়ে আসতে, আপনার কাছে দুটি বিকল্প আছে:

  1. সরাসরি লোডিং (ee.Image.loadGeoTIFF): এর GCS URI ব্যবহার করে সরাসরি একটি ছবি লোড করুন। এটি দ্রুত পরীক্ষা, অ্যাড হক বিশ্লেষণ বা সাময়িক ডেটার জন্য সবচেয়ে ভালো:

    জাভাস্ক্রিপ্ট

    var image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif');
    

    Python

    image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif')
    

    সম্পূর্ণ উদাহরণের জন্য, Cloud GeoTIFF থেকে পাওয়া ছবি দেখুন।

  2. রেজিস্টার করা অ্যাসেট: আপলোড ম্যানিফেস্ট ব্যবহার করে এক বা একাধিক COG-কে Earth Engine অ্যাসেট হিসেবে রেজিস্টার করুন (COG রেজিস্ট্রেশন গাইড দেখুন)। প্রোডাকশন ওয়ার্কফ্লোর জন্য এটিই সাজেস্ট করা পাথ, বিশেষ করে ছবি সংগ্রহ তৈরি করার সময়।

ফিচার সরাসরি লোড (loadGeoTIFF) রেজিস্টার করা অ্যাসেট (ম্যানিফেস্ট)
সেট-আপ কোনওটিই নয় (শুধুমাত্র GCS URI) মেনিফেস্ট (Python ক্লায়েন্ট, CLI বা REST)
পারফর্ম্যান্স স্ট্যান্ডার্ড (পড়ার সময় হেডার পড়ে) অপ্টিমাইজ করা (তৈরি করার সময় ইন্ডেক্স করা হয়েছে)
ম্যানেজমেন্ট কোনও অ্যাসেট তৈরি করা হয়নি অ্যাসেট সংখ্যা কোটার মধ্যে ধরা হয়, স্টোরেজের মধ্যে নয়।
ব্যবহারের ক্ষেত্র প্রোটোটাইপিং, অ্যাড হক বিশ্লেষণ দ্রুত রিড করার প্রয়োজন হয় এমন প্রোডাকশন ওয়ার্কফ্লো।

Cloud Storage-এ COG লেখা হচ্ছে

আপনার Cloud Storage বাকেটে COG হিসেবে Earth Engine কম্পিউটেশন ফলাফল সেভ করতে, Export.image.toCloudStorage ব্যাচ এক্সপোর্ট ফাংশন ব্যবহার করুন (ছবি এক্সপোর্ট করা দেখুন) এবং formatOptions-এ cloudOptimized প্যারামিটার true-এ সেট করুন। এটি Earth Engine-কে ছবি কম্পাইল করতে এবং সম্পূর্ণভাবে COG-এর সাথে মানানসই হিসেবে আপনার GCS বাকেটে সরাসরি লিখতে বলে।

Cloud Storage বাকেটের যেসব লোকেশনে কাজ করে

Earth Engine যাতে আপনার Cloud Storage বাকেট অ্যাক্সেস করতে পারে, তার জন্য বাকেটটি অবশ্যই নিম্নলিখিত ডেটা সেন্টার অঞ্চল বা মাল্টি-অঞ্চলের মধ্যে কোনও একটিতে অবস্থিত হতে হবে:

  • us মাল্টি-রিজিয়ন
  • us-central1 অন্তর্ভুক্ত আছে এমন যেকোনও মার্কিন ডুয়াল-রিজিয়ন
  • us-central1 অঞ্চল

আপনার বাকেট অন্য কোনও আঞ্চলিক ডেটা সেন্টারে থাকলে, Earth Engine রেজিস্ট্রেশন ও পড়ার অনুরোধ বাতিল করে দেবে। Earth Engine শুধুমাত্র Google Cloud Storage বাকেটে সেভ করা COG অ্যাক্সেস করে। এক্সটার্নাল ক্লাউড স্টোরেজ প্রদানকারী এবং জেনেরিক HTTP URL কাজ করে না।

খরচ সংক্রান্ত বিবেচনা ও স্টোরেজ ক্লাস

রেজিস্টার করা COG অ্যাসেট বিশ্লেষণ করার সময়, Earth Engine থেকে রিড করার জন্য আপনার Google Cloud প্রোজেক্টে Cloud Storage রিড অপারেশন বা ডেটা রিট্রিভাল চার্জ লাগে না।

Cloud Storage-এর মাধ্যমে আপনাকে মূলত স্ট্যান্ডার্ড মাসিক অ্যাট-রেস্ট ডেটা স্টোরেজ (জিবি/মাস) এবং যেকোনও এক্সটার্নাল ক্লায়েন্ট ডেটা ট্রান্সফার বা নেটওয়ার্ক ইগ্রেস ফি (আপনার বাকেট লোকেশন ও ক্লায়েন্ট নেটওয়ার্কিং কনফিগারেশনের উপর নির্ভর করে) অনুযায়ী বিল করা হয়।

স্টোরেজ ক্লাস সংক্রান্ত সাজেশন

  • স্ট্যান্ডার্ড স্টোরেজ (সাজেস্ট করা): অ্যাক্টিভ Earth Engine ওয়ার্কফ্লোর জন্য স্ট্যান্ডার্ড স্টোরেজ সবচেয়ে উপযুক্ত। কারণ এতে কোনও ন্যূনতম স্টোরেজ সময়কালের নিয়ম নেই, আপনি তাড়াতাড়ি মুছে ফেলার জরিমানা ছাড়াই অস্থায়ী COG অবাধে ওভাররাইট, আপডেট বা মুছে ফেলতে পারেন। এছাড়াও, আপনি বা আপনার সহযোগীরা যদি Earth Engine-এর বাইরে ডেস্কটপ GIS সফ্টওয়্যার, GDAL স্ক্রিপ্ট বা মেশিন লার্নিং নোটবুক ব্যবহার করে বাকেট অ্যাক্সেস করেন, তাহলে স্ট্যান্ডার্ড স্টোরেজের জন্য কোনও রিটেল রিট্রিভাল সারচার্জ দিতে হয় না।
  • নিয়ারলাইন, কোল্ডলাইন ও আর্কাইভ স্টোরেজ: সব Cloud Storage ক্লাস স্ট্যান্ডার্ড স্টোরেজের মতো একই কম-লেটেন্সি অ্যাক্সেস ও থ্রুপুট প্রদান করে, তাই Earth Engine-এ তুলনামূলকভাবে কম অ্যাক্সেস করা স্টোরেজ টিয়ার ব্যবহার করার সময় রিড পারফর্ম্যান্সের ক্ষেত্রে কোনও সমস্যা হয় না। Earth Engine কম্পিউটেশন রিটেল ডেটা রিট্রিভালের ফি মূল্যায়ন না করেই এইসব টিয়ার পড়তে পারে, Cloud Storage রিটেল নিয়ম স্টোরেজের কঠোর ন্যূনতম সময়সীমা (Nearline-এর জন্য ৩০ দিন, Coldline-এর জন্য ৯০ দিন, Archive-এর জন্য ৩৬৫ দিন) প্রয়োগ করে। ন্যূনতম সময়সীমা পূর্ণ হওয়ার আগে ফাইল পরিবর্তন বা মুছে দিলে, তাড়াতাড়ি মুছে দেওয়ার জন্য সারচার্জ প্রযোজ্য হয়। এছাড়াও, কোনও এক্সটার্নাল ক্লায়েন্ট টুল থেকে কোল্ড অবজেক্ট অ্যাক্সেস করলে, ডেটা রিট্রিভ করার জন্য অতিরিক্ত চার্জ দিতে হয়।

খুচরা মূল্য ও ন্যূনতম সময়সীমা সংক্রান্ত নীতির ব্যাপারে বিস্তারিত জানতে, Google Cloud Storage-এর মূল্য সংক্রান্ত নির্দেশিকা দেখুন।

হাই-লেভেল ওয়ার্কফ্লো

Earth Engine-এ COG ব্যবহার করার সাধারণ ওয়ার্কফ্লোতে নিম্নলিখিত ধাপগুলি অন্তর্ভুক্ত থাকে:

এক্সটার্নাল ডেটা ইমপোর্ট করার জন্য:

  • অপ্টিমাইজ করা: এক্সটার্নাল টুল (যেমন, GDAL, লোকাল ওয়ার্কস্টেশন স্ক্রিপ্ট বা ক্লাউড প্রসেসিং পাইপলাইন) ব্যবহার করে আপনার র‍্যাস্টার ফাইলকে COG ফর্ম্যাটে কনভার্ট করুন ।
  • আপলোড: COG-কে us-central1 বা মার্কিন যুক্তরাষ্ট্রের মাল্টি-রিজিয়নে অবস্থিত কাজ করে এমন Cloud Storage বাকেটে আপলোড করুন।
  • অনুমতি: আপনার এবং প্রোজেক্টের যেকোনও কোলাবরেটরের কাছে ফাইলে Cloud Storage রিড অ্যাক্সেস আছে কিনা তা নিশ্চিত করুন (COG অনুমতি দেখুন)।
  • রেজিস্টার করা: COG-কে Earth Engine অ্যাসেট হিসেবে রেজিস্টার করতে Python ক্লায়েন্ট লাইব্রেরি, earthengine কমান্ড-লাইন টুল বা REST API ব্যবহার করুন (COG রেজিস্ট্রেশন দেখুন)।

ফলাফল এক্সপোর্ট করার জন্য:

  • এক্সপোর্ট: Earth Engine থেকে Cloud Storage-এ ব্যাচ এক্সপোর্ট চালান, যেখানে cloudOptimized-এর মান true-এ সেট করা আছে (ছবি এক্সপোর্ট করা দেখুন)।
  • রেজিস্টার করুন (ঐচ্ছিক): এক্সপোর্ট করা COG-কে Earth Engine-এ আরও বিশ্লেষণের জন্য নতুন অ্যাসেট হিসেবে রেজিস্টার করুন (COG রেজিস্ট্রেশন দেখুন)।

শুরু করার জন্য প্রস্তুত? আপনার প্রথম অ্যাসেট রেজিস্টার করতে COG রেজিস্ট্রেশন গাইড-এ দেওয়া বিস্তারিত নির্দেশাবলী অনুসরণ করুন।