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
!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 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 – 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:
max_concurrent_exports, aby kontrolować maksymalną równoległość zadań wsadowych w projekcie.- wymaga odpowiednich uprawnień.
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 GeoTIFF i Image Manifest.