Google App Engine umożliwia tworzenie i uruchamianie własnych aplikacji na serwerach Google. Aplikacje App Engine są łatwe do tworzenia, obsługi i skalowania, gdy zmieniają się Twoje potrzeby dotyczące ruchu i przechowywania danych. Wystarczy, że prześlesz kod źródłowy aplikacji. Jeśli dopiero zaczynasz tworzyć aplikacje na App Engine, zapoznaj się z krótkim wprowadzeniem do App Engine w języku Python lub Node.js.
Earth Engine i App Engine można używać razem do tworzenia skalowanych aplikacji geoprzestrzennych. Zazwyczaj kod App Engine zawiera bibliotekę klienta Earth Engine w Pythonie i wysyła żądania do backendu Earth Engine za pomocą konta usługi. Jest to korzystne, ponieważ pozwala każdemu korzystać z aplikacji bez logowania się lub rejestracji w Earth Engine. Pamiętaj, że standardowe limity korzystania z Earth Engine obowiązują na każdym koncie usługi.
Innym podejściem do programowania jest stosowanie uwierzytelniania po stronie klienta zamiast konta usługi. W takim przypadku użytkownicy Twojej aplikacji muszą być zarejestrowani w Earth Engine i zalogowani. Zaletą tego podejścia jest to, że żądania wysyłane do Earth Engine są realizowane za pomocą danych uwierzytelniających użytkownika, dzięki czemu rzadziej dochodzi do przekroczenia limitów użycia. Problem polega na tym, że użytkownicy muszą zarejestrować się w Earth Engine i zalogować się przed użyciem aplikacji.
Katalog demonstracji Earth Engine App Engine na GitHubie zawiera przydatne przykłady dotyczące App Engine. Krótki opis każdego przykładu znajdziesz na stronie Przykładowe aplikacje. Ten dokument zawiera instrukcje konfigurowania i wdrażania utworzonych przez Ciebie przykładowych aplikacji lub aplikacji niestandardowych.
Wdrażanie aplikacji App Engine za pomocą Earth Engine
Z tych instrukcji dowiesz się, jak wdrożyć aplikacje demonstracyjne. Instrukcje dotyczące Pythona są przeznaczone dla systemów Mac OS i Linux. Jeśli używasz Pythona w systemie Windows, spróbuj to.
Włączanie interfejsu Earth Engine API w projekcie Google Cloud
Utwórz lub wybierz projekt Google Cloud i włącz interfejs Earth Engine API zgodnie z tymi instrukcjami.
Konfigurowanie danych logowania
Konto usługi
Konto usługi może być używane do autoryzowania żądań do Earth Engine w imieniu osoby korzystającej z Twojej aplikacji. Plik config.py
zawiera kod uwierzytelniający za pomocą adresu e-mail konta usługi i pliku klucza prywatnego. Aby skonfigurować uwierzytelnianie za pomocą konta usługi, wykonaj te instrukcje, aby utworzyć konto usługi i plik klucza prywatnego. Nazwij plik klucza .private-key.json
i przenieś go do katalogu projektu.
Python
Jeśli jeszcze tego nie zrobisz, skonfiguruj interfejs Pythona Earth Engine. Przetestuj konto usługi zgodnie z tymi instrukcjami.
Jeśli test się powiedzie, zaktualizuj plik config.py
(lub odpowiedni plik w źródle kodu) adresem e-mail konta usługi. Ścieżka do pliku klucza nie powinna się zmienić, ponieważ znajduje się w katalogu projektu.
Node.js
Zainstaluj zależności projektu, wykonując polecenie npm install
. Interfejs API Node.js Earth Engine i inne zależności zostaną skopiowane do folderu ./node_modules
w katalogu projektu. Jeśli instalacja się nie powiedzie, sprawdź, czy masz zainstalowaną najnowszą wersję Node.js.
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize();
Identyfikator klienta OAuth 2.0
Jeśli chcesz, aby użytkownicy uwierzytelniani byli jako oni sami (a nie za pomocą konta usługi), musisz skonfigurować identyfikator klienta OAuth w swoim projekcie Cloud. W tym celu:
- Skonfiguruj identyfikator klienta zgodnie z tymi instrukcjami.
- Zaktualizuj plik
static/script.js
(lub odpowiedni plik w kodze źródłowym), aby używać identyfikatora klienta. - Upewnij się, że
ee_api_js.js
jest dostępny w katalogu/static/
(lub podobnym). Możesz go pobrać bezpośrednio z GitHuba, zainstalować z npm lub, jeśli masz już skopiowany cały repozytorium interfejsu EE API, skopiować go zearthengine-api/javascript/build
w lokalnym systemie plików.
Konfigurowanie lokalnego środowiska programistycznego
Python
Postępuj zgodnie z instrukcjami w każdym katalogu przykładów na GitHubie, aby pobrać i skompilować projekt. Jeśli istnieje plik build.sh
, uruchom go z folderu głównego aplikacji za pomocą polecenia:
./build.sh
Skrypt konfiguracyjny pobierze zależności i zainstaluje narzędzia wiersza poleceń Google, jeśli nie są one jeszcze dostępne w Twoim systemie. Interfejs API Earth Engine w Pythonie i jego zależności zostaną skopiowane do folderu ./lib
w katalogu projektu.
Aby sprawdzić, czy narzędzia wiersza poleceń App Engine są dostępne, uruchom:
dev_appserver.py
Jeśli nie znajdziesz tego polecenia, spróbuj ręcznie pobrać i zainstalować pakiet Google App Engine SDK dla języka Python. Jeśli polecenie jest dostępne, powinno się zakończyć niepowodzeniem z komunikatem „error: too few arguments” (błąd: za mało argumentów).
Node.js
Nie musisz niczego konfigurować.
Uruchom lokalnie
Gdy konto usługi zostanie zarejestrowane do uzyskiwania dostępu do Earth Engine, możesz go użyć do uwierzytelniania (patrz: config.py
) podczas testowania przykładów. Spróbuj najpierw przetestować przykłady lokalnie. Aby to zrobić, przejdź do katalogu projektu i uruchom:
Python
dev_appserver.py .
Node.js
npm install npm start
Otwórz w przeglądarce adres http://localhost:8080, aby wyświetlić aplikację działającą na serwerze lokalnym. Wszelkie zmiany, które wprowadzisz (i zapiszesz), zostaną automatycznie uwzględnione po odświeżeniu strony.