ข้อมูล GCS ของ AlphaEarth Foundations

gs://alphaearth_foundations ที่เก็บข้อมูล GCS มีไฟล์ COG (Cloud Optimized GeoTIFF) ซึ่งรวมกันเป็นข้อมูลชุด Satellite Embedding ประจำปีของ AlphaEarth Foundations โดยมีข้อมูลการฝังประจำปีตั้งแต่ปี 2017 ถึง 2025 รวมถึงปีที่ระบุด้วย

Google มุ่งมั่นที่จะผลิตเลเยอร์การฝังดาวเทียมประจำปีอย่างต่อเนื่อง และจะแจ้งให้ทราบล่วงหน้าอย่างน้อย 1 ปีหากมีการเปลี่ยนแปลงที่คาดการณ์ไว้ ในการนำส่ง โดยขึ้นอยู่กับความพร้อมใช้งานอย่างต่อเนื่องของสตรีมข้อมูลนำเข้าจาก USGS และ ESA ซึ่งการผลิตชุดข้อมูลต้องอาศัยข้อมูลดังกล่าว

ใบอนุญาต

ชุดข้อมูลนี้ได้รับอนุญาตภายใต้ CC-BY 4.0 และต้องมี ข้อความระบุแหล่งที่มาต่อไปนี้ "ชุดข้อมูลการฝังดาวเทียมของ AlphaEarth Foundations ผลิตโดย Google และ Google DeepMind"

ระบบตั้งค่าที่เก็บข้อมูลนี้เป็น "ผู้ขอเป็นผู้ชำระเงิน" ดังนั้นการดาวน์โหลดข้อมูลอาจทำให้เกิดค่าใช้จ่ายในการส่งออก และค่าใช้จ่ายอื่นๆ

โครงสร้างไดเรกทอรี

โดยจะแบ่งเป็นไดเรกทอรีย่อยตามปี และไดเรกทอรีย่อยของแต่ละปีจะแบ่งเป็นไดเรกทอรีย่อย 120 รายการ ซึ่งมี 1 รายการต่อโซน UTM โดยชื่อจะแสดงหมายเลขโซนและซีกโลก (N หรือ S)

ในแต่ละไดเรกทอรีจะมีไฟล์ COG อยู่หลายไฟล์ ไฟล์เหล่านี้มีข้อมูลพิกเซลทั้งหมด สำหรับโซน UTM นั้น

โครงสร้างไฟล์

แต่ละไฟล์มีขนาด 8192x8192 พิกเซล โดยมี 64 ช่อง ขนาดของแต่ละพิกเซล หลังจากใช้การแมปการยกเลิกการหาปริมาณแล้ว (ดูด้านล่าง) จะได้รับการ ทำให้เป็นมาตรฐานเพื่อให้มีความยาวแบบยุคลิดเท่ากับ 1

ไฟล์ประกอบด้วยเลเยอร์ภาพรวมที่ 4096x4096 พิกเซล, 2048x2048 พิกเซล และอื่นๆ จนถึงเลเยอร์ภาพรวมระดับบนสุด 1x1 เลเยอร์ภาพรวมเหล่านี้สร้างขึ้นเพื่อให้พิกเซลภาพรวมแต่ละพิกเซลเป็นค่าเฉลี่ยของพิกเซลที่มีความละเอียดสูงสุดภายใต้พิกเซลภาพรวมนั้น โดยมีการปรับขนาดค่าเฉลี่ยให้มีความยาวเป็น 1

ช่องทางจะสอดคล้องตามลำดับกับแกน A00 ถึง A63 ของ ชุดข้อมูลการฝังดาวเทียม นอกจากนี้ COGS ยังมีชื่อของแชแนลด้วย

ค่าของพิกเซลแต่ละช่องจะเป็นจำนวนเต็ม 8 บิตที่มีการลงนาม วิธีที่ค่าเหล่านี้แมปกับค่าเนทีฟ (ในช่วง [-1, 1]) ของการฝังอธิบายไว้ในการยกเลิกการหาปริมาณ

ค่า -128 สอดคล้องกับพิกเซลที่มาสก์ หากมีในช่องใดช่องหนึ่ง ก็จะปรากฏในทุกช่อง COG จะแสดงค่านี้ (กล่าวคือ มีการตั้งค่า NoData เป็น -128)

ชื่อของแต่ละไฟล์ก็มีข้อมูลบางอย่างด้วย เช่น ลองพิจารณาไฟล์ชื่อ gs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff ดังที่เห็นในชื่อไฟล์ ไฟล์นี้เป็นส่วนหนึ่งของการฝังประจำปี 2019 สำหรับ เขต UTM 1S (เขต 1 ซีกโลกใต้) ชื่อไฟล์ฐาน x8qqwcsisbgygl2ry-0000008192-0000000000ใช้เพื่อลิงก์ไฟล์นี้กับ ชื่อรูปภาพการฝังดาวเทียมของ Earth Engine ที่เกี่ยวข้อง ในตัวอย่างนี้ ไฟล์นี้ สอดคล้องกับส่วนหนึ่งของรูปภาพ Earth Engine GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry ส่วนทศนิยม 2 ส่วน ของชื่อไฟล์จะระบุว่าค่าของ COG นี้สัมพันธ์กับรูปภาพ Earth Engine นั้นอย่างไร โดยเป็นออฟเซ็ตใน Y ตามด้วยออฟเซ็ตใน X ในกรณีนี้ ต้นกำเนิดพิกเซลของ COG อยู่ที่ (0, 8192) เมื่อเทียบกับต้นกำเนิดของรูปภาพ Earth Engine เนื่องจากจำเป็นต้องแบ่งย่อยรูปภาพ 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());

การสร้างปิรามิดที่ดาวน์แซมเปิล

หากต้องการสร้างเวอร์ชันที่ดาวน์แซมเปิลหรือภาพรวมภายนอกด้วยตนเอง จากเลเยอร์ความละเอียดฐานของ COG เหล่านี้ (เช่น หลังจากโมเสก ไฟล์หลายไฟล์) คุณต้องใช้ขั้นตอนต่อไปนี้ เทคนิคการสร้างพีระมิดของแรสเตอร์มาตรฐาน (เช่น การใช้ gdaladdo กับ -r average ในค่าจำนวนเต็มดิบ) จะไม่ให้ผลลัพธ์ที่ถูกต้อง

  1. ยกเลิกการหาปริมาณ: แปลงจำนวนเต็ม 8 บิตดิบเป็นจำนวนทศนิยมโดยใช้วิธีที่อธิบายไว้ในการยกเลิกการหาปริมาณ
  2. Sum Vectors: ดำเนินการหาผลรวมแบบทีละองค์ประกอบของเวกเตอร์ที่ยกเลิกการหาปริมาณ
  3. ทำให้เป็นมาตรฐาน: คำนวณบรรทัดฐานแบบยุคลิดของเวกเตอร์ผลรวมที่ได้ แล้วหารด้วยบรรทัดฐานเพื่อทำให้เป็นมาตรฐานใหม่ให้มีความยาวเป็น 1 หน่วย
import numpy as np

# Assuming 'raw_values' is a NumPy array of shape (N, 64)
# containing the raw signed 8-bit integers from N pixels.
# N = 4 for a 2x2 aggregation, for example.

# 1. De-quantize
de_quantized_values = ((raw_values / 127.5) ** 2) * np.sign(raw_values)

# 2. Sum the de-quantized vectors
sum_vec = np.sum(de_quantized_values, axis=0)  # Shape (64,)

# 3. Normalize the sum vector
norm = np.linalg.norm(sum_vec)
# Add epsilon to prevent division by zero
pyramided_vec = sum_vec / (norm + 1e-9)

# 'pyramided_vec' is the correctly downsampled 64-dimensional unit vector.

เลเยอร์ภาพรวมใน COG สร้างขึ้นโดยใช้กระบวนการนี้ หากเลเยอร์ภาพรวมตรงกับความต้องการของคุณ คุณสามารถใช้เลเยอร์ภาพรวมเหล่านั้นได้ทันทีโดยไม่ต้องคำนวณเพิ่มเติม

ไฟล์ Manifest และดัชนี

คุณดูรายการไฟล์ในชุดข้อมูลนี้ได้ใน gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt

เนื่องจากไม่สามารถระบุพื้นที่ของโลกที่ครอบคลุมได้จากชื่อไฟล์ จึงมีดัชนีให้ด้วยใน 3 รูปแบบ (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 ดัชนีนี้มีรายการ 1 รายการสำหรับแต่ละไฟล์ในชุดข้อมูล ข้อมูลที่ระบุ สำหรับแต่ละไฟล์คือ

  • เรขาคณิตของไฟล์เป็น WGS84 (เช่น EPSG:4326) ในรูปแบบ CSV ฟอร์ม ข้อมูลนี้จะอยู่ในคอลัมน์ WKT ดูรายละเอียดการคำนวณได้ที่การประมวลผลเรขาคณิต
  • crs: CRS ของเขต UTM ที่รูปภาพนี้เป็นของรหัส 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 หมายความว่าไม่มี รูปหลายเหลี่ยมข้ามเส้นเมริเดียนที่ 180 ซึ่งจะทำให้การประมวลผลไฟล์นี้ง่ายขึ้นเล็กน้อย