Narzędzie wiersza poleceń

Narzędzie earthengine to program, 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 się krótkie podsumowanie dostępnych poleceń. Aby uzyskać pomoc dotyczącą konkretnego polecenia, użyj:

    earthengine command -h

Po pierwszym zainstalowaniu interfejsu Python API musisz się zalogować za pomocą polecenia authenticate opisanego poniżej. W poniższych sekcjach znajdziesz więcej informacji o dostępnych poleceniach.

Dane logowania konta usługi

Aby używać interfejsu wiersza poleceń 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 Colab

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

Uwierzytelnianie

Uwierzytelniaj się w przypadku każdej nowej sesji Colab lub gdy maszyna wirtualna wygaśnie z powodu braku aktywności (dane logowania nie są zapisywane między sesjami).

Zaimportuj bibliotekę klienta w Pythonie i wywołaj 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 uruchomić narzędzia wiersza poleceń, takie jak interfejs wiersza poleceń Earth Engine, musisz poprzedzić 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 kolejnych poleceniach, chyba że zostanie zastąpiony przez opcję --project. Ustaw domyślny projekt dla każdej nowej sesji Colab lub na wypadek, gdyby maszyna wirtualna wygasła z powodu braku aktywności (dane logowania nie są zapisywane między sesjami).

!earthengine set_project my-project

Dokumentacja 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 przeprowadzi Cię przez proces uwierzytelniania za pomocą przeglądarki.

Jeśli używasz domyślnego trybu uwierzytelniania gcloud, musisz zainstalować gcloud. Inne tryby uwierzytelniania dostępne za pomocą parametru auth_mode znajdziesz w przewodniku po uwierzytelnianiu.

acl

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

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 oprócz właściciela.
  • public: przyznaje uprawnienia do odczytu wszystkim użytkownikom.

Podpolecenie ch umożliwia wprowadzanie pojedynczych zmian na 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 unieważnienie uprawnień AllUsers nie powoduje unieważnienia żadnych 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
    earthengine asset setbands projects/my-project/assets/asset_id band1 band2

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. Podpolecenie setbands aktualizuje nazwy pasm zasobu.

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 oddziel nazwę właściwości i wartość znakiem równości. Typ danych jest wykrywany automatycznie, ale możesz go też określić 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 ciągu znaków na "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ę. W zależności od powłoki i platformy mogą być potrzebne lub nie).

Aby utworzyć specjalne właściwości dla wizualizacji pasm klasyfikacji, możesz zapisać listy wartości i kolorów jako ciągi znaków rozdzielone przecinkami. Aby na przykład ustawić wartości palety i klasy dla pasma o nazwie 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

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 uniksowej (tj. 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

Przyjmuje się, że strefa czasowa to UTC. Możesz ustawić specjalne właściwości czasu rozpoczęcia i zakończenia, używając 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, użyj podpolecenia collection. Możesz określić opcję -p, aby w razie potrzeby rekurencyjnie 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 żąda długiego formatu z dodatkowymi informacjami o każdym zasobie (obecnie tylko o jego typie). Możesz określić --max_items number (lub w skrócie -m), 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

Przygotuj zapisany model do udostępniania w Earth Engine. W szczególności przekształca to 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 platformy AI znajdziesz tutaj. Pełny przykład znajdziesz tutaj.

mv

Przenosi zasób lub zmienia jego nazwę. 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ą 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ń wsadowych projektu, dane wyjściowe zawierają:

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

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

  • planMaxConcurrentExports, czyli liczbę wskazującą maksymalną liczbę zadań wsadowych, które mogą być uruchamiane 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 mogło być uruchamianych 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 get.

Więcej informacji o równoległości zadań wsadowych znajdziesz na stronie Limitów 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 rekurencyjnie usunąć zawartość folderu lub kolekcji. Aby bezpiecznie usunąć wiele zasobów, możesz użyć flagi --dry_run, aby sprawdzić, co dokładnie zostanie usunięte, bez usuwania czegokolwiek.

set_project

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

    earthengine set_project foo-project

To polecenie jest wymagane przed uruchomieniem poleceń, które wymagają funkcji Cloud, takich jak 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 zadaniach przesłanych przez Ciebie ostatnio. Opcja -l powoduje wyświetlenie długiego formatu z dodatkowymi informacjami o każdym zadaniu. Podpolecenie info wyświetla szczegółowe informacje o poszczególnych zadaniach. Podpolecenie cancel anuluje co najmniej 1 uruchomione zadanie.

przesyłanie

Przesyła obrazy lub tabele z Google Cloud Storage do Earth Engine lub rejestruje pliki GeoTIFF zoptymalizowane pod kątem chmury (COG) w Cloud Storage jako zasoby COG (obrazy zewnętrzne).

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 podasz kilka wejściowych plików graficznych, 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órą można ustawić na jedną z tych wartości: mean (domyślna), sample, mode, min lub max. Określa to, jak 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

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ść „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ą zostać ustawione w zasobie, używając tych samych flag, które są akceptowane przez polecenie asset set opisane powyżej. Opcje są też opisane w przewodniku Manifest obrazu.

stół

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

    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 przewodniku Plik manifestu tabeli lub za pomocą polecenia:

    earthengine upload table -h

external_image

Aby zarejestrować plik Cloud Optimized GeoTIFF (COG) w Cloud Storage jako zasób oparty na COG (w interfejsie API nazywany obrazem zewnętrznym), uruchom polecenie upload external_image z manifestem:

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

Dodaj --force, aby zastąpić istniejący zasób, na przykład aby wskazać nową wersję pliku (patrz aktualizowanie zasobów opartych na COG).

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 przewodniku po rejestracji COG i przewodniku po pliku manifestu obrazu.