Для перехода с Google Earth Engine Solar API на Google Maps Platform Solar API:
- Включите API Google Maps Platform Solar в своем облачном проекте.
- Создайте новый ключ и ограничьте его использование только API GMP Solar.
- Обновите свой код, следуя пошаговым инструкциям ниже.
Сравнение бок о бок
| Solar API (новый) | API Earth Engine Solar (устаревший) | |
|---|---|---|
| Статус запуска | Запущен | Пилот (устаревший) | Доступ |
| Механизм | Для этого необходимо активировать Solar API и управлять им через раздел Google Maps Platform в учетной записи Google Cloud. | Для этого необходимо активировать API Earth Engine Solar через учетную запись Google Cloud в консоли Cloud. |
| ВОЗ | Общественный | Доступ контролируемый |
| Уровень | Самостоятельное обеспечение | Доступ к руководству по облачным проектам |
| Аутентификация | Ключ API и OAut | Ключ API | Цены |
| Стратегия | Оплата по факту использования | 100% скидка |
| Многоуровневое ранжирование | Цена указана за 1000 запросов, при этом стоимость снижается в зависимости от объема. | – |
| Конечные точки | Разные цены за каждое отдельное устройство. | – | Облако |
| Мониторинг | Мониторинг облачных сервисов в рамках платформы Google Maps. | Мониторинг облачных сервисов в разделе «API и сервисы» |
| Квота | QPM (запросов в минуту) и QPH (запросов в час) | Ежегодный |
| Ведение журнала | Ведение облачного логирования (необязательно) | Ведение облачного логирования (необязательно) |
| Выставление счетов | Учетная запись облачной оплаты | - |
| Поддерживать | Полная поддержка платформы Google Maps с соглашениями об уровне обслуживания (SLO/SLA). | Ограниченная возможность связи по электронной почте. | API |
| Имя хоста | https://solar.googleapis.com/v1/ (REST) | https://earthenginesolar.googleapis.com/v1/ (REST) |
| Методы |
|
|
| Ответ | Изменений по сравнению с пилотной версией нет. | – |
solarInfo | радиус ≤100 м | радиус ≤100 м | Покрытие |
| Область | Глобальный | Глобальный |
| Качество данных | HIGH / MEDIUM | HIGH / MEDIUM |
| Тип здания | Любое здание, привязанное к адресу И находящееся в зоне покрытия изображений Solar API. | Любое здание, привязанное к адресу И находящееся в зоне покрытия изображений Solar API. | Условия предоставления услуг |
| Условия использования | Условия использования платформы Google Maps | термины Google Earth Engine |
Шаг за шагом
Настройте свой проект в Google Cloud.
Инструкции здесь: Настройка проекта Google Cloud .
Создавать облачные проекты могут только определенные роли ; если вы не можете создать проект, обратитесь к администратору вашей организации.
Вы также можете использовать существующий облачный проект. Для получения дополнительной информации см. раздел «Начало работы с Google Maps Platform» .
Настройте свой платежный аккаунт
Инструкции здесь: Как управлять своим платежным аккаунтом .
Вы можете использовать существующий облачный проект с существующим платежным аккаунтом.
Получите ключ API или используйте токен OAuth.
После настройки проекта Google Cloud необходимо создать и защитить свой API-ключ для использования Solar API, как описано в разделе «Использование API-ключей» . Или же вы можете создать токен OAuth, как описано в разделе «Использование OAuth» .
Используйте API Solar
- Отправляйте GET-запросы к новым конечным точкам: https://solar.googleapis.com
- Обратите внимание, что названия некоторых методов API изменились:
-
buildings:findClosest→buildingInsights:findClosest -
solarinfo:get→dataLayers:get
-
Быстрая пробная версия : используйте сохраненный ключ API из предыдущего шага и замените YOUR_API_KEY в приведенном ниже примере запроса, прежде чем загружать URL-адрес в браузере:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
Ответ на первоначальную предварительную версию
Для первоначальной предварительной версии от 9 мая 2023 года URL-адреса в ответе имеют следующий вид:
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
Ниже приведён пример ответа:
{ "imageryDate": { "year": 2015, "month": 8, "day": 8 }, "imageryProcessedDate": { "year": 2021, "month": 2, "day": 15 }, "dsmUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/fbde33e9cd16d5fd10d19a19dc580bc1-8614f599c5c264553f821cd034d5cf32:getPixels", "rgbUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/91ed3551f2d0abee20af35e07bd0c927-c96c59e80cf1fc1dc86cf59fc8ec86ba:getPixels", "maskUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/e4051553dba6870c03d855ae82c30b7e-7cc8ae6ce7c73f219e3c1924e5c17fc6:getPixels", "annualFluxUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/9b0f87f49d778a65c9e27ff936e6dbba-b90be2fe80d25abd4c9e8c4dc809f763:getPixels", "monthlyFluxUrl": "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/90e7cca77402f14809e349937f0a0be8-94fafeb4ef42d72f1b3c0652a1cb5518:getPixels", "hourlyShadeUrls": [ "https://earthengine.googleapis.com/v1alpha/projects/geo-solar-api/thumbnails/dcd276e4782aef4ff1b230b781736d37-e193b231ce57a03449afc3e21cf6783b:getPixels", ... ] }
Чтобы отправить запрос на URL-адрес, в ответе необходимо указать полный URL-адрес.
Полное описание этого запроса и ответа содержится в справочной документации .
Напишите приложение, поддерживающее оба формата ответа.
Теперь вы можете написать приложение, которое обрабатывает как исходный, так и текущий форматы ответа.
Основное различие между двумя вариантами ответа, помимо самого URL-адреса, заключается в том, что в запросе, обращающемся к URL-адресам из нового формата ответа, необходимо передать ключ API. Если ключ API не указан, запрос завершится неудачей.
Например, вы можете добавить в свое приложение следующий код, чтобы проверить URL-адрес и корректно обработать каждую версию:
JavaScript
/** * Function to examine a response URL and to append the API key to the * URL if it is in the new format. */ function prepareGetGeoTiffUrl(geoTiffUrl, apiKey) { if (geoTiffUrl.match("solar.googleapis.com")) { let url = new URL(geoTiffUrl); url.searchParams.set('apiKey', apiKey); return url.toString(); } return geoTiffUrl; }
Python
# Functions to examine a response URL and to append the API key to the # URL if it is in the new format. def add_api_key_to_url(base_url: str, api_key: str) -> str: '''Formats URL that currently lacks an API key to use the one provided.''' return base_url + "&key=" +api_key; def prepare_geo_tiff_url(base_url: str, api_key: str) -> str: '''Prepares URL from GetDataLayers depending on API being called. If the geoTIFF url from GetDataLayers is for the solar API GetGeoTiff endpoint, append the API key. Otherwise return the URL as is. ''' if re.search("solar.googleapis.com", geo_tiff_url): return add_api_key_to_url(geo_tiff_url, api_key) return geo_tiff_url
Java
/** Adds API key to a URL. */ private String addApiKeyToUrl(String geoTiffUrl, String apiKey) { return geoTiffUrl + "&key=" + apiKey; } /** * Function to examine a response URL and to append the API key to the * URL if it is in the new format. */ private String prepareGetGeoTiffUrl(String geoTiffUrl, String apiKey) { Pattern pattern = Pattern.compile("solar.googleapis.com"); Matcher matcher = pattern.matcher(geoTiffUrl); if (matcher.find()) { return addApiKeyToUrl(geoTiffUrl, apiKey); } else { return geoTiffUrl; } }
Монитор
| Уровень проекта | Уровень платежного аккаунта |
![]() | ![]() |
Полезные советы
- Квота: потребление, которое можно масштабировать (в отличие от годового, которое исчезнет).
- Текущая квота , которая будет изменена на QPM (квоту на месяц).
- Рекомендации: установите квоту на стороне клиента и отправляйте оповещения.
- Цены:
- Оплата по факту использования
- Ответы с кодом 404 NOT_FOUND, если местоположение находится вне зоны покрытия, не будут оплачиваться, но будут учитываться в рамках квоты.
- Общие условия использования: Условия предоставления услуг платформы Google Maps

