Komponenty Earth Engine to dane geoprzestrzenne należące do projektu i przechowywane na platformie. Możesz przesyłać własne dane i przechowywać dane wygenerowane na podstawie analiz w Earth Engine jako zasoby.
Typy zasobów
Earth Engine oferuje różne formaty zasobów dla różnych typów danych, a także elementy kontenera do ich organizacji.
| Typy zasobów | |
|---|---|
Image |
Raster, czyli reprezentowanie informacji geograficznych w postaci siatki, w której każda komórka zawiera wartość odpowiadającą określonej lokalizacji na powierzchni Ziemi. |
ImageCollection |
Zbiór powiązanych ze sobą obrazów rastrowych, które tworzą mozaikę lub serię czasową. Pod względem funkcjonalności jest podobny do folderu, ale można go zaimportować do Earth Engine jako obiekt ee.ImageCollection, który zawiera zestaw metod filtrowania i analizy. |
Table |
Struktura danych tabeli złożona z funkcji wektorowych (wierszy), z których każdy zawiera serię właściwości (kolumn). Jest on reprezentowany przez obiekt ee.FeatureCollection, który zawiera zestaw metod do filtrowania i analizy. |
Classifier |
wytrenowany model uczenia maszynowego Earth Engine. Jest on reprezentowany przez obiekt ee.Classifier |
FeatureView |
Wizualizacja tabeli do wykorzystania w aplikacjach Earth Engine. |
Folder |
Kontenery na zasoby i dodatkowe foldery ułatwiające organizację. |
Organizacja komponentów
Zasoby Earth Engine są uporządkowane w hierarchiczny system folderów i zbiorów. Struktura jest podobna do typowych systemów plików.
Główny
Zasoby należą do projektu Cloud. Nazwa projektu określa katalog główny katalogu zasobów. Na przykład pierwiastek z my-project to projects/my-project/assets.
Wszystkie zasoby należące do my-project znajdują się w folderze projects/my-project/assets lub w podfolderze (lub ImageCollection) w tym folderze.
Katalog
Earth Engine używa struktury katalogu w postaci drzewa do porządkowania zasobów. Każdy projekt Cloud ma katalog główny, który może zawierać pojedyncze zasoby i foldery. Zbiory obrazów to specjalny typ komponentu, który służy do przechowywania zestawów powiązanych obrazów, np. serii czasowych lub mozaik. W odróżnieniu od folderów kolekcje obrazów mogą zawierać tylko komponenty z obrazami i nie mogą zawierać innych folderów ani kolekcji.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- photo image-name
- view_comfy nazwa_tabeli
- satellite featureview-name
- bubble_chart nazwa_kreatora
- photo_library imagecollection-name/
- photo image-name-1
- photo image-name-2
Identyfikator zasobu
Earth Engine używa identyfikatorów zasobów do odwoływania się do danych zarówno w skryptach, jak i w operacjach wykonywanych z poziomu wiersza poleceń. Lokalizacje zasobów są definiowane za pomocą ukośnych kresek (/) jako separatorów między katalogami. Na przykład:
projects/my-project/assets/my-asset określa zasób o nazwie „mój-zasób” znajdujący się w katalogu głównym „mój-projekt”. Oto przykład użycia tego identyfikatora do uzyskania informacji o zasobie.
Python
print(ee.data.getAsset('projects/my-project/assets/my-asset'))
Edytor kodu
print(ee.Image('projects/my-project/assets/my-asset'))
Wiersz poleceń
earthengine asset info projects/my-project/assets/my-assetUtwórz komponenty
Możesz tworzyć foldery i zbiory obrazów oraz przetwarzać obrazy i tabele z plików lokalnych lub plików w zasobniku Google Cloud Storage. Obsługiwane formaty obrazów to GeoTIFF (standardowy i COG) oraz TFRecord. Obsługiwane formaty tabel to m.in. Shapefile i CSV. (zasoby można też utworzyć, wyeksportowując wynik analizy w Earth Engine za pomocą funkcji zbiorczych Export.*.toAsset).
Klient Python
Obraz
Użyj funkcji ee.data.startIngestion do przetworzenia obrazów z Cloud Storage. Więcej informacji o konfigurowaniu przesyłania znajdziesz na stronie pliku manifestu obrazu.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'tilesets': [
{
'sources': [
{
'uris': [
'gs://my-bucket/filename.tif'
]
}
]
}
]
}
ee.data.startIngestion(None, manifest)
Tabela
Użyj funkcji ee.data.startTableIngestion, aby pozyskiwać tabele z Cloud Storage. Więcej informacji o konfigurowaniu przesyłania znajdziesz na stronie pliku manifestu obrazu.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
Folder lub ImageCollection
Aby utworzyć puste foldery lub kolekcje obrazów, użyj funkcji ee.data.createAsset.
ee.data.createAsset(
{'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
'projects/my-project/assets/asset-name'
)
Edytor kodu
W Menedżerze komponentów kliknij przycisk NOWY i w menu wybierz typ komponentu, który chcesz przesłać lub utworzyć. W dialogu skonfiguruj przesyłanie lub tworzenie zasobu.
Wiersz poleceń
obraz lub tabela.
earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tifearthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv
Folder lub ImageCollection
Aby utworzyć puste foldery lub kolekcje obrazów, użyj polecenia earthengine create.
earthengine create folder projects/my-project/assets/folder-nameearthengine create collection projects/my-project/assets/collection-name
Obraz zewnętrzny
Pliki GeoTIFF (COG) zoptymalizowane pod kątem chmury, które przesyłasz do zasobnika Google Cloud Storage, można zarejestrować jako zewnętrzne zasoby obrazu i używać bezpośrednio w Earth Engine. Aby dowiedzieć się więcej o zasobach obsługiwanych przez COG i tworzeniu pliku manifestu, zapoznaj się z dokumentacją.
earthengine alpha upload external_image --manifest /tmp/foo.jsonWyświetlanie listy zasobów
Klient Python
Użyj funkcji ee.data.listAssets, aby wyświetlić listę zasobów w folderze lub kolekcji (nie rekurencyjnie).
Więcej informacji o filtrowaniu i podziałach na strony znajdziesz w dokumentacji.
ee.data.listAssets('projects/my-project/assets')
Zobacz też ee.data.listImages i ee.data.listFeatures.
Edytor kodu
Rozwiń foldery w Menedżerze komponentów, aby wyświetlić komponenty.
Wiersz poleceń
Użyj polecenia earthengine ls, aby wyświetlić listę zasobów w folderze lub kolekcji (nierekursywnie). Więcej informacji o ograniczaniu liczby zasobów do wyświetlenia i szczegółów dotyczących kwoty znajdziesz w dokumentacji.
earthengine ls projects/my-project/assetsUstawianie uprawnień do zasobu
Klient Python
Aby ustawić uprawnienia zasobu, użyj funkcji ee.data.setAssetAcl.
asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
'owners': [
'user:big_cheese@example.com',
'user:el_jefe@example.com'
],
'writers': [
'user:romeo@example.com',
'user:juliet@example.com'
],
'readers': [
'group:some-group@googlegroups.com',
'domain:example.com',
'serviceAccount:some-project-id@appspot.gserviceaccount.com'
],
'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)
Edytor kodu
W Menedżerze komponentów najedź kursorem na komponent i kliknij ikonę udostępniania. W oknie wpisz adres e-mail lub domenę, z którymi chcesz udostępnić zasób, a następnie wybierz poziom uprawnień z listy. Aby potwierdzić zmianę, kliknij przycisk DODAJ DOSTĘP. Zaznacz pole „Każdy może odczytać”, aby przyznać uprawnienia do odczytu dowolnemu elementowi. Możesz też przyznać dostęp do aplikacji Earth Engine w oknie, wybierając nazwę aplikacji z listy (zasoby należące do aktywnego projektu w Edytorze kodu).
Wiersz poleceń
Aby ustawić dostęp do odczytu zasobu na poziomie public lub private, użyj polecenia earthengine acl set.
earthengine acl set public projects/my-project/assets/asset-nameAby ustawić poszczególne uprawnienia do odczytu i zapisu zasobu, użyj polecenia earthengine acl ch.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-nameWięcej informacji znajdziesz na stronie Odwołanie do wiersza poleceń.
Sprawdzanie uprawnień do zasobów
Klient Python
Użyj funkcji ee.data.getAssetAcl, aby pobrać listę kontroli dostępu do zasobu.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
Edytor kodu
W Menedżerze komponentów najedź kursorem na komponent i kliknij ikonę udostępniania. W oknie pojawi się lista adresów e-mail i domen wraz z odpowiednimi poziomami dostępu.
Wiersz poleceń
Użyj polecenia earthengine acl get, aby pobrać listę kontroli dostępu do zasobu.
earthengine acl get projects/my-project/assets/asset-nameKopiowanie komponentów
Klient Python
Aby skopiować zasób, użyj funkcji ee.data.copyAsset.
ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')
Edytor kodu
Aby skopiować zasoby, użyj klienta Pythona lub narzędzia wiersza poleceń.
Wiersz poleceń
Aby skopiować komponent, użyj polecenia earthengine cp.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-namePrzenoszenie i zmienianie nazw komponentów
Klient Python
Aby przenieść lub zmienić nazwę zasobu, użyj funkcji ee.data.renameAsset.
ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')
Edytor kodu
Przenieś
W Menedżerze komponentów przeciągnij komponent do nowego folderu.
Zmień nazwę
W Menedżerze zasobów najedź kursorem na zasób, kliknij ikonę edycji i wpisz nową nazwę w polu tekstowym, które można edytować.
Wiersz poleceń
Aby przenieść lub zmienić nazwę zasobu, użyj polecenia earthengine mv.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-nameUsuń zasoby
Klient Python
Aby usunąć zasób, użyj funkcji ee.data.deleteAsset.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
Edytor kodu
Kliknij komponent, aby otworzyć stronę dialogową komponentu, a potem kliknij przycisk USUŃ.
Wiersz poleceń
Aby usunąć zasób, użyj polecenia earthengine rm. Informacje o opcjach rekurencyjnych i testowych znajdziesz w opisie funkcji.
earthengine rm projects/my-project/assets/asset-nameWyświetlanie metadanych zasobu
Klient Python
Aby uzyskać metadane zasobu, użyj funkcji ee.data.getAsset.
ee.data.getAsset('projects/my-project/assets/asset-name')
Edytor kodu
Kliknij zasób, aby otworzyć stronę z oknem. Wyświetl informacje o komponencie.
Wiersz poleceń
Aby uzyskać metadane zasobu, użyj polecenia earthengine asset info.
earthengine asset info projects/my-project/assets/asset-nameUstawianie metadanych zasobu
Możesz ustawić te metadane zasobu:
start_timeend_timeproperties
Klient Python
Aby zaktualizować metadane zasobu, użyj funkcji ee.data.updateAsset.
asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
'properties': {
'name': 'value'
},
'start_time': '2024-10-02T15:01:24Z',
'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']
ee.data.updateAsset(asset_id, new_metadata, update_these)
Edytor kodu
Kliknij zasób, aby otworzyć stronę dialogową zasobu, a potem w prawym górnym rogu kliknij przełącznik edycji. Możesz edytować opis, właściwości oraz datę rozpoczęcia i zakończenia. Aby zapisać zmiany, wyłącz przełącznik edycji.
Wiersz poleceń
Aby zaktualizować metadane zasobu, użyj polecenia earthengine asset set. Więcej informacji znajdziesz w dokumentacji referencyjnej.
earthengine asset set \
--time_start 2024-10-02T15:01:24 \
--time_end 2024-10-02T15:01:25 \
--property 'name=value' \
projects/my-project/assets/asset-name
Sprawdzanie limitu komponentów
Limit jest stosowany na poziomie projektu. Więcej informacji o limitach zasobów znajdziesz na stronie Ograniczenia dotyczące użycia i limitów.
Klient Python
Aby uzyskać informacje o wykorzystaniu limitu miejsca na dane w przypadku katalogu głównego zasobów, użyj funkcji ee.data.getAssetRootQuota.
ee.data.getAssetRootQuota('projects/my-project/assets')
Edytor kodu
W Menedżerze zasobów najedź kursorem na katalog główny projektu i kliknij ikonę data_usage. Pojawi się okno z informacjami.
Wiersz poleceń
Aby sprawdzić limit zasobów, użyj klienta Pythona lub edytora kodu.