gs://alphaearth_foundations GCS बकेट में COG (क्लाउड ऑप्टिमाइज़्ड जियोटीआईएफ़) फ़ाइलें होती हैं. ये सभी फ़ाइलें मिलकर, AlphaEarth Foundations का सालाना सैटलाइट एम्बेडिंग डेटासेट बनाती हैं. इसमें साल 2017 से 2024 तक के सालाना एम्बेडिंग शामिल हैं.
लाइसेंस
इस डेटासेट का लाइसेंस, CC-BY 4.0 के तहत मिला है. इसके लिए, एट्रिब्यूशन के तौर पर यह टेक्स्ट देना ज़रूरी है: "AlphaEarth Foundations Satellite Embedding dataset को Google और Google DeepMind ने बनाया है."
इस बकेट को "अनुरोध करने वाला व्यक्ति पेमेंट करेगा" के तौर पर सेट अप किया गया है. इसलिए, डेटा डाउनलोड करने पर इग्रेस और अन्य शुल्क लग सकते हैं.
डायरेक्ट्री स्ट्रक्चर
इन्हें साल के हिसाब से डायरेक्ट्री में बांटा जाता है. हर साल की डायरेक्ट्री को 120 सबडायरेक्ट्री में बांटा जाता है. हर सबडायरेक्ट्री, एक यूटीएम ज़ोन के हिसाब से होती है. इनके नाम में ज़ोन नंबर और गोलार्ध (N या S) की जानकारी होती है.
हर डायरेक्ट्री में कई COG फ़ाइलें होती हैं. इन फ़ाइलों में, उस यूटीएम ज़ोन के लिए सभी पिक्सल डेटा मौजूद होता है.
फ़ाइल स्ट्रक्चर
हर फ़ाइल 8192x8192 पिक्सल की है और इसमें 64 चैनल हैं. डी-क्वांटाइज़ेशन मैपिंग लागू करने के बाद (नीचे देखें), हर पिक्सल के मैग्नीट्यूड को सामान्य किया गया है, ताकि इसकी यूक्लिडियन लंबाई 1 हो.
इन फ़ाइलों में 4096x4096 पिक्सल, 2048x2048 पिक्सल वगैरह पर ओवरव्यू लेयर होती हैं. ये लेयर, 1x1 टॉप-लेवल ओवरव्यू लेयर तक होती हैं. खास जानकारी देने वाली इन लेयर को इस तरह से बनाया जाता है कि खास जानकारी देने वाले हर पिक्सल में, उस पिक्सल के नीचे मौजूद सबसे ज़्यादा रिज़ॉल्यूशन वाले पिक्सल का औसत होता है. साथ ही, औसत के मैग्नीट्यूड को सामान्य किया जाता है, ताकि उसकी लंबाई 1 हो.
चैनल, Satellite Embedding डेटासेट के A00 से A63 अक्षों के क्रम के हिसाब से होते हैं. सीओजीएस में चैनलों के लिए भी यह नाम शामिल होता है.
हर चैनल के लिए, हर पिक्सल की वैल्यू एक साइंड 8-बिट पूर्णांक होती है. इन वैल्यू को एम्बेडिंग की नेटिव वैल्यू ([-1, 1] की रेंज में) के साथ मैप करने का तरीका यहां बताया गया है.
वैल्यू -128, मास्क किए गए पिक्सल से मेल खाती है. अगर यह किसी एक चैनल में मौजूद है, तो यह सभी चैनलों में मौजूद होगा. सीओजीएस में यह जानकारी दिखती है. इसका मतलब है कि उनमें NoData वैल्यू को -128 पर सेट किया गया है.
हर फ़ाइल के नाम में भी कुछ जानकारी होती है. उदाहरण के लिए, gs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff नाम की फ़ाइल देखें.
ऊपर दी गई जानकारी के मुताबिक, यह फ़ाइल 2019 की सालाना एंबेडिंग का हिस्सा है. साथ ही, यह यूटीएम ज़ोन 1S (ज़ोन 1, दक्षिणी गोलार्ध) में है. बेस फ़ाइल का नाम, x8qqwcsisbgygl2ry-0000008192-0000000000, इस फ़ाइल को Earth Engine Satellite Embedding Image के नाम से लिंक करने के लिए इस्तेमाल किया जाता है. इस उदाहरण में, यह फ़ाइल Earth Engine की इमेज GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry के एक हिस्से से जुड़ी है. फ़ाइल के नाम के दो दशमलव हिस्से बताते हैं कि इस सीओजी की वैल्यू, Earth Engine इमेज के हिसाब से कहां हैं. ये वैल्यू, Y में ऑफ़सेट के तौर पर होती हैं. इसके बाद, X में ऑफ़सेट होता है. इस मामले में, COG के पिक्सल का ऑरिजिन, Earth Engine इमेज के ऑरिजिन के हिसाब से (0, 8192) पर है.
ऐसा इसलिए किया गया, क्योंकि हर Earth Engine इमेज (जो 16384x16384 पिक्सल की होती हैं) को सबडिवाइड करना ज़रूरी था, ताकि नतीजे में मिलने वाले COG बहुत बड़े न हों.
डी-क्वांटाइज़ेशन
हर पिक्सल के हर चैनल में मौजूद रॉ साइंड 8-बिट वैल्यू (जो -127 से 127 के बीच होगी, क्योंकि -128 को "कोई डेटा नहीं" वैल्यू के तौर पर रिज़र्व किया गया है) को विश्लेषण के लिए तैयार फ़्लोटिंग-पॉइंट वैल्यू (जो -1 से 1 के बीच होगी) में बदलने के लिए, यह मैपिंग करनी होगी
- 127.5 से भाग दें
- स्क्वेयर
- ओरिजनल वैल्यू के साइन से गुणा करें
इसे NumPy में ऐसे लिखा जाएगा
# values is a NumPy array of raw pixel values
de_quantized_values = ((values / 127.5) ** 2) * np.sign(values)
Earth Engine में, इससे जुड़ी कार्रवाई यह होगी
var de_quantized_values = values.divide(127.5).pow(2).multiply(values.signum());
मेनिफ़ेस्ट और इंडेक्स
इस डेटासेट में मौजूद फ़ाइलों की सूची, gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt में देखी जा सकती है.
फ़ाइल के नामों से यह पता नहीं चलता कि ये दुनिया के किस हिस्से को कवर करती हैं. इसलिए, एक इंडेक्स भी दिया गया है. यह इंडेक्स तीन फ़ॉर्मैट (GeoParquet, GeoPackage, और CSV) में उपलब्ध है. यह इंडेक्स, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.parquet, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkg, और gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.csv फ़ाइलों में मौजूद है. इस इंडेक्स में, डेटासेट की हर फ़ाइल के लिए एक एंट्री होती है. हर फ़ाइल के लिए दी गई जानकारी
- फ़ाइल की ज्यामिति (ज्यॉमेट्री) WGS84 के तौर पर (यानी, EPSG:4326) पॉलीगॉन. CSV फ़ॉर्म में, यह जानकारी
WKTकॉलम में होती है. इस ज्यामिति की गणना कैसे की जाती है, इस बारे में जानकारी यहां दी गई है. crs: यह इमेज जिस यूटीएम ज़ोन की है उसका सीआरएस, ईपीएसजी कोड के तौर पर. जैसे,EPSG:32610.year: वह साल जिसकी इमेज है.utm_zone: इमेज का यूटीएम ज़ोन, जैसे कि10N.utm_west,utm_south,utm_east,utm_north: रॉ पिक्सल ऐरे की यूटीएम सीमाएं. इससे किसी भी तरह की ज्यामिति प्रोसेसिंग का पता नहीं चलता. इसमें सभी पिक्सल शामिल होते हैं, भले ही वे मान्य हों या न हों.wgs84_west,wgs84_south,wgs84_east,wgs84_north: WGS84 ज्यामिति का कम से कम/ज़्यादा से ज़्यादा देशांतर और अक्षांश.
ज्यामिति को प्रोसेस करना
पिक्सेल ऐरे, मूल रूप से किसी यूटीएम ज़ोन में होता है. इसलिए, उस यूटीएम ज़ोन में पिक्सेल ऐरे का बाउंडिंग बॉक्स एक सामान्य आयत होता है. उस बाउंडिंग बॉक्स को WGS84 में पॉलीगॉन में बदल दिया जाता है. इस पॉलीगॉन में कई अतिरिक्त पॉइंट शामिल हैं, ताकि इसके किनारे WGS84 में मौजूद घुमावदार लाइनों के साथ-साथ चलें. ये घुमावदार लाइनें, यूटीएम में मौजूद सीधी लाइनों में बदल जाती हैं. यह पॉलीगॉन, इमेज में मौजूद पिक्सल के मान्य/अमान्य होने पर ध्यान नहीं देता. यह सिर्फ़ इमेज के पिक्सल ऐरे की सीमाओं पर ध्यान देता है.
इसके बाद, पॉलीगॉन को इमेज के यूटीएम ज़ोन के कम से कम और ज़्यादा से ज़्यादा देशांतर पर क्लिप किया जाता है. इस वजह से, हो सकता है कि यह कुछ ऐसे मान्य पिक्सल को शामिल न करे जो यूटीएम ज़ोन के किनारे पर मौजूद हैं. इन पिक्सल को इंडेक्स से हटाने पर कोई समस्या नहीं होनी चाहिए: आस-पास के यूटीएम ज़ोन की कुछ इमेज में उस इलाके को शामिल किया जाना चाहिए.
ध्यान दें कि यूटीएम ज़ोन के कम से कम/ज़्यादा से ज़्यादा देशांतर पर क्लिप करने का मतलब है कि कोई भी बहुभुज, एंटीमेरिडियन को पार नहीं करता है. इससे इस फ़ाइल को प्रोसेस करना थोड़ा आसान हो जाएगा.