Вставить приложение Google Earth Engine на веб-страницу

Есть ли более простой способ встроить приложение Google Earth Engine (javascript) в веб-страницу, не следуя мучительному пути, представленному демонстрационные приложения Google EE?

Среда Earth Engine Code позволяет быстро и быстро разрабатывать базовое приложение GEE. Однако на то, чтобы встроить приложение GEE в веб-страницу, у меня уйдет в 10 раз больше времени, чем на приложение GEE.

Все демонстрационные приложения, похоже, требуют (а) использования Google App Engine, (б) перекодирования приложение GEE на Python, (c) использование механизма шаблонов jinja2 для связывания кода Python с веб-страницей, и (d) все еще оставшийся javascript.

Например, в демонстрации Trendy Lights серверный скрипт server.py App Engine начинает работу и это быстро усложняется. (Даже самые простые демонстрации идут по этому пути.)

Когда пользователь впервые загружает приложение в своем браузере, его запрос направляется в функцию get () в классе MainHandler используемой нами структурой, webapp2.

Функция get () отправляет обратно главную веб-страницу (из index.html) вместе с информацией, необходимой браузеру для визуализации карты Earth Engine, и идентификаторами многоугольников для отображения на карте. Эта информация вводится в шаблон index.html через механизм создания шаблонов под названием Jinja2, который помещает информацию из контекста Python в HTML-код для ее получения браузером пользователя.


person Biofloat    schedule 05.03.2016    source источник
comment
Просто комментируете, чтобы узнать, нашли ли вы решение этой проблемы?   -  person NateH06    schedule 05.07.2017
comment
Кто-нибудь уже успешно запустил свое реальное приложение Earth Engine с Apps Engine? Сколько на самом деле усилий? Может у кого-то есть пример ссылки?   -  person Joooeey    schedule 28.04.2018
comment
На момент публикации в App Engine было несколько демонстраций, на которые вы можете посмотреть, например, демонстрация Trendy Lights, гиперссылка на которую есть в исходной публикации.   -  person Biofloat    schedule 29.04.2018


Ответы (1)


Причина сложности в авторизации. Вызовы Earth Engine должны быть авторизованы для чьей-либо учетной записи Earth Engine. Это должен быть конечный пользователь (см. https://github.com/google/earthengine-api/tree/master/demos/client-auth, но это работает, только если у конечного пользователя есть учетная запись Earth Engine) или учетные данные приложения. Если учетные данные приложения просто застряли в javascript, то любой может украсть эти учетные данные и использовать их для любых целей. Поэтому мы рекомендуем использовать маршрут appengine server-auth (https://github.com/google/earthengine-api/tree/master/demos/server-auth), чтобы ваши учетные данные были в безопасности.

person Noel Gorelick    schedule 05.12.2017
comment
Есть ли причина, по которой модель учетных данных Google Maps не используется? Пример: мы встраиваем свои учетные данные в запрос API Карт в наш Javascript (на виду), но, по-видимому, его нельзя тривиально использовать, потому что мы также настроили ограничения доступа так, что любой из этих запросов должен исходить из нашего домена. - person JDischler; 11.12.2018
comment
Разница в том, насколько дорого стоит запрос; запрос API карт не может быть слишком дорогим, вы просто запрашиваете плитку и не получаете доступа, например: диск, GCS и т. д. Для EE один запрос может выполнять произвольно сложный объем анализа и может в конечном итоге получить доступ и даже изменить ресурсы в ряде других услуг, некоторые из которых могут быть измерены / оплачены. Когда это может произойти, запросы должны содержать полные учетные данные OAuth. С учетом всего сказанного, ознакомьтесь с новой функцией приложений earthengine, которая была запущена несколько месяцев назад. EE создаст для вас приложение одним нажатием кнопки. - person Noel Gorelick; 13.12.2018
comment
Ссылка больше недоступна. - person pnz; 03.01.2020