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 on instalowany automatycznie podczas instalowania interfejsu 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, wyświetli krótkie podsumowanie dostępnych poleceń. Aby uzyskać pomoc dotyczącą konkretnego polecenia, użyj:

    earthengine command -h

Po pierwszej instalacji interfejsu Python API musisz zalogować się za pomocą polecenia authenticate opisanego poniżej. Więcej informacji o dostępnych poleceniach znajdziesz w sekcjach poniżej.

Dane logowania na konto usługi

Aby używać interfejsu CLI z danymi logowania 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 usługi Colab

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

Uwierzytelnianie

Uwierzytelnianie w przypadku każdej nowej sesji Colab lub gdy maszyna wirtualna wygaśnie z powodu braku aktywności (dane logowania nie są zapisywane w sesjach).

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

import ee
ee.Authenticate()

Wykonywanie poleceń

Aby uruchamiać narzędzia wiersza poleceń, takie jak interfejs wiersza poleceń Earth Engine, musisz poprzedzać wywołania poleceń wykrzyknikiem.

!earthengine -h

Ustawianie projektu w chmurze

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

!earthengine --project my-project <command>

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

!earthengine set_project my-project

Polecenia – materiały referencyjne

uwierzytelnij

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

    earthengine authenticate

Earth Engine używa protokołu OAuth 2.0 do uwierzytelniania klientów. Polecenie earthengine authenticate przeprowadzi Cię przez proces uwierzytelniania w przeglądarce.

Jeśli używasz domyślnego trybu uwierzytelniania gcloud, musisz zainstalować gcloud. Więcej informacji o innych trybach uwierzytelniania dostępnych za pomocą parametru auth_mode znajdziesz w przewodniku po uwierzytelnianiu.

acl

Wyświetla lub aktualizuje listę kontroli dostępu (ACL) zasobu Earth Engine. Lista kontroli dostępu (ACL) określa, kto może odczytywać zasób i zapisywać w nim dane. 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

Podpolecenie get wyświetla opis listy ACL w formacie JSON. Podpolecenie set ustawia listę ACL podaną w pliku o tym samym formacie JSON. Możesz skopiować listę ACL z jednego zasobu do innych, zapisując dane wyjściowe z get i przekazując je do set.

Podpolecenie set akceptuje też 2 specjalne nazwy list ACL:

  • private: usuwa uprawnienia wszystkich osób z wyjątkiem właściciela.
  • public: przyznaje uprawnienia do odczytu wszystkim użytkownikom.

Podpolecenie ch umożliwia wprowadzanie indywidualnych zmian w liście ACL. Aby przyznać uprawnienia do odczytu, wpisz -u username@gmail.com:R, aby przyznać uprawnienia do zapisu, wpisz -u username@gmail.com:W, a aby usunąć uprawnienia użytkownika, wpisz -d username@gmail.com. Specjalny identyfikator użytkownika AllUsers może służyć do przyznawania lub odbierania uprawnień do odczytu wszystkim użytkownikom. (Pamiętaj, że cofnięcie uprawnień AllUsers nie powoduje cofnięcia żadnych dodatkowych uprawnień, które mogłeś(-aś) przyznać 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

Podpolecenie info wyświetla szczegółowe informacje o zasobie, w tym jego metadane, w formacie JSON. Podpolecenie set ustawia poszczególne właściwości metadanych zasobu.

Wartości ustawionych przez Ciebie 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 oddziel nazwę właściwości i wartość znakiem równości. Typ danych jest wykrywany automatycznie. Możesz też określić go bezpośrednio, dodając przed nazwą właściwości prefiks (string), (number) lub (date). Na przykład ten kod ustawia właściwość o wartości tekstowej z wartością "42":

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

(Cudzysłowy w tym przykładzie zapobiegają interpretowaniu nawiasów przez powłokę. Mogą być konieczne lub nie, w zależności od powłoki i platformy).

Aby usunąć właściwość, ustaw ją na null bez typu:

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

Właściwości daty to po prostu liczby, które reprezentują liczbę milisekund od epoki systemu Unix (czyli od północy 1 stycznia 1970 r.). Można je określić 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--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 – podpolecenia collection. Możesz określić opcję -p, aby w razie potrzeby rekursywnie tworzyć foldery 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 powoduje wysłanie prośby o długi format z większą ilością informacji o każdym zasobie (obecnie tylko o jego typie). Możesz użyć symbolu --max_items number (lub -m w skrócie), aby ograniczyć liczbę elementów z każdego folderu lub kolekcji, które chcesz wyświetlić:

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

Uruchomienie polecenia ls bez argumentów spowoduje wyświetlenie listy folderów najwyższego poziomu, których jesteś właścicielem.

model

Narzędzie do manipulowania zapisanymi modelami TensorFlow.

model prepare

Przygotowywanie zapisanego modelu do obsługi w Earth Engine. W szczególności przekształca on SavedModel w formę 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ń zadania wsadowego projektu, dane wyjściowe zawierają:

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

Jeśli masz uprawnienia do wyświetlania konfiguracji planu, dane wyjściowe zawierają:

  • planMaxConcurrentExports, czyli liczba wskazująca maksymalną liczbę zadań wsadowych, które mogą być wykonywane równolegle przez wszystkich użytkowników i we wszystkich projektach korzystających 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 można było uruchamiać równolegle tylko 10 zadań:

    earthengine alpha project_config set --max_concurrent_exports=10

Dane wyjściowe zawierają zaktualizowaną konfigurację projektu, identyczną z tą, którą zwraca polecenie get.

Więcej informacji o równoległości zadań wsadowych znajdziesz na stronie limity Earth Engine.

rm

Usuwa co najmniej 1 zasób. 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 rekursywnie usunąć zawartość folderu lub kolekcji. Aby zachować bezpieczeństwo 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 są kierowane żądania obliczeniowe.

    earthengine set_project foo-project

To polecenie jest potrzebne przed uruchomieniem poleceń wymagających funkcji Cloud, np. model.

działanie

Wyświetla 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

Podpolecenie list wyświetla podstawowe informacje o zadań, które zostały niedawno przesłane. Opcja -l powoduje wysłanie prośby o długi format z większą ilością informacji o każdym zadaniu. Podpolecenie info wyświetla szczegółowe informacje o poszczególnych zadaniach. Podpolecenie cancel anuluje co najmniej 1 trwające zadanie.

przesyłanie

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

obraz

Aby przesłać komponent z obrazem przy użyciu 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 obrazów wejściowych, zostaną one zinterpretowane jako kafelki jednego komponentu z obrazem. Więcej informacji o opcjach przesyłania obrazów do Earth Engine znajdziesz w artykule Przesyłanie komponentów z obrazem: opcje zaawansowane.

Zasady redukcji piramidy możesz określić za pomocą flagi --pyramiding_policy, której wartość może być jedną z tych opcji: mean (domyślna), sample, mode, min lub max. Określa to, w jaki sposób Earth Engine generuje 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

Za pomocą znaku --last_band_alpha możesz wskazać, że maska obrazu powinna być 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ść „brak danych” możesz określić za pomocą flagi --nodata_value. Spowoduje to zamaskowanie wszystkich pikseli na obrazie o tej 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ą być ustawione w przypadku komponentu, używając tych samych flag, które są akceptowane przez polecenie asset set opisane powyżej. Opcje te są też opisane w przewodniku Image Manifest.

tabela

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

    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 interpretacji plików CSV i TFRecord. Pełną listę opcji przesyłania tabel znajdziesz w przewodniku Manifest tabeli lub w tym miejscu:

    earthengine upload table -h

external_image

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

earthengine 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 manifestu znajdziesz w przewodnikach Cloud GeoTIFFImage Manifest.