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
!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_mode
w przewodniku 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:
max_concurrent_exports
, aby kontrolować maksymalny paralelizm zadań grupowych w projekcie.- wymaga odpowiednich uprawnień
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 GeoTIFF i Przewodniku tworzenia pliku manifestu obrazu.