Najczęstsze pytania

Pytania ogólne

Mam problem i potrzebuję pomocy

Opublikuj pytanie zgodnie z tym przewodnikiem, podając jak najwięcej informacji (patrz przewodnik po Stack Overflow dotyczący zadawania dobrych pytań). Zwykle oznacza to:

  • wysyłając link do skryptu w Edytorze kodu (aby go uzyskać, kliknij przycisk „Uzyskaj link”);

  • udostępnianie zasobów potrzebnych do uruchomienia skryptu.

  • w przypadku nieudanych zadań zbiorczych podaj identyfikator nieudanego zadania. Identyfikatory zadań wyglądają tak: 4C25GIJBMB52PXTEJTF4JLGL. Znajdziesz je na karcie Zadania w Edytorze kodu. Więcej informacji

Gdzie mogę przeczytać o architekturze Earth Engine?

Zobacz ten artykuł: Gorelick i in., 2017.

Zapoznaj się ze stroną EDU i Materiały szkoleniowe.

Obejrzyj ten bezpłatny kurs z elektroniki, który przygotował Ujaval Gandhi. Zawiera on film z wprowadzeniem do teledetekcji.

Programowanie Earth Engine

Jakie są typowe błędy kodowania?

Zapoznaj się z przewodnikiem po debugowaniu.

Dlaczego nie mogę używać podstawowej matematyki, np. ee.Image("image") * 2?

W usłudze Enterprise nie należy mieszać obiektów ani operacji po stronie serwera i po stronie klienta. Wszystkie operacje na obiektach EE są wykonywane po stronie serwera. Obliczenia po stronie klienta nie będą działać zgodnie z oczekiwaniami. Więcej informacji znajdziesz na tej stronie.

Jak używać pętli for lub instrukcji if/else?

Programowanie w Earth Engine odbywa się za pomocą języka funkcyjnego, więc pętle i operacje warunkowe należy wyrażać za pomocą odpowiednich pojęć, takich jak map lub filter. Więcej informacji znajdziesz tutaj.

Jak wyświetlać etykiety tekstowe na obrazie lub filmie?

Nie ma wbudowanego wsparcia dla etykiet tekstowych, ale możesz:

Czy mogę używać standardowych palet kolorów?

Użyj zewnętrznego pakietu JS ee-palettes.

Jak mogę utworzyć własną witrynę korzystającą z Earth Engine?

Używaj aplikacji Earth Engine do podstawowych zastosowań. W bardziej złożonych przypadkach możesz tworzyć aplikacje App Engine w elastycznym środowisku.

Jak działają identyfikatory map?

Identyfikatory map (nazywane w interfejsie API mapid) to klucze, które umożliwiają klientom pobieranie kafelków mapy. Każdy identyfikator to hasz utworzony na podstawie wyrażenia obrazowego przesłanego do punktu końcowego getMapId. Uzyskane identyfikatory to klucze, które wskazują zarówno wyrażenie obrazu, jak i dane logowania użytkownika, które zostaną użyte do wygenerowania płytek na późniejszym etapie.

Żądanie kafelków mapy wymaga określenia położenia kafelka (x, y, zoom) oraz klucza mapid (klucza do obrazu i uprawnień). Tego samego identyfikatora można używać wielokrotnie do wczytywania wielu kafelków mapy. Nie ma limitów dotyczących ponownego użycia kluczy mapid, ale wygasają one po kilku godzinach. Nie publikujemy konkretnych ram czasowych, w których identyfikatory są aktywne, ale każdy napisany przez Ciebie kod powinien być odporny na wygaśnięcie identyfikatora.

Tworzenie tych identyfikatorów wymaga przechowywania niewielkiej ilości danych i weryfikowania danych logowania, dlatego najlepiej jest ich używać tak długo, jak to możliwe. Nie ma limitu dotyczącego interfejsu API, który jest powiązany z punktem końcowym getMapId, ale każdy przepływ pracy, który powoduje tworzenie obiektów mapid z częstotliwością zbliżoną do szybkości pobierania płytek, prawdopodobnie zawiera błąd. Earth Engine nie ma punktu końcowego interfejsu API, za pomocą którego można usuwać, wyświetlać lub zarządzać tymi identyfikatorami, ponieważ są to zasoby przejściowe.

Dlaczego ee.Algorithms.If() wypisuje zarówno wartość logiczną „prawda”, jak i „fałsz”?

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

Algorytm If() działa tak samo jak każdy inny algorytm w Earth Engine, co oznacza, że wszystkie jego argumenty muszą zostać ocenione, zanim algorytm zostanie uruchomiony. Algorytm uzyskuje wyniki trueCasefalseCase, a potem wybiera i zwraca jeden z nich na podstawie argumentu condition, ale aby te wartości zostały przekazane algorytmowi, obie ścieżki musiały zostać wykonane.

Pojawia się błąd „Request payload size exceeds the limit” (Rozmiar ładunku żądania przekracza limit)

Próbujesz wysłać do Earth Engine bardzo dużą prośbę. Zwykle dzieje się tak, gdy kod używa wielu pętli „for” po stronie klienta lub tworzy kolekcję FeatureCollection z wielu obiektów geometrycznych. W tym drugim przypadku zamiast tworzyć takie geometrie w skrypcie, wygeneruj plik CSV zawierający te geometrie i prześlij go do zasobu tabeli.

Czym różni się wersja ee.Image.clip() od ee.Filter.bounds()?

Zobacz ten wątek na forum GIS Stack Exchange. Funkcja ee.Image.clip() maskuje piksele, które nie pokrywają się z danym ee.Geometry lub ee.Feature, przez co są one przezroczyste w wizualizacjach i wykluczone z obliczeń. Możesz to sobie wyobrazić jako odcięcie pikseli z obrazu.

Funkcja ee.Filter.bounds() wyfiltrowuje obiekty ee.Image z obiektu ee.ImageCollection na podstawie przecięcia obrazu z obiektem ee.Geometry lub ee.Feature. Służy do ograniczenia zakresu analizy tylko do obrazów, które pokrywają się z danym regionem, co pomaga optymalizować wyrażenia.

Jak przekształcić piksele obrazu w zbiory cech, z jedną cechą na piksel?

Użyj funkcji ee.Image.sample(). Przykłady użycia znajdziesz na stronie z dokumentacją API funkcji.

Czym różni się wersja ee.ImageCollection.merge() od ee.ImageCollection.combine()?

Funkcja ee.ImageCollection.merge() scala wszystkie obrazy z 2 kolekcji w jedną kolekcję, niezależnie od tego, czy ich obrazy mają takie same pasma, metadane, systemy CRS czy skalę. Jest to unia 2 kolekcji. Metoda combine() łączy pasy pasujących obrazów z 2 kolekcji w jedną kolekcję. Zgodne obrazy mają ten sam identyfikator (usługa system:index). Jest to złączenie wewnętrzne dwóch kolekcji na podstawie identyfikatora obrazu, w którym pasma z pasujących obrazów są łączone. W przypadku pasujących obrazów pasma z obrazu dodatkowego są dołączane do obrazu głównego (zastąpienie jest opcjonalne). Jeśli nie ma żadnych pasujących obrazów, zwracana jest pusta kolekcja.

Jak filtrować kolekcje obrazów według wielu przedziałów czasowych?

Zobacz ten wątek na forum GIS Stack Exchange. Możesz merge() połączyć kilka kolekcji lub użyć ee.Filter.or().

Jak utworzyć pole ograniczające wokół danego punktu?

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

Czy możesz dodać zbiór danych X?

Prześlij zgłoszenie błędu dotyczące żądania zbioru danych zgodnie z przewodnikiem po żądaniach zbiorów danych.

Możesz też przesyłać dane do folderu domowego w Earth Engine. Zobacz Importowanie danych rastrowychImportowanie danych tabeli.

nowa wersja istniejącego zbioru danych.

Prześlij zgłoszenie błędu dotyczące zbioru danych, postępując zgodnie z przewodnikiem po prośbach dotyczących zbiorów danych. Wskaż, że prosisz o zaktualizowanie zbioru danych.

istniejący zbiór danych nie jest zaktualizowany lub brakuje w nim komponentów;

Zanim zgłosisz problem, sprawdź, czy wybrane zasoby rzeczywiście znajdują się w witrynie dostawcy zbioru danych. Więcej informacji znajdziesz w przewodniku na temat brakujących obrazów.

Jeśli szukasz zasobu, filtrując ImageCollection, upewnij się, że filtry nie są zbyt restrykcyjne.

Zwróć uwagę na te kwestie:

  • ESA nie wyprodukowała danych Sentinel-2 SR (dane na poziomie 2) dla wczesnych scen na poziomie 1.

  • Dane Landsat nie obejmują całego świata przed rokiem 2000.

istniejący zbiór danych zawiera nieprawidłowe wartości;

Opublikuj post na forum dla programistów. Dołącz skrypt, który powiększa pierwotną rozdzielczość komponentu i ułatwia dostrzeżenie błędnych wartości. Wyjaśnij, gdzie dokładnie zauważyłeś(-aś) wartość alternatywną.

Gdzie jeszcze mogę zapytać o zbiory danych?

Jeśli masz pytania dotyczące zbiorów danych NASA, odwiedź forum NASA Earth Data.

W przypadku pytań dotyczących narzędzi działających na zbiorach danych Copernicus odwiedź fora S1, S2S3.

Jak duży jest katalog EE?

W październiku 2023 r. katalog zawierał ponad 1000 zbiorów danych. Jego rozmiar na dysku wynosi ponad 90 petabajtów (po uwzględnieniu bezstratowej kompresji).

Jak często są aktualizowane dane w EE?

Zwykle wszystkie bieżące zbiory danych są aktualizowane co najmniej raz dziennie (chociaż nie wszystkie takie zbiory danych zawierają nowe dane codziennie). Niektóre zbiory danych są aktualizowane kilka razy dziennie. Nie ma jednak zasad, które wymagałyby obecności najnowszych zasobów w katalogu.

Jak wyświetlić zawartość katalogu EE programowo?

Lista zbiorów danych jest eksportowana w formacie STAC do zasobnika Google Cloud Storage gs://earthengine-stac. Plik danych to catalog.json.

Czy do analizy mogę używać danych lub zdjęć z Map Google?

Google nie udziela licencji na dane mapy bazowej ani ich nie sprzedaje.

Jak mogę znaleźć datę przetworzenia zasobu?

Właściwość zasobu 'system:version' to sygnatura czasowa pobierania w formacie mikrosekund od początku epoki uniksowej. Oto przykład konwersji sygnatury czasowej przetwarzania obrazu Landsat na format czytelny dla człowieka.

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

Czy katalog Earth Engine zawiera metadane w formacie JSON-LD?

Tak, metadane JSON-LD są umieszczane w stronach HTML katalogu. Na przykład strona Sentinel-2 zawiera ten blok:

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

Jak jest wdrażany algorytm simpleComposite?

Implementacja po stronie serwera jest odpowiednikiem tego kodu JavaScript.

Jak tworzyć kompozycje bez chmur z danych Landsat dotyczących odbicia promieniowania powierzchni?

Dane Landsat Level 2 (odbicie powierzchni) mają kilka pasmów jakości, które można wykorzystać do maskowania chmur i innych niepożądanych artefaktów obrazu. Przykład użycia tych pasm do przetworzenia obrazów Landsat 8 SR i utworzenia bezchmurnego kompozytu średniego podano w tym poście na GIS Stack Exchange. Ta sama procedura służy do tworzenia kompozytów bez chmury, które są używane w przykładach nadzorowanej klasyfikacji w przewodniku dla programistów.

Czy potrzebna jest harmonizacja odbicia promieniowania powierzchni Landsat na podstawie różnych czujników?

Roy i in., 2016, zawiera analizę różnic w odblasku między TOA Landsat 7–8 a odblaskiem powierzchni. Opublikowali współczynniki OLS i RMA, aby czytelnicy mogli przekształcać wartości odbicia w danych z jednego czujnika na dane z drugiego. Ostatni akapit artykułu zawiera następujące zdanie: „Chociaż różnice między czujnikami są niewielkie, mogą mieć znaczący wpływ na zastosowanie danych Landsat”. Ta analiza została jednak przeprowadzona na podstawie danych zebranych przed rozpoczęciem gromadzenia danych.

Ulepszenia wprowadzone podczas ponownego przetwarzania zbiorów danych 1 i 2 mogą wpływać na relacje między czujnikami, ale według naszej wiedzy nie przeprowadzono analiz podobnych do analizy Roy i współpracowników (2016 r.) dla zbiorów danych 1 i 2. Pomimo braku formalnej analizy wydaje się, że wśród wpływowych użytkowników Landsat panuje ogólna zgoda co do tego, że nie jest potrzebna żadna korekta danych z kolekcji 2, poziomu 2 (odbicie powierzchniowe). Na przykład w odpowiedzi na pytanie dotyczące potrzeby harmonizacji Collection 2, poziomu 2 Mike Wulder z zespołu naukowego Landsat zauważył, że w zależności od charakteru aplikacji (w tym mapowania pokrycia terenu i wykrywania zmian) produkty dotyczące współczynnika odbicia Collection 2 są bardzo odpowiednie i wiarygodne bez potrzeby dostosowywania do różnych czujników.

Jak mogę zamaskować chmury i ich cienie na zdjęciach MSS?

Moduł msslib innej firmy do Edytora kodu JavaScripta zawiera implementację algorytmu MSScvm, a także inne przydatne funkcje do eksplorowania i przygotowywania danych MSS.

Zarządzanie danymi

Kto jest właścicielem przesyłanych przeze mnie danych?

Zgodnie z Warunkami korzystania z Earth Engine klienci są właścicielami danych przesyłanych do Earth Engine.

Nie mogę przesłać danych

Stan zadania przesyłania możesz sprawdzić w panelu Zadania w prawym górnym rogu Edytuj kod. Możesz też wyświetlić specjalną stronę zadania.

Jeśli nie ma zadania, prawdopodobnie plik został przesłany za pomocą edytora kodu, ale z powodu problemu z siecią nie został on w pełni przesłany, więc zadanie nie zostało utworzone. Spróbuj użyć innej przeglądarki lub innego komputera.

Jeśli zadanie się nie powiedzie, sprawdź wyświetlony błąd. Jeśli nie ma żadnego konkretnego komunikatu o błędzie, najpierw sprawdź, czy plik nie jest uszkodzony, wykonując polecenie gdalinfo w przypadku plików rastrowych lub ogr2ogr w przypadku plików wektorowych. Te polecenia będą próbować odczytać wszystkie dane z plików źródłowych i wyświetlać błędy, jeśli pliki są uszkodzone.

Przykładowe wywołanie gdalinfo:

gdalinfo -mm -stats -checksum file.tif

Przykład wywołania ogr2ogr, które przekształci in.shpout.csv:

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

Jeśli plik wygląda na prawidłowy, opublikuj identyfikator nieudanego zadania jako tekst (a nie zrzut ekranu) na liście mailingowej dla programistów. Identyfikatory zadań mają format: 4C25GIJBMB52PXTEJTF4JLGL. W miarę możliwości udostępnij plik źródłowy do odczytu. Jeśli jest to plik prywatny, udostępnij go tylko użytkownikom earthengine@google.com, jeśli chcesz, aby zespół Earth Engine go przejrzał. Jeśli nie możesz udostępnić pliku źródłowego, podaj co najmniej dane wyjściowe funkcji gdalinfo -mm -stats -checksum.

Jeśli Earth Engine nie obsługuje określonej projekcji, przed przesłaniem danych musisz je ponownie rzutować, korzystając np. z narzędzia gdalwarp.

Jak przesłać plik w formacie NetCDF lub innym nieobsługiwanym formacie rastrowym?

Do Earth Engine można przesyłać tylko pliki GeoTIFF. Inne formaty zgodne z GDAL można przekonwertować na GeoTIFF za pomocą gdal_translate. Przykład:

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

Pamiętaj, że niektóre pliki NetCDF lub HDF składają się z wielu podzbiorów, które można odkryć za pomocą gdalinfo. W tym przypadku polecenie gdal_translate będzie wyglądać tak (zwróć uwagę na ścieżkę w cudzysłowach):

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

Pliki NetCDF nie zawsze zawierają projekcję, którą GDAL rozpoznaje. W tym przypadku musisz ustawić projekcję i zakres przestrzenny w wierszu poleceń gdal_translate. Przykład:

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

Jakich algorytmów kompresji mogę używać w przypadku przesyłanych plików GeoTIFF?

Przed przesłaniem pliki GeoTIFF można skompresować za pomocą algorytmów DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP lub ZSTD. Do odczytu skompresowanych danych w czasie rzeczywistym możesz użyć formatów DEFLATE, JPEG, LZW lub ZSTD. ZSTD to dobry wybór ogólny, ponieważ pozwala szybko dekompresować pliki, a jednocześnie zapewnia dobrą kompresję większości obrazów.

Aby zastosować kompresję ZSTD podczas używania gdal_translate, dodaj te opcje. Jeśli dane zawierają wartości zmiennoprzecinkowe, zmień wartość parametru PREDICTOR na 3.

gdal_translate in.tif out.tif \
  -co COPY_SRC_OVERVIEWS=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=22 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

Przetwarzanie pliku rastrowego trwa od kilku dni i nie kończy się.

Za pomocą gdalinfo sprawdź, czy w pliku ustawiona jest opcja GDAL:INTERLEAVE=PIXEL. W przypadku plików z tą opcją i wieloma pasmami przetwarzanie może nigdy się nie zakończyć, ponieważ układ takich plików powoduje bardzo wolne odczyty.

Przed przesłaniem spróbuj przekonwertować takie pliki na układ z przeplotem pasm:

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

Przesłane przeze mnie rastery nie pasują do mapy bazowej.

Jeśli dane są nieco przesunięte względem mapy bazowej, projekcja prawdopodobnie ma nieprawidłowy datum (założenie dotyczące kształtu Ziemi). Najczęściej dzieje się tak w przypadku projekcji sinusoidalnej, której nie można w pełni zakodować w metadanych GDAL. Gdy wiesz, jaka powinna być prognoza docelowa (np. SR-ORG:6974 w przypadku plików używających projekcji sinusoidalnej MODIS), ustaw flagę --crs podczas przesyłania za pomocą wiersza poleceń lub pole crspliku manifestu przesyłania.

Jeśli dane są mocno zniekształcone lub znajdują się w zupełnie nieodpowiednim miejscu, prawdopodobnie projekcja lub transformacja afiniczna jest nieprawidłowa.

Mój raster jest widoczny tylko na półku wschodnim.

Prawdopodobnie przesłano globalny raster, który obejmuje zakres długości geograficznej [0, 360]. Earth Engine wymaga jednak, aby rastery mieściły się w zakresie [-180, 180]. Zamień lewą i prawą połowę rastera przed przetworzeniem. Zobacz te sugestie dotyczące GIS Stack Exchange

Dlaczego przetworzony obraz klasyfikacji wygląda na nakrapowany?

Prawdopodobnie użyto domyślnej zasady piramidy MEAN. W przypadku obrazów do klasyfikacji należy zastosować zasady dotyczące piramidy MODE. W przypadku obrazów do testów QA lub obrazów z maską bitową należy zastosować zasady dotyczące piramidy SAMPLE.

Wystąpił ten błąd: „Nie można zastosować wartości danych -128.0 do pasma #0 typu Short<0, 255>”.

GDAL nie może traktować pasm jednobajtowych jako zawierających liczby całkowite ze znakiem, więc odczytuje takie pasma jako liczby całkowite bez znaku. Spowoduje to konflikt z ujemnymi wartościami danych.

Jeśli wartości są w rzeczywistości podpisanymi liczbami całkowitymi, użyj przesyłania pliku manifestu i dodaj ten element do sekcji płytki zawierającej plik: data_type: "INT8"

Jeśli wartości są bez znaku, plik zawiera nieprawidłową wartość nodata. Możesz zastąpić go podczas przesyłania prawidłową wartością danych (lub wartością, która nigdy nie występuje, jeśli taka istnieje). Możesz też użyć gdal_translate -a_nodata, aby zmienić wartość nodata, lub gdal_edit.py -unsetnodata, aby ją usunąć.

Jak przesłać plik w formacie GeoJSON lub innym nieobsługiwanym formacie wektorowym?

Użyj ogr2ogr, aby przekształcić formaty zgodne z OGR w format CSV lub SHP. Przykład:

or2ogr -f "ESRI Shapefile" file.shp file.kml

Pamiętaj, że w przesyłanych plikach CSV kolumna geometry może zawierać GeoJSON.

Chcę przesłać dane za pomocą Pythona lub przesłać wiele plików naraz.

Użyj przesyłania za pomocą wiersza poleceń. W przypadku takich przesyłań pliki źródłowe muszą najpierw zostać umieszczone w zasobniku GCS (Google Cloud Storage). Korzystanie z GCS jest bezpłatne, jeśli nie przekroczysz limitów bezpłatnego poziomu usługi – patrz strona z cenami.

Chcę przesłać dużą mozaikę rastrową podzieloną na wiele płytek.

Jeśli wszystkie pliki mają ten sam typ projekcji i rozmiar piksela, po prostu prześlij je do tego samego zasobu – zostaną automatycznie ułożone w mozaice.

Jeśli pliki mają różne projekcje lub rozmiary pikseli, nie można ich ułożyć w mozaice w jednym zasobie rastrowym. Zamiast tego prześlij każdą płytkę jako osobny zasób do tego samego ImageCollection, który można ułożyć w mozaice za pomocą ImageCollection.mosaic().

Próbuję przesłać mozaikę i wyświetlają się błędy dotyczące niepasujących kafelków.

Płytki w przypadku mozaikowych rasterów Earth Engine muszą mieć ten sam układ i rozmiar piksela. Dodatkowo elementy muszą być wyrównane dokładnie na granicach pikseli.

Próbuję przesłać plik z zasobnika GCS, ale Earth Engine go nie znajduje.

Do przesyłania danych do GCS i łączenia się z Earth Engine mogłeś(-aś) użyć różnych kont Google. Upewnij się, że plik GCS jest czytelny dla konta, którego używasz do łączenia się z Earth Engine. Jeśli korzystanie z wielu kont w przeglądarce powoduje zamieszanie, połącz się z Earth Engine w oknie przeglądarki w trybie incognito.

Chcę wyeksportować wiele komponentów naraz.

Każdy obraz musisz eksportować osobno.

Chcę przenieść lub usunąć Folder lub ImageCollection za pomocą jednego polecenia.

Najpierw musisz przenieść lub usunąć poszczególne zasoby, a potem przenieść lub usunąć folder nadrzędny lub kolekcję. Jeśli masz dużo komponentów podrzędnych, napisz pętlę w programie Python lub w powłoce, aby je przetworzyć.

Chcę uzyskać bezpośredni dostęp do danych Earth Engine z zewnątrz usługi.

QGIS ma wtyczkę Earth Engine.

GDAL ma sterownik Earth Engine.

Inne systemy mogą korzystać z interfejsu API REST w usłudze Enterprise.

Chcę zaktualizować część zasobu Earth Engine bez całkowitego przetworzenia.

Nie można aktualizować danych rastrowych ani wektorowych przesłanych do EE. Można aktualizować tylko właściwości metadanych zasobu.

Nie mam dostępu do mojego konta. Co mam zrobić ze swoimi zasobami?

Jeśli zasady pierwotnego konta zezwalają na przenoszenie danych, udostępnij swoje zasoby innemu kontu, a potem skopiuj je na nowe konto. Jeśli chcesz przenieść wiele zasobów, użyj narzędzia do kopiowania w wierszu poleceń.

Jeśli konto zostanie usunięte, komponenty należące do tego konta nie będą już dostępne.

Wyeksportowany obraz znajduje się w niewłaściwym miejscu.

W przypadku niektórych projekcji, np. sinusoidalnej lub stożkowej, pliki GeoTIFF nie mogą czasami przechowywać wszystkich niezbędnych parametrów projekcji. W efekcie wyeksportowany plik wyświetlany w narzędziach GIS na komputerze lub przetworzony w EE pojawia się w niewłaściwym miejscu.

Aby to naprawić, określ parametr eksportu crs, który dobrze działa z plikami GeoTIFF. Możesz na przykład użyć kodu EPSG dla strefy UTM zawierającej obszar zainteresowania.

Jakiej lokalizacji w zasobniku Cloud Storage powinienem używać do przechowywania zasobów COG?

Odpowiedź zależy od tego, co chcesz zoptymalizować. Jeśli optymalizujesz dostęp do obliczeń o niskim opóźnieniu, najlepszymi lokalizacjami zasobników GCS do przechowywania zasobów COG są US-CENTRAL*. Więcej informacji znajdziesz na stronie Lokalizacja zbiorników.

Wyeksportowane zasoby kolekcji funkcji nie zachowują ustawionych przeze mnie właściwości.

Żadna z funkcji Export.table.* nie zachowuje właściwości na poziomie tabeli w wyniku. W przypadku wielu formatów wyjściowych (np. CSV, GeoJSON) nie można używać takich metadanych. Funkcja Export.table.toAsset może obsługiwać właściwości na poziomie tabeli, ale obecnie nie obsługuje ich.

Tabele wyeksportowane na Dysk w formacie CSV są konwertowane na format XLSX.

W zależności od ustawień Dysku Google tabele CSV wyeksportowane z Earth Engine mogą zostać przekonwertowane na pliki XLSX z niepożądanymi efektami, takimi jak konwersje typu danych. Aby zmienić zachowanie podczas kolejnych eksportów, wykonaj te czynności.

  1. W Google Dysku w przeglądarce kliknij ikonę ustawień w prawym górnym rogu.
  2. Kliknij Ustawienia.
  3. Przewiń do opcji „Konwertuj przesyłane pliki na format edytora Dokumentów Google” i usuń zaznaczenie.

Edytor kodu

Nie mogę zalogować się w Edytorze kodu, ponieważ wyświetla się prośba o używanie niewłaściwego konta.

Wyloguj się, wybierz konto zarejestrowane do korzystania z Earth Engine na stronie „Wybierz konto” i ponownie wybierz to samo konto na drugiej stronie „Wybierz konto, aby przejść do edytora kodu Earth Engine” (dokładne brzmienie może się różnić).

Chcę zrobić zrzut ekranu mapy globalnej, ale nie podoba mi się projekcja Web Mercator.

Projekcja mapy używana w Edytorze kodu to Web Mercator („EPSG:3857”). Rozmiary obiektów są zawyżane w przypadku obiektów znajdujących się daleko od równika, przez co regiony na dużych szerokościach geograficznych wydają się znacznie większe niż są w rzeczywistości w porównaniu z regionami położonymi blisko równika. Nie możesz zmienić projekcji mapy w Edytorze kodu, ale możesz „narysować” obraz w projekcji wybranej przez siebie na kanwie Web Mercator za pomocą metody ee.Image.changeProj. Przykład wyświetlania globalnego DEM na mapie w Edytorze kodu w projekcji Robinsona znajdziesz na stronie referencyjnej interfejsu API tej metody. Pamiętaj, że tej techniki należy używać tylko do celów wizualizacji, ponieważ narzędzia inspekcji i rysowania w Edytorze kodu nadal działają w Web Mercator.

Mój skrypt się nie zapisuje (Script error: Unknown commit).

Jeśli podczas zapisywania skryptu pojawi się komunikat Script error: Unknown commit, oznacza to, że repozytorium, do którego zapisujesz, jest niezsynchronizowane. Przyczyna tego stanu jest zmienna i trudna do zidentyfikowania. Aby rozwiązać ten problem, spróbuj odświeżyć listę skryptów, korzystając z przycisku w prawym górnym rogu karty Skrypt. Jeśli to nie zadziała, spróbuj utworzyć nowe repozytorium, używając przycisku Nowe na karcie Skrypt i zapisz tam skrypt (być może trzeba będzie przenieść skrypty do nowego repozytorium z repozytorium, w którym nie ma synchronizacji).