gs://alphaearth_foundations GCS বাকেটটিতে COG (ক্লাউড অপ্টিমাইজড জিওটিআইএফএফ) ফাইল রয়েছে যা একসাথে আলফাআর্থ ফাউন্ডেশনের বার্ষিক স্যাটেলাইট এম্বেডিং ডেটাসেট তৈরি করে। এতে ২০১৭ থেকে ২০২৪ সাল পর্যন্ত বছরের বার্ষিক এম্বেডিং রয়েছে, যার মধ্যে রয়েছে।
লাইসেন্স
এই ডেটাসেটটি CC-BY 4.0 এর অধীনে লাইসেন্সপ্রাপ্ত এবং এর জন্য নিম্নলিখিত অ্যাট্রিবিউশন টেক্সট প্রয়োজন: "The AlphaEarth Foundations Satellite Embedding dataset is produced by Google and Google DeepMind."
এই বাকেটটি "অনুরোধকারীর অর্থ প্রদান" হিসেবে সেট আপ করা হয়েছে, তাই ডেটা ডাউনলোড করার জন্য বহির্গমন এবং অন্যান্য চার্জ লাগতে পারে।
ডিরেক্টরি কাঠামো
এগুলি বছর অনুসারে ডিরেক্টরিতে বিভক্ত; প্রতিটি বছরের ডিরেক্টরি 120টি উপ-ডিরেক্টরিতে বিভক্ত, প্রতি UTM জোনে একটি করে, যার নামগুলি জোন নম্বর এবং গোলার্ধ ( N বা S ) প্রতিফলিত করে।
প্রতিটি ডিরেক্টরির মধ্যে বেশ কয়েকটি COG ফাইল থাকে। এই ফাইলগুলিতে সেই UTM জোনের জন্য সমস্ত পিক্সেল ডেটা থাকে।
ফাইল গঠন
প্রতিটি ফাইল ৮১৯২x৮১৯২ পিক্সেল, ৬৪টি চ্যানেল সহ। ডি-কোয়ান্টাইজেশন ম্যাপিং প্রয়োগের পরে (নীচে দেখুন) প্রতিটি পিক্সেলের মান স্বাভাবিক করা হয়েছে যাতে এর ইউক্লিডীয় দৈর্ঘ্য ১ হয়।
ফাইলগুলিতে 4096x4096 পিক্সেল, 2048x2048 পিক্সেল এবং আরও অনেক কিছুর ওভারভিউ স্তর রয়েছে যা 1x1 শীর্ষ-স্তরের ওভারভিউ স্তরে পরিণত হয়। এই ওভারভিউ স্তরগুলি এমনভাবে তৈরি করা হয় যাতে প্রতিটি ওভারভিউ পিক্সেল সেই ওভারভিউ পিক্সেলের অধীনে সর্বোচ্চ-রেজোলিউশনের পিক্সেলের গড় হয়, যেখানে গড়ের মাত্রা 1 দৈর্ঘ্যে স্বাভাবিক করা হয়েছে।
চ্যানেলগুলি স্যাটেলাইট এমবেডিং ডেটাসেটের A00 থেকে A63 অক্ষের সাথে ক্রমানুসারে সঙ্গতিপূর্ণ। COG গুলিতে চ্যানেলগুলির জন্য এই নামকরণও থাকে।
প্রতিটি চ্যানেলের জন্য প্রতিটি পিক্সেলের মান একটি স্বাক্ষরিত 8-বিট পূর্ণসংখ্যা। এই মানগুলি এম্বেডিংয়ের স্থানীয় মানের ([-1, 1] পরিসরে) সাথে কীভাবে ম্যাপ করা হয় তা নীচে বর্ণনা করা হয়েছে।
মান -১২৮ একটি মাস্কড পিক্সেলের সাথে মিলে যায়। যদি এটি একটি চ্যানেলে উপস্থিত থাকে, তবে এটি সমস্ত চ্যানেলে উপস্থিত থাকবে। COG গুলি এটি প্রতিফলিত করে (অর্থাৎ, তাদের NoData মান -১২৮ তে সেট করা আছে)।
প্রতিটি ফাইলের নামও কিছু তথ্য বহন করে। উদাহরণস্বরূপ, gs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff নামের ফাইলটি বিবেচনা করুন। উপরে বর্ণিত হিসাবে, এই ফাইলটি 2019 সালের বার্ষিক এম্বেডিংয়ের অংশ এবং UTM জোন 1S (জোন 1, দক্ষিণ গোলার্ধ) এ রয়েছে। বেস ফাইলের নাম, x8qqwcsisbgygl2ry-0000008192-0000000000 , এই ফাইলটিকে সংশ্লিষ্ট আর্থ ইঞ্জিন স্যাটেলাইট এম্বেডিং ইমেজ নামের সাথে লিঙ্ক করার জন্য কাজ করে। এই উদাহরণে, এই ফাইলটি আর্থ ইঞ্জিন ইমেজ GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry এর একটি অংশের সাথে সম্পর্কিত। ফাইলের নামের দুটি দশমিক অংশ নির্দিষ্ট করে যে এই COG-এর মানগুলি সেই আর্থ ইঞ্জিন চিত্রের সাপেক্ষে কোথায়, Y-তে অফসেট এবং X-তে অফসেট হিসাবে। এই ক্ষেত্রে, COG-এর পিক্সেল উৎপত্তি আর্থ ইঞ্জিন চিত্রের উৎপত্তির সাপেক্ষে (0, 8192)। এর কারণ হল প্রতিটি আর্থ ইঞ্জিন চিত্রকে (যা 16384x16384 পিক্সেল) উপবিভক্ত করা প্রয়োজন ছিল যাতে ফলস্বরূপ COG গুলি খুব বেশি ভারী না হয়।
ডি-কোয়ান্টাইজেশন
প্রতিটি পিক্সেলের প্রতিটি চ্যানেলে কাঁচা স্বাক্ষরিত ৮-বিট মান (যা -১২৭ এবং ১২৭ এর মধ্যে হবে, কারণ -১২৮ "কোনও ডেটা নেই" মান হিসাবে সংরক্ষিত) বিশ্লেষণ-প্রস্তুত ভাসমান-পয়েন্ট মান (যা -১ এবং ১ এর মধ্যে হবে) রূপান্তর করতে, ম্যাপিংটি সম্পাদন করতে হবে
- ১২৭.৫ দিয়ে ভাগ করো
- বর্গক্ষেত্র
- মূল মানের চিহ্ন দিয়ে গুণ করো
এটি NumPy তে প্রকাশ করা হবে এইভাবে
# values is a NumPy array of raw pixel values
de_quantized_values = ((values / 127.5) ** 2) * np.sign(values)
আর্থ ইঞ্জিনে, সংশ্লিষ্ট অপারেশনটি হবে
var de_quantized_values = values.divide(127.5).pow(2).multiply(values.signum());
ম্যানিফেস্ট এবং সূচক
এই ডেটাসেটের ফাইলগুলির একটি তালিকা gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt এ পাওয়া যাবে।
যেহেতু ফাইলের নাম থেকে বিশ্বের কোন অঞ্চলটি কভার করা হয় তা নির্ধারণ করা সম্ভব নয়, তাই gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.parquet , gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkg //alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkg , এবং gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.csv ফাইলগুলিতে তিনটি আকারে (GeoParquet, GeoPackage, এবং CSV) একটি সূচকও প্রদান করা হয়েছে। এই সূচকে ডেটাসেটে প্রতিটি ফাইলের জন্য একটি এন্ট্রি রয়েছে। প্রতিটি ফাইলের জন্য প্রদত্ত তথ্য হল
- ফাইলের জ্যামিতি WGS84 (অর্থাৎ, EPSG:4326) বহুভুজ হিসেবে। CSV ফর্ম্যাটে, এটি
WKTকলামে রয়েছে। এই জ্যামিতি কীভাবে গণনা করা হয় তার বিস্তারিত জানার জন্য নীচে দেখুন। -
crs: এই ছবিটি যে UTM জোনের CRS এর সাথে সম্পর্কিত, সেটি একটি EPSG কোড হিসেবে ব্যবহৃত হয়, যেমনEPSG:32610। -
year: ছবিটি যে বছরটি জুড়ে রয়েছে। -
utm_zone: ছবির UTM জোন, যেমন10N। -
utm_west,utm_south,utm_east,utm_north: কাঁচা পিক্সেল অ্যারের UTM সীমানা। এটি কোনও জ্যামিতি প্রক্রিয়াকরণ প্রতিফলিত করে না এবং সমস্ত পিক্সেল অন্তর্ভুক্ত করে, সেগুলি বৈধ হোক বা না হোক। -
wgs84_west,wgs84_south,wgs84_east,wgs84_north: WGS84 জ্যামিতির সর্বনিম্ন/সর্বোচ্চ দ্রাঘিমাংশ এবং অক্ষাংশ।
জ্যামিতি প্রক্রিয়াকরণ
পিক্সেল অ্যারেটি মূলত কিছু UTM জোনে থাকে, তাই সেই UTM জোনে পিক্সেল অ্যারের বাউন্ডিং বক্সটি একটি সরল আয়তক্ষেত্র। WGS84-এ সেই বাউন্ডিং বক্সটি বহুভুজে রূপান্তরিত হয়। এই বহুভুজে বেশ কয়েকটি অতিরিক্ত বিন্দু রয়েছে যাতে এর প্রান্তগুলি WGS84-এ বক্ররেখার রেখাগুলিকে ঘনিষ্ঠভাবে অনুসরণ করে যেখানে UTM-এর সরলরেখাগুলি রূপান্তরিত হয়। এই বহুভুজটি ছবিতে পিক্সেলের বৈধতা/অবৈধতা বিবেচনা করে না, কেবল ছবির পিক্সেল অ্যারের সীমানা বিবেচনা করে।
এরপর বহুভুজটিকে ছবির UTM জোনের সর্বনিম্ন এবং সর্বোচ্চ দ্রাঘিমাংশে ক্লিপ করা হয়। বাস্তবে, এর ফলে UTM জোনের প্রান্তে ঝুলন্ত কয়েকটি বৈধ পিক্সেল এতে অন্তর্ভুক্ত নাও হতে পারে। সূচক থেকে এই পিক্সেলগুলি বাদ দিলে কোনও সমস্যা হওয়ার কথা নয়: পার্শ্ববর্তী UTM জোনের কিছু চিত্র সেই এলাকাটি জুড়ে থাকা উচিত।
মনে রাখবেন যে UTM জোনের সর্বনিম্ন/সর্বোচ্চ দ্রাঘিমাংশে ক্লিপ করার অর্থ হল কোনও বহুভুজ অ্যান্টিমেরিডিয়ান অতিক্রম করবে না, যা এই ফাইলটি প্রক্রিয়াকরণকে কিছুটা সহজ করে তুলবে।