Pour passer de l'API Solar Google Earth Engine à l'API Solar Google Maps Platform :
- Activez l'API Solar Google Maps Platform dans votre projet Cloud.
- Créez une clé et limitez-la à l'API Solar GMP.
- Mettez à jour votre code en suivant les instructions détaillées ci-dessous.
Affichage comparatif
| API Solar (nouvelle version) |
API Solar Earth Engine (obsolète) |
|
|---|---|---|
| État du lancement | Lancé | Pilote (obsolète) |
| Accès | ||
| Mécanisme | Compte Google Cloud via la console Cloud, en activant l'API Solar et en la gérant dans la section Google Maps Platform | Compte Google Cloud via la console Cloud, en activant l'API Solar Earth Engine |
| Qui | Public | Accès contrôlé |
| Niveau | Auto-provisionné | Accès manuel au projet Cloud |
| Authentification | Clé API et OAuth | Clé API |
| Tarifs | ||
| Stratégie | Pay-as-you-go | Remise de 100 % |
| Définition de niveaux | Par 1 000 requêtes, avec des prix dégressifs en fonction du volume | – |
| Points de terminaison | Différents prix par point de terminaison | – |
| Cloud | ||
| Surveillance | Cloud Monitoring sous "Google Maps Platform" | Cloud Monitoring sous "API et services" |
| Quota | RPM (requête par minute) et RPH (requête par heure) | Annuel |
| Journalisation | Cloud Logging (facultatif) | Cloud Logging (facultatif) |
| Facturation | Compte de facturation Cloud | - |
| Assistance | Assistance complète Google Maps Platform avec SLO/SLA | Limitée, par e-mail |
| API | ||
| Nom d'hôte | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
| Méthodes |
|
|
| Réponse | Aucune modification par rapport au pilote | – |
solarInfo |
Rayon ≤ 100 m | Rayon ≤ 100 m |
| Couverture | ||
| Quartier | Monde | Monde |
| Qualité des données | HIGH/MEDIUM |
HIGH/MEDIUM |
| Type de bâtiment | Tout bâtiment associé à une adresse ET couvert par les images de l'API Solar | Tout bâtiment associé à une adresse ET couvert par les images de l'API Solar |
| Conditions d'utilisation | ||
| TOS | Conditions d'utilisation de Google Maps Platform | Conditions d'utilisation de Google Earth Engine |
Guide détaillé
Configurer votre projet Google Cloud
Instructions : Configurer votre projet Google Cloud project.
Seuls certains rôles peuvent créer un projet Cloud. Si vous ne pouvez pas en créer un, contactez l'administrateur de votre organisation.
Vous pouvez également utiliser un projet Cloud existant. Pour en savoir plus, consultez Premiers pas avec Google Maps Platform.
Configurer votre compte de facturation
Instructions : Gérer votre compte de facturation.
Vous pouvez utiliser un projet Cloud existant avec un compte de facturation existant.
Obtenir une clé API ou utiliser un jeton OAuth
Après avoir configuré votre projet Google Cloud, vous devez créer et sécuriser votre clé API pour utiliser l'API Solar, comme décrit dans Utiliser des clés API. Vous pouvez également créer un jeton OAuth comme décrit dans Utiliser OAuth.
Utiliser l'API Solar
- Envoyez des requêtes GET aux nouveaux points de terminaison : https://solar.googleapis.com.
- Notez que certains noms de méthodes d'API ont changé :
buildings:findClosest→buildingInsights:findClosestsolarinfo:get→dataLayers:get
Essai rapide : utilisez la clé API enregistrée à l'étape précédente et remplacez
YOUR_API_KEY dans l'exemple de requête ci-dessous avant de charger l'URL dans votre
navigateur :
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
Réponse pour la version Preview d'origine
Pour la version Preview d'origine du 9 mai 2023, les URL de la réponse se présentent comme suit :
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
L'extrait suivant est un exemple de réponse :
{ "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", ... ] }
Pour envoyer une requête à une URL dans la réponse, incluez l'URL complète dans la requête.
La spécification complète de cette requête et de cette réponse se trouve dans la documentation de référence.
Écrire une application compatible avec les deux formats de réponse
Vous pouvez désormais écrire une application qui gère à la fois la version Preview d'origine et les formats de réponse actuels.
La principale différence entre les deux réponses, outre l'URL elle-même, est que vous devez transmettre une clé API à une requête qui accède aux URL du nouveau format de réponse. Si vous omettez la clé API, la requête échoue.
Par exemple, vous pouvez ajouter le code suivant à votre application pour examiner l'URL et gérer correctement chaque version :
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; } }
Surveiller
| Niveau Projet |
Niveau du compte de facturation
|
|
|
Conseils utiles
- Quota : consommation pouvant être mise à l'échelle (plutôt qu'annuelle, qui disparaîtra)
- Quota actuel qui sera remplacé par le RPM
- Bonnes pratiques : définissez un quota côté client et envoyez des alertes
- Tarifs :
- Pay-as-you-go
- Les réponses 404 NOT_FOUND, lorsque l'établissement ne se trouve pas dans la zone de couverture, seront pas facturées, mais seront prises en compte dans le quota
- Conditions d'utilisation générales : Conditions d'utilisation de Google Maps Platform