Narzędzie wiersza poleceń

Narzędzie earthengine to program narzędziowy, który umożliwia zarządzanie zasobami i zadaniami Earth Engine z poziomu wiersza poleceń. Jest ona instalowana automatycznie, gdy instalujesz interfejs Python API. Aby sprawdzić, czy narzędzie jest zainstalowane i działa prawidłowo, wpisz w wierszu poleceń:

    earthengine

Jeśli narzędzie jest prawidłowo zainstalowane, wydrukuje krótkie podsumowanie dostępnych poleceń. Aby uzyskać pomoc dotyczącą konkretnego polecenia, użyj:

    earthengine command -h

Podczas pierwszego instalowania interfejsu Python API musisz się zalogować, używając polecenia authenticate opisanego poniżej. W poniższych sekcjach znajdziesz więcej informacji o dostępnych poleceniach.

Dane logowania na konto usługi

Aby używać interfejsu wiersza poleceń z danymi logowania do konta usługi, użyj flagi service_account_file, aby wskazać plik JSON zawierający klucz konta usługi.

    earthengine --service_account_file=service_account_creds.json

Korzystanie z Colab

Narzędzie wiersza poleceń Earth Engine jest wstępnie zainstalowane i gotowe do użycia w Google Colab.

Uwierzytelnianie

uwierzytelniać się w przypadku każdej nowej sesji Colab lub gdy maszyna wirtualna wygaśnie z powodu nieaktywności (dane logowania nie są zapisywane w kolejnych sesjach);

Zaimportuj bibliotekę klienta Pythona i wywołaj funkcję ee.Authenticate(), aby uruchomić proces uwierzytelniania. Postępuj zgodnie z instrukcjami, aby dokończyć uwierzytelnianie. Domyślna wartość parametru auth_mode w Colab to colab. Inne opcje znajdziesz w przewodniku po uwierzytelnianiu.

import ee
ee.Authenticate()

Wykonywanie polecenia

Aby uruchomić narzędzia wiersza poleceń, takie jak interfejs wiersza poleceń Earth Engine, musisz dołączyć wykrzyknik do wywołań poleceń.

!earthengine -h

Ustawianie projektu Cloud

Użyj opcji --project, aby ustawić projekt Cloud dla każdego polecenia earthengine.

!earthengine --project my-project <command>

Możesz też ustawić projekt domyślny, który będzie używany przez wszystkie wywołania earthengine, za pomocą polecenia set_project. Projekt zostanie dodany do pliku danych uwierzytelniających (~/.config/earthengine/credentials) i użyty w kolejnych poleceniach, chyba że zostanie zastąpiony opcją --project. Ustaw projekt domyślny dla każdej nowej sesji Colab lub jeśli maszyna wirtualna wygaśnie z powodu braku aktywności (dane logowania nie są zapisywane w kolejnych sesjach).

!earthengine set_project my-project

Opis poleceń

uwierzytelnij

Uwierzytelnia narzędzie wiersza poleceń i bibliotekę klienta Pythona w Earth Engine. Przykład:

    earthengine authenticate

Earth Engine używa protokołu OAuth 2.0 do uwierzytelniania klientów. Polecenie earthengine authenticate poprosi Cię o przeprowadzenie procesu uwierzytelniania za pomocą przeglądarki internetowej.

Jeśli używasz domyślnego trybu uwierzytelniania gcloud, musisz zainstalować gcloud. Zapoznaj się z innymi trybami uwierzytelniania dostępnymi za pomocą parametru auth_modeprzewodniku dotyczącym uwierzytelniania.

acl

Wyświetla lub aktualizuje listę kontroli dostępu (ACL) zasobu Earth Engine. ACL określa, kto może odczytywać lub zapisywać zasób. Przykłady:

    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

Podkomenda get wypisuje opis ACL w formacie JSON. Podpolecenie set ustawia listę ACL w pliku w tym samym formacie JSON. Możesz skopiować uprawnienia dostępu z jednego zasobu do innych, zapisując dane wyjściowe z poziomu get i przekazując je do set.

Podpolecenie set akceptuje też 2 specjalne nazwy ACL:

  • private: usuwa uprawnienia wszystkich osób oprócz właściciela.
  • public: przyznaje uprawnienia do odczytu wszystkim użytkownikom.

Podkomenda ch umożliwia wprowadzanie zmian w poszczególnych elementach listy ACL. Aby przyznać uprawnienia do odczytu, wybierz -u username@gmail.com:R, aby przyznać uprawnienia do zapisu, wybierz -u username@gmail.com:W, a aby usunąć uprawnienia użytkownika, wybierz -d username@gmail.com. Specjalny identyfikator użytkownika AllUsers może służyć do przyznawania lub odmowy przyznawania uprawnień do odczytu wszystkim użytkownikom. (Pamiętaj, że cofnięcie uprawnień AllUsers nie powoduje cofnięcie dodatkowych uprawnień, które mogły zostać przyznane poszczególnym użytkownikom).

zasób

Wyświetla lub aktualizuje metadane powiązane z zasobem Earth Engine. Przykłady:

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

Podkomenda info wypisuje szczegółowe informacje o zasobie, w tym jego metadane, w formacie JSON. Podkomenda set ustawia właściwości metadanych w zasobie.

Wartości ustawionych właściwości metadanych mogą być liczbami lub ciągami znaków. Podczas ustawiania nazw właściwości za pomocą flagi --property lub -p rozdziel nazwę właściwości i wartość znakiem równości. Typ danych jest wykrywany automatycznie lub możesz go określić wprost, dodając do nazwy usługi prefiks (string), (number) lub (date). Na przykład ten fragment kodu ustawia właściwość o typie ciągu znaków o wartości "42":

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

(Cudzysłów w tym przykładzie zapobiega interpretowaniu nawiasów przez powłokę. Mogą być potrzebne lub niepotrzebne w zależności od powłoki i platformy.

Aby usunąć usługę, ustaw ją na null bez typu:

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

Właściwości daty to tylko liczby, które reprezentują liczbę milisekund od epoki Unixa (tzn. północy 1 stycznia 1970 r.). Można je podać bezpośrednio jako liczbę lub w jednym z tych formatów:

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

Zakłada się, że strefa czasowa to UTC. Możesz ustawić specjalne właściwości czasu rozpoczęcia i zakończenia za pomocą flag --time_start i --time_end:

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

cp

kopiuje zasób; Przykład:

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

utwórz

tworzy nowe foldery i kolekcje obrazów. Przykład:

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

Aby utworzyć foldery, użyj podpolecenia folder, a aby utworzyć kolekcje obrazów – collection. Możesz użyć opcji -p, aby w razie potrzeby utworzyć rekurencyjnie katalogi nadrzędne. Nowo utworzone foldery i obrazy mają domyślnie prywatne listy ACL.

ls

Wyświetla zawartość co najmniej 1 folderu lub kolekcji. Przykład:

    earthengine ls users/username

Opcja -l wymaga długiego formatu z dodatkowymi informacjami o każdym komponencie (obecnie tylko jego typ). Możesz użyć parametru --max_items number (lub -m w skrócie), aby ograniczyć liczbę elementów z każdego folderu lub każdej kolekcji na liście:

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

Uruchomienie polecenia ls bez argumentów spowoduje wyświetlenie należących do Ciebie folderów najwyższego poziomu.

model

Narzędzie do manipulowania zapisanymi modelami TensorFlow.

model prepare

Przygotuj zapisany model do obsługi w Earth Engine. W szczególności przekształca SavedModel w postać odpowiednią do przetwarzania żądań z Earth Engine. (więcej informacji o SavedModel).

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

Więcej informacji o modelach AI Platform znajdziesz tutaj. Pełny przykład znajdziesz tutaj.

mv

Przenosi lub zmienia nazwę zasobu. Przykład:

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

project_config

Ustawia wartości konfiguracji projektu. Zanim użyjesz tego polecenia, ustaw projekt za pomocą polecenia set_project.

get

Aby wyświetlić konfigurację projektu, użyj podpolecenia get:

    earthengine alpha project_config get

Jeśli masz uprawnienia do wyświetlania ustawień zadań zbiorczych projektu, dane wyjściowe zawierają:

  • maxConcurrentExports: liczba wskazująca maksymalną liczbę zadań zbiorczych, które mogą być wykonywane równolegle przez wszystkich użytkowników w danym projekcie. Domyślnie jest to maksymalna wartość dozwolona przez plan subskrypcji powiązanego konta rozliczeniowego.

Jeśli masz uprawnienia do wyświetlania konfiguracji planu, dane wyjściowe będą zawierać:

  • planMaxConcurrentExports, liczba określająca maksymalną liczbę zadań zbiorczych, które mogą być wykonywane równolegle przez wszystkich użytkowników i projekty korzystające z konta rozliczeniowego.

zestaw

Aby zaktualizować konfigurację projektu, użyj podpolecenia set. Możesz skonfigurować te ustawienia:

Aby na przykład skonfigurować projekt tak, aby w danym projekcie mogło być wykonywanych jednocześnie tylko 10 zadań:

    earthengine alpha project_config set --max_concurrent_exports=10

Dane wyjściowe zawierają zaktualizowaną konfigurację projektu, identyczną z tą zwracaną przez funkcję get.

Więcej informacji o równoległości zadań zbiorczych znajdziesz na stronie limitów Earth Engine.

rm

usuwa co najmniej 1 komponent. Przykład:

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

Możesz użyć flagi -r, aby usunąć zawartość folderu lub kolekcji w sposób rekurencyjny. Ze względów bezpieczeństwa podczas usuwania wielu komponentów możesz użyć flagi --dry_run, aby sprawdzić, co dokładnie zostanie usunięte, bez faktycznego usuwania czegokolwiek.

set_project

Ustawia projekt Google Cloud, przez który kierowane są żądania obliczeń.

    earthengine set_project foo-project

To polecenie jest wymagane przed wykonaniem poleceń, które wymagają funkcji Cloud, na przykład model.

działanie

drukuje informacje o długotrwałych zadaniach lub nimi zarządza; Przykłady:

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

Podkomenda list zawiera podstawowe informacje o niedawno przesłanych zadaniach. Opcja -l wymaga długiego formatu z dodatkowymi informacjami o każdym zadaniu. Podkomenda info wypisuje szczegółowe informacje o poszczególnych zadaniach. Podkomenda cancel anuluje co najmniej 1 działające zadanie.

przesyłanie

Przesyła obrazy lub tabele z Google Cloud Storage do Earth Engine lub tworzy zasoby oparte na zewnętrznych obrazach.

obraz

Aby przesłać komponent z obrazem z użyciem ustawień domyślnych:

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

Jeśli określisz kilka plików wejściowych z obrazami, zostaną one zinterpretowane jako elementy składowe jednego komponentu z obrazem. Więcej informacji o opcjach przesyłania obrazów do Earth Engine znajdziesz w artykule Przekazywanie komponentów z obrazem: opcje zaawansowane.

Zasady redukcji piramidy można określić za pomocą flagi --pyramiding_policy, której wartość może wynosić mean (wartość domyślna), sample, mode, min lub max. Spowoduje to, że Earth Engine będzie generować piramidę wersji obrazu o niższej rozdzielczości:

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

Możesz użyć --last_band_alpha, aby wskazać, że maska obrazu powinna zostać pobrana z kanału alfa w ostatnim paśmie:

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

Wartość bez danych możesz określić za pomocą flagi --nodata_value. Spowoduje to zamaskowanie wszystkich pikseli na obrazie tą wartością:

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

Możesz też określić właściwości metadanych, które mają zostać ustawione w zasobie, za pomocą tych samych flag, które są akceptowane przez polecenie asset set opisane powyżej. Opcje te są też opisane w przewodniku Plik manifestu obrazu.

tabela

Aby przesłać do zasobu tabeli Earth Engine plik Shapefile, CSV lub TFRecord z Google Cloud Storage, możesz użyć:

    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

Istnieje wiele opcji dotyczących sposobu interpretowania plików CSV i TFRecord. Pełną listę opcji przesyłania tabel znajdziesz w pliku Table Manifest lub za pomocą:

    earthengine upload table -h

external_image

Aby utworzyć zasób oparty na zewnętrznym obrazie, uruchom polecenie upload_image z plikiem manifestu:

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

Przykładowy plik manifestu:

{
  "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"
}

Więcej informacji o tworzeniu pliku manifestu znajdziesz w dokumentach Cloud GeoTIFFPrzewodniku tworzenia pliku manifestu obrazu.