Alat Baris Perintah

Alat earthengine adalah program utilitas yang memungkinkan Anda mengelola aset dan tugas Earth Engine dari command line. Library ini diinstal secara otomatis saat Anda menginstal Python API. Untuk memeriksa apakah alat sudah diinstal dan berfungsi dengan benar, ketik perintah berikut di command line:

    earthengine

Jika alat diinstal dengan benar, alat ini akan mencetak ringkasan singkat perintah yang tersedia. Untuk mendapatkan bantuan terkait perintah tertentu, gunakan:

    earthengine command -h

Saat pertama kali menginstal Python API, Anda harus login menggunakan perintah authenticate yang dijelaskan di bawah. Bagian berikut menjelaskan perintah yang tersedia secara lebih mendetail.

Kredensial akun layanan

Untuk menggunakan CLI dengan kredensial akun layanan, gunakan flag service_account_file untuk mengarah ke file JSON yang berisi kunci akun layanan.

    earthengine --service_account_file=service_account_creds.json

Penggunaan di Colab

Alat Command Line Earth Engine telah diinstal sebelumnya dan siap digunakan di Google Colab.

Autentikasi

Lakukan autentikasi untuk setiap sesi Colab baru atau jika masa berlaku virtual machine berakhir karena tidak ada aktivitas (kredensial tidak disimpan di seluruh sesi).

Impor library klien Python dan panggil ee.Authenticate() untuk memicu alur autentikasi. Ikuti petunjuk untuk menyelesaikan autentikasi. auth_mode default di Colab adalah colab, lihat Panduan autentikasi untuk opsi lainnya.

import ee
ee.Authenticate()

Eksekusi perintah

Untuk menjalankan utilitas command line, seperti CLI Earth Engine, Anda harus mengawali panggilan perintah dengan tanda seru.

!earthengine -h

Menetapkan project Cloud

Gunakan opsi --project untuk menetapkan project Cloud untuk setiap perintah earthengine.

!earthengine --project my-project <command>

Atau, tetapkan project default yang akan digunakan oleh semua panggilan earthengine menggunakan perintah set_project. Project akan ditambahkan ke file kredensial (~/.config/earthengine/credentials) dan digunakan untuk perintah berikutnya, kecuali jika diganti oleh opsi --project. Tetapkan project default untuk setiap sesi Colab baru atau jika masa berlaku virtual machine berakhir karena tidak ada aktivitas (kredensial tidak disimpan di seluruh sesi).

!earthengine set_project my-project

Referensi Perintah

autentikasi

Mengautentikasi alat command line dan library klien Python ke Earth Engine. Contoh:

    earthengine authenticate

Earth Engine menggunakan protokol OAuth 2.0 untuk mengautentikasi klien. Perintah earthengine authenticate akan memandu Anda melalui proses autentikasi menggunakan browser web.

Anda harus menginstal gcloud jika menggunakan mode autentikasi gcloud default. Lihat mode autentikasi lain yang tersedia melalui parameter auth_mode dalam panduan autentikasi.

acl

Mencetak atau memperbarui daftar kontrol akses (ACL) aset Earth Engine. ACL mengontrol siapa yang dapat membaca atau menulis ke aset. Contoh:

    earthengine acl get projects/my-project/assets/asset_id
    earthengine acl set public projects/my-project/assets/asset_id
    earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id

Subperintah get mencetak deskripsi JSON ACL. Subperintah set menetapkan ACL yang disediakan dalam file dengan format JSON yang sama. Anda dapat menyalin ACL dari satu aset ke aset lainnya dengan menyimpan output dari get dan memberikannya ke set.

Subperintah set juga menerima dua nama ACL khusus:

  • private: Menghapus izin dari semua orang kecuali pemilik.
  • public: Memberikan izin baca kepada semua pengguna.

Subperintah ch memungkinkan Anda membuat perubahan satu per satu pada ACL. Untuk memberikan izin baca, tentukan -u username@gmail.com:R, untuk memberikan izin tulis, tentukan -u username@gmail.com:W, dan untuk menghapus izin pengguna, tentukan -d username@gmail.com. ID pengguna khusus AllUsers dapat digunakan untuk memberikan atau mencabut izin baca kepada atau dari semua pengguna. (Perhatikan bahwa mencabut izin AllUsers tidak mencabut izin tambahan apa pun yang mungkin juga telah Anda berikan kepada pengguna perorangan.)

aset

Mencetak atau memperbarui metadata yang terkait dengan aset Earth Engine. Contoh:

    earthengine asset info projects/my-project/assets/asset_id
    earthengine asset set -p name=value projects/my-project/assets/asset_id
    earthengine asset setbands projects/my-project/assets/asset_id band1 band2

Subperintah info mencetak informasi mendetail tentang aset, termasuk metadatanya, dalam bentuk JSON. Subperintah set menetapkan properti metadata individual pada aset. Subperintah setbands memperbarui nama band aset.

Nilai properti metadata yang Anda tetapkan dapat berupa angka atau string. Saat menetapkan nama properti menggunakan flag --property atau -p, pisahkan nama dan nilai properti dengan tanda sama dengan. Jenis data akan terdeteksi secara otomatis, atau Anda dapat menentukannya secara eksplisit dengan mengawali nama properti dengan (string), (number), atau (date). Misalnya, ini menetapkan properti bernilai string dengan nilai "42":

    earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id

(Tanda kutip dalam contoh ini mencegah shell menafsirkan tanda kurung. Tanda kutip ini mungkin diperlukan atau tidak, bergantung pada shell dan platform Anda.)

Untuk membuat properti khusus untuk visualisasi rentang klasifikasi, Anda dapat menyimpan daftar nilai dan warna sebagai string yang dipisahkan koma. Misalnya, untuk menetapkan nilai palet dan class untuk band bernama landcover:

    earthengine asset set -p 'landcover_class_palette=ff0000,00ff00,0000ff' projects/my-project/assets/asset_id
    earthengine asset set -p 'landcover_class_values=1,2,3' projects/my-project/assets/asset_id

Untuk menghapus properti, tetapkan ke null tanpa jenis:

    earthengine asset set -p name=null projects/my-project/assets/asset_id

Properti tanggal hanyalah angka yang mewakili jumlah milidetik sejak epoch Unix (yaitu tengah malam pada 1 Januari 1970) dan dapat ditentukan secara langsung sebagai angka atau dalam salah satu format berikut:

    YYYY-MM-DD
    YYYY-MM-DDThh:mm:ss
    YYYY-MM-DDThh:mm:ss.f

Zona waktu diasumsikan sebagai UTC. Anda dapat menetapkan properti waktu mulai dan berakhir khusus menggunakan flag --time_start dan --time_end:

    earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id

cp

Menyalin aset. Contoh:

    earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

create

Membuat folder dan koleksi gambar baru. Contoh:

    earthengine create folder projects/my-project/assets/folder_id
    earthengine create collection projects/my-project/assets/collection_id

Gunakan sub-perintah folder untuk membuat folder dan collection untuk membuat koleksi gambar. Anda dapat menentukan opsi -p untuk membuat folder induk secara rekursif sesuai kebutuhan. Folder dan image yang baru dibuat memiliki ACL pribadi secara default.

ls

Mencantumkan konten dari satu atau beberapa folder atau koleksi. Contoh:

    earthengine ls users/username

Opsi -l meminta format panjang dengan informasi selengkapnya tentang setiap aset (saat ini hanya jenisnya). Anda dapat menentukan --max_items number (atau -m untuk singkatnya) guna membatasi jumlah item dari setiap folder atau koleksi yang Anda cantumkan:

    earthengine ls -m 10 projects/my-project/assets/my_large_collection

Menjalankan perintah ls tanpa argumen akan mencantumkan folder tingkat teratas yang Anda miliki.

model

Alat untuk memanipulasi model tersimpan TensorFlow.

model prepare

Menyiapkan model tersimpan untuk inferensi di Earth Engine. Secara khusus, tindakan ini mengubah SavedModel Anda menjadi bentuk yang sesuai untuk memproses permintaan dari Earth Engine. (Pelajari lebih lanjut SavedModel.)

    earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'

Pelajari lebih lanjut model AI Platform di sini. Lihat contoh lengkapnya di sini.

mv

Memindahkan atau mengganti nama aset. Contoh:

    earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

project_config

Menetapkan nilai konfigurasi project. Sebelum menggunakan perintah ini, pastikan untuk menetapkan project menggunakan set_project.

get

Untuk melihat konfigurasi project, gunakan sub-perintah get:

    earthengine alpha project_config get

Jika Anda memiliki izin untuk melihat setelan tugas batch project, output-nya akan berisi:

  • maxConcurrentExports: angka yang menunjukkan jumlah maksimum tugas batch yang dapat dijalankan secara paralel di semua pengguna untuk project tertentu. Secara default, nilai ini ditetapkan ke nilai maksimum yang diizinkan oleh paket langganan akun penagihan terkait.

Selain itu, jika Anda memiliki izin untuk melihat konfigurasi paket, output-nya akan berisi:

  • planMaxConcurrentExports, angka yang menunjukkan jumlah maksimum tugas batch yang dapat dijalankan secara paralel di semua pengguna dan project yang menggunakan akun penagihan.

tetapkan

Untuk memperbarui konfigurasi project, gunakan sub-perintah set. Setelan berikut dapat dikonfigurasi:

Misalnya, untuk mengonfigurasi project agar hanya mengizinkan 10 tugas berjalan secara paralel untuk project tertentu:

    earthengine alpha project_config set --max_concurrent_exports=10

Output akan menampilkan konfigurasi project yang diperbarui, yang identik dengan yang ditampilkan get.

Untuk mengetahui informasi selengkapnya tentang paralelisme tugas batch, lihat halaman kuota Earth Engine.

rm

Menghapus satu atau beberapa aset. Contoh:

    earthengine rm projects/my-project/assets/asset_id
    earthengine rm -r projects/my-project/assets/folder_id

Anda dapat menggunakan flag -r untuk menghapus konten folder atau koleksi secara rekursif. Untuk keamanan saat menghapus beberapa aset, Anda dapat menggunakan flag --dry_run untuk memverifikasi dengan tepat apa yang akan dihapus tanpa benar-benar menghapus apa pun.

set_project

Menetapkan project Google Cloud yang menjadi tujuan perutean permintaan komputasi.

    earthengine set_project foo-project

Perintah ini diperlukan sebelum menjalankan perintah yang memerlukan fungsi Cloud, misalnya model.

tugas

Mencetak informasi tentang atau mengelola tugas yang berjalan lama. Contoh:

    earthengine task list
    earthengine task list -l
    earthengine task info TASK_ID
    earthengine task cancel TASK_ID

Subperintah list mencantumkan informasi dasar tentang tugas yang Anda kirimkan baru-baru ini. Opsi -l meminta format panjang dengan informasi selengkapnya tentang setiap tugas. Subperintah info mencetak informasi mendetail tentang setiap tugas. Subperintah cancel membatalkan satu atau beberapa tugas yang sedang berjalan.

upload

Mengupload gambar atau tabel dari Google Cloud Storage ke Earth Engine, atau mendaftarkan Cloud Optimized GeoTIFF (COG) di Cloud Storage sebagai aset yang didukung COG (gambar eksternal).

gambar

Untuk mengupload aset gambar menggunakan setelan default:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif

Jika Anda menentukan beberapa file gambar input, file tersebut akan ditafsirkan sebagai ubin dari satu aset gambar. Anda dapat mempelajari lebih lanjut opsi untuk mengupload gambar ke Earth Engine di Mengupload aset gambar: Opsi lanjutan.

Anda dapat menentukan kebijakan pengurangan piramida menggunakan flag --pyramiding_policy, yang dapat ditetapkan ke salah satu dari mean (default), sample, mode, min, atau max. Tindakan ini akan mengontrol cara Earth Engine menghasilkan piramida versi gambar Anda dengan resolusi lebih rendah:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif

Anda dapat menggunakan --last_band_alpha untuk menunjukkan bahwa mask untuk gambar harus diambil dari saluran alfa di band terakhir:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif

Anda dapat menentukan nilai tanpa data menggunakan flag --nodata_value. Tindakan ini akan menyamarkan piksel apa pun dalam gambar dengan nilai tersebut:

    earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif

Anda juga dapat menentukan properti metadata yang akan ditetapkan pada aset menggunakan flag yang sama yang diterima oleh perintah asset set yang dijelaskan di atas. Opsi ini juga dijelaskan dalam panduan Manifes Image.

meja

Untuk mengupload Shapefile, CSV, atau TFRecord dari Google Cloud Storage ke aset tabel Earth Engine, Anda dapat menggunakan salah satu dari:

    earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
    earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
    earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord

Ada banyak opsi terkait cara file CSV dan TFRecord ditafsirkan. Anda dapat melihat daftar lengkap opsi upload tabel dengan membuka panduan Manifes Tabel atau dengan:

    earthengine upload table -h

external_image

Untuk mendaftarkan Cloud Optimized GeoTIFF (COG) di Cloud Storage sebagai aset yang didukung COG (disebut gambar eksternal di API), jalankan perintah upload external_image dengan manifes:

earthengine upload external_image --manifest /tmp/foo.json

Tambahkan --force untuk menimpa aset yang ada, misalnya untuk mengarahkannya ke versi baru filenya (lihat memperbarui aset yang didukung COG).

Contoh manifesnya adalah:

{
  "name": "projects/{project}/assets/cogdemo1",
  "tilesets": [
    { "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
  ],
  "properties": {
    "source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
  },
  "startTime": "2016-01-01T00:00:00.000000000Z",
  "endTime": "2016-12-31T15:01:23.000000000Z"
}

Lihat panduan pendaftaran COG dan panduan manifes gambar untuk mengetahui detail selengkapnya tentang cara membuat manifes.