Google Earth Engine ช่วยให้คุณทำงานกับข้อมูลแรสเตอร์ที่จัดเก็บไว้ใน Bucket ของ Google Cloud Storage (GCS) ของคุณเองได้ การใช้ Cloud Optimized GeoTIFFs (COGs) ช่วยให้คุณเข้าถึง และวิเคราะห์ข้อมูลได้โดยตรงใน Earth Engine โดยไม่ต้องนำเข้า พิกเซลลงในที่เก็บชิ้นงานของ Earth Engine
แนวทางที่เน้นระบบคลาวด์เป็นหลักนี้มีประโยชน์หลายประการ โดยเฉพาะอย่างยิ่งสำหรับการจัดการชุดข้อมูลขนาดใหญ่หรือการผสานรวม Earth Engine เข้ากับเวิร์กโฟลว์ Google Cloud ที่กว้างขึ้น หรือเครื่องมือและแพลตฟอร์มภายนอก
เหตุผลที่ควรใช้ Cloud Storage และ COGs
- ความยืดหยุ่นและความสามารถในการทำงานร่วมกัน: จัดเก็บข้อมูลไว้ใน Bucket ของ Cloud Storage มาตรฐาน ซึ่งเครื่องมือและบริการอื่นๆ สามารถเข้าถึงได้ ไม่ว่าคุณจะอัปโหลดข้อมูลโดยตรงหรือส่งออกจาก Earth Engine Cloud Storage จะทำหน้าที่เป็นแหล่งข้อมูลที่ถูกต้องแหล่งเดียวสำหรับทั้ง Earth Engine และเวิร์กโฟลว์ภายนอก
- การควบคุมและการส่งออกข้อมูล: การจัดเก็บข้อมูลใน Cloud Storage มีความสามารถในการจัดการพื้นที่เก็บข้อมูลออบเจ็กต์มาตรฐาน ซึ่งช่วยให้คุณดาวน์โหลด ย้ายข้อมูล หรือแชร์ข้อมูลได้โดยใช้ฟีเจอร์ของ Cloud Storage เช่น Requester Pays หรือ Bucket สาธารณะ, และจัดการการเข้าถึงโดยใช้ Cloud IAM มาตรฐาน
- การปรับขนาดที่ยืดหยุ่น: หลีกเลี่ยง ขีดจำกัดพื้นที่เก็บข้อมูลของ Earth Engine Cloud Storage มีการปรับขนาดพื้นที่เก็บข้อมูลแบบบริการตนเองที่แทบไม่จำกัดจนถึงระดับเพตะไบต์
- ไม่ต้องรอการนำเข้า: การลงทะเบียน COG จะเสร็จสมบูรณ์อย่างรวดเร็วเนื่องจาก Earth Engine จะอ่านเฉพาะข้อมูลเมตา (เช่น การฉายภาพและขนาด) จากส่วนหัวของไฟล์เพื่อจัดทำดัชนีและการตรวจสอบ ข้อมูลพิกเซลจริงจะยังคงอยู่ใน Cloud Storage และจะอ่านตามความต้องการระหว่างการคำนวณ ซึ่งช่วยลดความจำเป็นในการทำงานนำเข้าแยกต่างหาก
เวิร์กโฟลว์ COG ใน Earth Engine
Earth Engine รองรับเวิร์กโฟลว์แบบ 2 ทิศทางกับ COG ใน Cloud Storage โดยคุณสามารถอ่าน COG จาก GCS ลงใน Earth Engine ได้โดยตรง และเขียนผลการคำนวณจาก Earth Engine ลงใน GCS เป็น COG ได้โดยตรง
การอ่าน COG จาก Cloud Storage
หากต้องการนำ COG ที่โฮสต์ใน GCS ไปยัง Earth Engine คุณมี 2 ตัวเลือกดังนี้
การโหลดโดยตรง (
ee.Image.loadGeoTIFF): โหลดรูปภาพเดียวโดยตรงโดยใช้ URI ของ GCS ตัวเลือกนี้เหมาะที่สุดสำหรับการทดสอบอย่างรวดเร็ว การวิเคราะห์เฉพาะกิจ หรือข้อมูลชั่วคราวJavaScript
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
ชิ้นงานที่ลงทะเบียน: ลงทะเบียน COG อย่างน้อย 1 รายการเป็น ชิ้นงาน Earth Engine โดยใช้ไฟล์ Manifest สำหรับการอัปโหลด (ดู คู่มือการลงทะเบียน COG) นี่เป็นเส้นทางที่แนะนำสำหรับเวิร์กโฟลว์การผลิต โดยเฉพาะอย่างยิ่งเมื่อสร้างคอลเล็กชันรูปภาพ
| ฟีเจอร์ | การโหลดโดยตรง (loadGeoTIFF) |
ชิ้นงานที่ลงทะเบียน (ไฟล์ Manifest) |
|---|---|---|
| ตั้งค่า | ไม่มี (เพียงแค่ URI ของ GCS) | ไฟล์ Manifest (ไคลเอ็นต์ Python, CLI หรือ REST) |
| ประสิทธิภาพ | มาตรฐาน (อ่านส่วนหัวเมื่ออ่าน) | เพิ่มประสิทธิภาพ (จัดทำดัชนีเมื่อสร้าง) |
| การจัดการ | ไม่มีการสร้างชิ้นงาน | นับรวมกับโควต้าจำนวนชิ้นงาน ไม่ใช่พื้นที่เก็บข้อมูล |
| กรณีการใช้งาน | การสร้างต้นแบบ การวิเคราะห์เฉพาะกิจ | เวิร์กโฟลว์การผลิตที่ต้องอ่านอย่างรวดเร็ว |
การเขียน COG ลงใน Cloud Storage
หากต้องการบันทึกผลการคำนวณของ Earth Engine เป็น COG ใน Bucket ของ Cloud Storage
ให้ใช้
Export.image.toCloudStorage
ฟังก์ชันการส่งออกแบบกลุ่ม (ดูการส่งออก
รูปภาพ) และตั้งค่า
พารามิเตอร์ cloudOptimized เป็น true ใน formatOptions ซึ่งจะบอกให้ Earth Engine รวบรวมรูปภาพและเขียนลงใน Bucket ของ GCS โดยตรงเป็น COG ที่เป็นไปตามข้อกำหนดอย่างสมบูรณ์
ตำแหน่ง Bucket ของ Cloud Storage ที่รองรับ
Earth Engine จะเข้าถึง Bucket ของ Cloud Storage ได้ก็ต่อเมื่อ Bucket ต้อง อยู่ในภูมิภาคศูนย์ข้อมูลหรือหลายภูมิภาคต่อไปนี้
- หลายภูมิภาค
us - ภูมิภาคคู่ของสหรัฐอเมริกาที่รวม
us-central1 - ภูมิภาค
us-central1
หากวาง Bucket ไว้ในศูนย์ข้อมูลระดับภูมิภาคอื่นๆ Earth Engine จะปฏิเสธคำขอลงทะเบียนและอ่าน Earth Engine จะเข้าถึง COG ที่จัดเก็บไว้ใน Bucket ของ Google Cloud Storage เท่านั้น ระบบไม่รองรับผู้ให้บริการพื้นที่เก็บข้อมูลระบบคลาวด์ภายนอกและ HTTP URL ทั่วไป
ข้อควรพิจารณาเกี่ยวกับค่าใช้จ่ายและคลาสพื้นที่เก็บข้อมูล
เมื่อวิเคราะห์ชิ้นงาน COG ที่ลงทะเบียน การอ่านจาก Earth Engine จะไม่มีค่าใช้จ่ายในการดำเนินการอ่านหรือค่าใช้จ่ายในการดึงข้อมูลของ Cloud Storage ในโปรเจ็กต์ Google Cloud
ระบบจะเรียกเก็บเงินจากคุณโดย Cloud Storage เป็นหลักสำหรับพื้นที่เก็บข้อมูลข้อมูลขณะพัก (GB/เดือน) มาตรฐานรายเดือน และค่าใช้จ่ายในการโอนข้อมูลของไคลเอ็นต์ภายนอกหรือค่าใช้จ่ายในการส่งออกข้อมูลจากเครือข่าย (ขึ้นอยู่กับตำแหน่ง Bucket และการกำหนดค่าเครือข่ายของไคลเอ็นต์)
คำแนะนำเกี่ยวกับคลาสพื้นที่เก็บข้อมูล
- พื้นที่เก็บข้อมูลมาตรฐาน (แนะนำ): พื้นที่เก็บข้อมูลมาตรฐานเหมาะที่สุดสำหรับเวิร์กโฟลว์ Earth Engine ที่ใช้งานอยู่ เนื่องจากไม่มีกฎระยะเวลาการจัดเก็บขั้นต่ำ คุณจึงสามารถเขียนทับ อัปเดต หรือลบ COG ชั่วคราวได้อย่างอิสระโดยไม่มีค่าปรับสำหรับการลบก่อนกำหนด นอกจากนี้ หากคุณหรือผู้ทำงานร่วมกันเข้าถึง Bucket โดยใช้ซอฟต์แวร์ GIS บนเดสก์ท็อป สคริปต์ GDAL หรือ Notebook ของแมชชีนเลิร์นนิงนอก Earth Engine พื้นที่เก็บข้อมูลมาตรฐานจะไม่มีค่าธรรมเนียมการดึงข้อมูลขายปลีก
- พื้นที่เก็บข้อมูล Nearline, Coldline และ Archive Storage: คลาสพื้นที่เก็บข้อมูลทั้งหมดของ Cloud Storage มีการเข้าถึงที่มีเวลาในการตอบสนองต่ำและปริมาณงานเท่ากับพื้นที่เก็บข้อมูลมาตรฐาน ดังนั้นจึงไม่มีค่าปรับด้านประสิทธิภาพการอ่านเมื่อใช้พื้นที่เก็บข้อมูลระดับที่เย็นกว่าใน Earth Engine แม้ว่าการคำนวณของ Earth Engine จะอ่านพื้นที่เก็บข้อมูลระดับเหล่านี้ได้โดยไม่มีค่าธรรมเนียมการดึงข้อมูลขายปลีก แต่กฎการขายปลีกของ Cloud Storage กำหนดระยะเวลาการจัดเก็บขั้นต่ำที่เข้มงวด (30 วันสำหรับ Nearline, 90 วันสำหรับ Coldline, 365 วันสำหรับ Archive) การแก้ไขหรือลบไฟล์ก่อนระยะเวลาขั้นต่ำจะทำให้เกิดค่าธรรมเนียมการลบก่อนกำหนด นอกจากนี้ การเข้าถึงออบเจ็กต์ที่เย็นจากเครื่องมือไคลเอ็นต์ภายนอกจะทำให้เกิดค่าธรรมเนียมการดึงข้อมูลที่มีค่าใช้จ่ายสูง
ดูราคาขายปลีกโดยละเอียดและนโยบายระยะเวลาขั้นต่ำได้ที่ คู่มือราคา Google Cloud Storage
เวิร์กโฟลว์ระดับสูง
เวิร์กโฟลว์ทั่วไปสำหรับการใช้ COG ใน Earth Engine มีขั้นตอนดังนี้
สำหรับการนำเข้าข้อมูลภายนอก
- เพิ่มประสิทธิภาพ: แปลงไฟล์แรสเตอร์เป็นรูปแบบ COG โดยใช้เครื่องมือภายนอก (เช่น GDAL, สคริปต์เวิร์กสเตชันในเครื่อง หรือไปป์ไลน์การประมวลผลระบบคลาวด์)
- อัปโหลด: อัปโหลด COG ไปยัง Bucket ของ Cloud Storage ที่รองรับซึ่งอยู่ใน
us-central1หรือหลายภูมิภาคของสหรัฐอเมริกา - สิทธิ์: ตรวจสอบว่าคุณและผู้ทำงานร่วมกันในโปรเจ็กต์มีสิทธิ์อ่าน Cloud Storage สำหรับไฟล์ (ดูสิทธิ์ COG)
- ลงทะเบียน: ใช้ไลบรารีของไคลเอ็นต์ Python,
earthengineเครื่องมือบรรทัดคำสั่ง หรือ REST API เพื่อลงทะเบียน COG เป็นชิ้นงาน Earth Engine (ดูการลงทะเบียน COG)
สำหรับการส่งออกผลลัพธ์
- ส่งออก: เรียกใช้การส่งออกแบบกลุ่มจาก Earth Engine ไปยัง Cloud Storage โดยตั้งค่า
cloudOptimizedเป็นtrue(ดูการส่งออกรูปภาพ) - ลงทะเบียน (ไม่บังคับ): ลงทะเบียน COG ที่ส่งออกกลับไปยัง Earth Engine เป็น ชิ้นงานใหม่เพื่อทำการวิเคราะห์เพิ่มเติม (ดู การลงทะเบียน COG)
หากพร้อมเริ่มต้นใช้งานแล้ว ให้ทำตามคู่มือการลงทะเบียน COG โดยละเอียดเพื่อลงทะเบียน ชิ้นงานแรก