Cloud Optimized GeoTIFF (COG) di Earth Engine

Google Earth Engine memungkinkan Anda menggunakan data raster yang disimpan di bucket Google Cloud Storage (GCS) Anda sendiri. Dengan menggunakan Cloud Optimized GeoTIFF (COG), Anda dapat mengakses dan menganalisis data langsung di Earth Engine tanpa harus memasukkan piksel ke penyimpanan aset Earth Engine.

Pendekatan cloud-first ini menawarkan beberapa manfaat, terutama untuk mengelola set data besar atau mengintegrasikan Earth Engine ke dalam alur kerja Google Cloud yang lebih luas atau alat dan platform eksternal.

Mengapa menggunakan Cloud Storage dan COG?

  • Fleksibilitas dan interoperabilitas: Simpan data Anda di bucket Cloud Storage standar yang dapat diakses oleh alat dan layanan lain. Baik Anda mengupload data secara langsung atau mengekspornya dari Earth Engine, Cloud Storage berfungsi sebagai satu sumber tepercaya untuk Earth Engine dan alur kerja eksternal.
  • Kontrol dan keluar data: Menyimpan data di Cloud Storage menyediakan kemampuan pengelolaan penyimpanan objek standar. Hal ini memungkinkan Anda mendownload, memigrasikan, atau membagikan data menggunakan fitur Cloud Storage seperti Requester Pays atau bucket publik, dan mengelola akses menggunakan Cloud IAM standar.
  • Penskalaan fleksibel: Hindari batas penyimpanan Earth Engine Earth Engine. Cloud Storage menyediakan penskalaan penyimpanan layanan mandiri yang hampir tidak terbatas hingga skala petabyte.
  • Tidak perlu menunggu penyerapan: Pendaftaran COG selesai dengan cepat karena Earth Engine hanya membaca metadata (seperti proyeksi dan dimensi) dari header file untuk pengindeksan dan validasi. Data piksel sebenarnya tetap berada di Cloud Storage dan dibaca on-demand selama komputasi, sehingga tidak perlu tugas penyerapan terpisah.

Alur kerja COG di Earth Engine

Earth Engine mendukung alur kerja dua arah dengan COG di Cloud Storage: Anda dapat membaca COG langsung dari GCS ke Earth Engine, dan Anda dapat menulis hasil komputasi dari Earth Engine langsung ke GCS sebagai COG.

Membaca COG dari Cloud Storage

Untuk memasukkan COG yang dihosting GCS ke Earth Engine, Anda memiliki dua opsi:

  1. Pemuatan langsung (ee.Image.loadGeoTIFF): Muat satu gambar langsung menggunakan URI GCS-nya. Cara ini paling baik untuk pengujian cepat, analisis ad hoc, atau data sementara:

    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')
    

    Untuk contoh lengkap, lihat gambar dari Cloud GeoTIFF.

  2. Aset terdaftar: Daftarkan satu atau beberapa COG sebagai aset Earth Engine menggunakan manifes upload (lihat panduan pendaftaran COG). Ini adalah jalur yang direkomendasikan untuk alur kerja produksi, terutama saat membuat koleksi gambar.

Fitur Pemuatan langsung (loadGeoTIFF) Aset terdaftar (manifes)
Penyiapan Tidak ada (hanya URI GCS) Manifes (klien Python, CLI, atau REST)
Performa Standar (membaca header saat dibaca) Dioptimalkan (diindeks saat pembuatan)
Pengelolaan Tidak ada aset yang dibuat Dihitung terhadap kuota jumlah aset, bukan penyimpanan.
Kasus penggunaan Pembuatan prototipe, analisis ad hoc Alur kerja produksi yang memerlukan pembacaan cepat.

Menulis COG ke Cloud Storage

Untuk menyimpan hasil komputasi Earth Engine sebagai COG di bucket Cloud Storage, gunakan Export.image.toCloudStorage fungsi ekspor batch (lihat mengekspor gambar) dan tetapkan parameter cloudOptimized ke true di formatOptions. Tindakan ini akan memberi tahu Earth Engine untuk mengompilasi gambar dan menuliskannya langsung ke bucket GCS Anda sebagai COG yang sepenuhnya sesuai.

Lokasi bucket Cloud Storage yang didukung

Agar Earth Engine dapat mengakses bucket Cloud Storage Anda, bucket harus berada di salah satu region atau multi-region pusat data berikut:

  • Multi-region us
  • Region ganda AS mana pun yang menyertakan us-central1
  • Region us-central1

Jika bucket Anda ditempatkan di pusat data regional lainnya, Earth Engine akan menolak permintaan pendaftaran dan pembacaan. Earth Engine mengakses COG yang disimpan secara eksklusif di bucket Google Cloud Storage. Penyedia penyimpanan cloud eksternal dan URL HTTP generik tidak didukung.

Spesifikasi ekspor COG Earth Engine

Saat mengekspor hasil analisis dari Earth Engine menggunakan Export.image.toCloudStorage dengan cloudOptimized: true di formatOptions, pengekspor bawaan Earth Engine akan otomatis menerapkan standar berikut:

  • Struktur file: Membuat BigTIFF (BIGTIFF=YES) dengan ubin internal (TILED=YES) dan menyalin semua ringkasan ke awal file.
  • Ringkasan otomatis: Jika dimensi raster output adalah 512x512 piksel atau lebih besar, Earth Engine akan otomatis membuat lima tingkat ringkasan power-of-two ([2, 4, 8, 16, 32]). Earth Engine secara dinamis memilih metode resampling ringkasan berdasarkan jenis data piksel output: resampling kubik untuk gambar floating-point dan resampling tetangga terdekat untuk semua gambar bilangan bulat atau diskrit lainnya.
  • Kompresi dan ubin default: Earth Engine mengekspor COG dengan ubin blok piksel 256x256 dan kompresi LZW (COMPRESS=LZW). Dimensi kompresi dan ubin tidak dapat disesuaikan di formatOptions.
  • Sharding otomatis: Jika raster yang diekspor berukuran besar (melebihi 4 GiB yang tidak dikompresi), Earth Engine akan otomatis membagi ekspor menjadi beberapa ubin spasial yang diberi nama baseFilename-yMin-xMin (lihat ekspor file besar).
  • Mengganti batas sharding: Untuk mengekspor raster besar (hingga batas maksimum 16 GiB yang tidak dikompresi dan 131.072 piksel per tepi) sebagai satu file tanpa sharding, tentukan fileDimensions di dalam formatOptions. Setiap dimensi harus berupa bilangan bulat positif dari ukuran ubin (256 secara default, misalnya, [65536, 65536]). Karena fileDimensions menetapkan dimensi file maksimum, bukan kotak pembatas output, meneruskan batas maksimum yang besar akan memaksa ekspor ke satu file tanpa memerlukan perhitungan petak yang tepat. Anda juga dapat meneruskan skipEmptyFiles: true untuk mencegah pembuatan ubin latar belakang kosong.
  • Keseimbangan pengoptimalan: Saat mengonfigurasi ekspor besar, evaluasi keseimbangan antara jumlah file dan kecepatan ekspor. Menentukan fileDimensions atau shardSize yang lebih kecil akan menghasilkan lebih banyak fragmen file, tetapi memaksimalkan pemrosesan paralel di seluruh pekerja backend, sehingga menghasilkan waktu penyelesaian ekspor yang lebih cepat. Sebaliknya, mengganti batas untuk membuat satu file besar akan menyederhanakan pengelolaan file dan berbagi data, tetapi dapat meningkatkan waktu eksekusi ekspor karena perakitan file tunggal dan bottleneck I/O. Ekspor COG file tunggal yang sangat besar yang mendekati batas 16 GiB yang tidak dikompresi (terutama gambar yang tidak dikompresi dengan baik) juga dapat melebihi kapasitas penyimpanan sementara selama perakitan ringkasan dan COG; jika ekspor gagal, pertimbangkan untuk melakukan sharding ke file yang lebih kecil atau mengonversi ekspor GeoTIFF standar secara eksternal.

Menyesuaikan pembuatan COG di luar Earth Engine

Meskipun mengekspor langsung dengan cloudOptimized: true adalah cara paling sederhana untuk membuat COG siap pakai untuk sebagian besar alur kerja, Anda juga dapat mengekspor GeoTIFF standar (cloudOptimized: false, default) dan mengonversinya menjadi COG sendiri menggunakan alat eksternal seperti GDAL. Alur kerja ekspor dan konversi dua langkah dapat berguna jika Anda perlu:

  • Menyesuaikan kompresi dan tata letak: Sesuaikan ukuran blok (seperti 512x512), prediktor, metode resampling ringkasan, atau codec kompresi (seperti ZSTD) ke set data Anda (lihat menyiapkan COG).
  • Menghindari error kapasitas pada ekspor file tunggal yang besar: Melewatkan pembuatan ringkasan dan penulisan ulang tata letak COG selama ekspor akan mengurangi overhead memori dan penyimpanan sementara, sehingga ekspor file tunggal yang sangat besar cenderung tidak mencapai batas kapasitas.
  • Mengurangi waktu eksekusi ekspor Earth Engine: Mengalihkan pembuatan ringkasan dan pemformatan COG ke lingkungan komputasi Anda sendiri akan mempersingkat fase ekspor Earth Engine.

Pertimbangan biaya dan kelas penyimpanan

Saat menganalisis aset COG terdaftar, pembacaan dari Earth Engine tidak dikenai biaya operasi pembacaan Cloud Storage atau pengambilan data pada project Google Cloud Anda.

Anda akan ditagih oleh Cloud Storage terutama untuk penyimpanan data dalam penyimpanan bulanan standar (GB/bulan) dan biaya transfer data klien eksternal atau keluar jaringan (bergantung pada lokasi bucket dan konfigurasi jaringan klien Anda).

Rekomendasi kelas penyimpanan

  • Penyimpanan standar (direkomendasikan): Penyimpanan standar paling cocok untuk alur kerja Earth Engine aktif. Karena tidak memiliki aturan durasi penyimpanan minimum, Anda dapat dengan bebas menimpa, memperbarui, atau menghapus COG sementara tanpa dikenai denda penghapusan awal. Selain itu, jika Anda atau kolaborator Anda mengakses bucket menggunakan software GIS desktop, skrip GDAL, atau notebook machine learning di luar Earth Engine, Standard Storage tidak dikenai biaya tambahan pengambilan retail.
  • Penyimpanan Nearline, Coldline, dan Archive Storage: Semua kelas Cloud Storage memberikan akses dan throughput latensi rendah yang sama seperti Standard Storage, sehingga tidak ada denda performa baca saat menggunakan tingkat penyimpanan yang lebih dingin di Earth Engine. Meskipun komputasi Earth Engine juga dapat membaca tingkat ini tanpa mengenakan biaya pengambilan data retail, aturan retail Cloud Storage menerapkan durasi penyimpanan minimum yang ketat (30 hari untuk Nearline, 90 hari untuk Coldline, 365 hari untuk Archive). Mengubah atau menghapus file sebelum durasi minimumnya akan memicu biaya tambahan penghapusan awal. Selain itu, mengakses objek dingin dari alat klien eksternal akan dikenai biaya tambahan pengambilan data yang mahal.

Untuk mengetahui harga retail dan kebijakan durasi minimum yang mendetail, lihat Panduan Harga Google Cloud Storage.

Alur kerja tingkat tinggi

Alur kerja umum untuk menggunakan COG di Earth Engine melibatkan langkah-langkah berikut:

Untuk mengimpor data eksternal:

  • Optimalkan: Konversi file raster Anda ke format COG menggunakan alat eksternal (seperti GDAL, skrip workstation lokal, atau pipeline pemrosesan cloud).
  • Upload: Upload COG ke bucket Cloud Storage yang didukung yang berlokasi di us-central1 atau multi-region AS.
  • Izin: Pastikan Anda dan kolaborator project memiliki akses baca Cloud Storage ke file (lihat izin COG).
  • Daftarkan: Gunakan library klien Python, earthengine alat command line atau REST API untuk mendaftarkan COG sebagai aset Earth Engine (lihat pendaftaran COG).

Untuk mengekspor hasil:

  • Ekspor: Jalankan ekspor batch dari Earth Engine ke Cloud Storage dengan cloudOptimized ditetapkan ke true (lihat mengekspor gambar).
  • Daftarkan (opsional): Daftarkan kembali COG yang diekspor ke Earth Engine sebagai aset baru untuk analisis lebih lanjut (lihat pendaftaran COG).

Siap untuk memulai? Ikuti panduan pendaftaran COG mendetail untuk mendaftarkan aset pertama Anda.