So wechseln Sie von der Google Earth Engine Solar API zur Google Maps Platform Solar API:
- Aktivieren Sie die Google Maps Platform Solar API in Ihrem Cloud-Projekt.
- Erstellen Sie einen neuen Schlüssel und schränken Sie ihn auf die GMP Solar API ein.
- Aktualisieren Sie Ihren Code anhand der Schritt-für-Schritt-Anleitung unten.
Vergleich
Solar API (neu) |
Earth Engine Solar API (eingestellt) |
|
---|---|---|
Einführungsstatus | Eingeführt | Pilot (eingestellt) |
Zugriff | ||
Mechanismus | Google Cloud-Konto über die Cloud Console, indem Sie die Solar API aktivieren und die API über den Google Maps Platform-Bereich verwalten | Google Cloud-Konto über die Cloud Console durch Aktivieren der Earth Engine Solar API |
Wer | Öffentlich | Zugriffsbeschränkt |
Level | Selbst bereitgestellt | Manueller Zugriff auf Cloud-Projekt |
Authentifizierung | API-Schlüssel und OAuth | API-Schlüssel |
Preise | ||
Strategie | Pay as you go | 100 % Rabatt |
Staffelung | Pro 1.000 Anfragen, mit sinkenden Preisen je nach Volumen | – |
Endpunkte | Unterschiedliche Preise pro Endpunkt | – |
Cloud | ||
Monitoring | Cloud Monitoring unter „Google Maps Platform“ | Cloud Monitoring unter „APIs und Dienste“ |
Kontingent | QPM (Query per Minute, Abfrage pro Minute) und QPH (Query per Hour, Abfrage pro Stunde) | Jährlich |
Logging | Cloud Logging (optional) | Cloud Logging (optional) |
Abrechnung | Cloud-Rechnungskonto | - |
Support | Umfassender Google Maps Platform-Support mit SLO/SLA | Eingeschränkt, per E-Mail |
API | ||
Hostname | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
Methoden |
|
|
Antwort | Keine Änderungen im Vergleich zum Pilotprojekt | – |
solarInfo |
Radius von ≤ 100 m | Radius von ≤ 100 m |
Abdeckung | ||
Gebiet | Global | Global |
Datenqualität | HIGH /MEDIUM |
HIGH /MEDIUM |
Gebäudetyp | Jedes Gebäude, das einer Adresse zugeordnet ist UND sich innerhalb der Bildabdeckung der Solar API befindet | Jedes Gebäude, das einer Adresse zugeordnet ist UND sich innerhalb der Bildabdeckung der Solar API befindet |
Nutzungsbedingungen | ||
Nutzungsbedingungen | Google Maps Platform-Nutzungsbedingungen | Google Earth Engine-Bedingungen |
Detaillierte Anleitung
Google Cloud-Projekt einrichten
Eine Anleitung dazu finden Sie unter Google Cloud-Projekt einrichten.
Nur bestimmte Rollen können ein Cloud-Projekt erstellen. Wenn Sie kein Projekt erstellen können, wenden Sie sich an den Administrator Ihrer Organisation.
Sie können auch ein vorhandenes Cloud-Projekt verwenden. Weitere Informationen finden Sie unter Erste Schritte mit der Google Maps Platform.
Rechnungskonto einrichten
Weitere Informationen zum Verwalten Ihres Abrechnungskontos
Sie können ein vorhandenes Cloud-Projekt mit einem vorhandenen Rechnungskonto verwenden.
API-Schlüssel abrufen oder OAuth-Token verwenden
Nachdem Sie Ihr Google Cloud-Projekt eingerichtet haben, müssen Sie einen API-Schlüssel erstellen und sichern, um die Solar API zu verwenden. Eine Anleitung dazu finden Sie unter API-Schlüssel verwenden. Alternativ können Sie ein OAuth-Token erstellen, wie unter OAuth verwenden beschrieben.
Solar API verwenden
- Senden Sie GET-Anfragen an die neuen Endpunkte : https://solar.googleapis.com.
- Einige API-Methodennamen haben sich geändert:
buildings:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers:get
Schnelltest: Verwenden Sie den gespeicherten API-Schlüssel aus dem vorherigen Schritt und ersetzen Sie YOUR_API_KEY
in der Beispielanfrage unten, bevor Sie die URL in Ihrem Browser laden:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
Antwort für den ursprünglichen Vorschaurelease
In der ursprünglichen Preview-Version vom 9. Mai 2023 haben die URLs in der Antwort das folgende Format:
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
Das folgende Snippet ist ein Beispiel für eine Antwort:
{ "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", ... ] }
Wenn Sie eine Anfrage an eine URL in der Antwort senden möchten, geben Sie die gesamte URL in der Anfrage an.
Die vollständige Spezifikation dieser Anfrage und Antwort finden Sie in der Referenzdokumentation.
App schreiben, die beide Antwortformate unterstützt
Sie können jetzt eine App schreiben, die sowohl das ursprüngliche Vorschau- als auch das aktuelle Antwortformat verarbeitet.
Der Hauptunterschied zwischen den beiden Antworten besteht darin, dass Sie für eine Anfrage, die auf die URLs aus dem neuen Antwortformat zugreift, zwingend einen API-Schlüssel übergeben müssen. Wenn Sie den API-Schlüssel weglassen, schlägt die Anfrage fehl.
Sie können Ihrer App beispielsweise den folgenden Code hinzufügen, um die URL zu untersuchen und jede Version richtig zu verarbeiten:
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; } }
Überwachen
Projektebene |
Rechnungskontoebene
|
|
|
Wichtige Hinweise
- Kontingent: Nutzung, die skaliert werden kann (im Gegensatz zu jährlich, was verschwindet)
- Aktuelles Kontingent, das in QPM geändert wird
- Best Practices: Clientseitiges Kontingent festlegen und Benachrichtigungen senden
- Preise:
- Pay as you go
- 404 NOT_FOUND-Antworten, wenn sich der Standort nicht im Abdeckungsbereich befindet, werden nicht in Rechnung gestellt, aber auf das Kontingent angerechnet.
- Allgemeine Nutzungsbedingungen: Nutzungsbedingungen für die Google Maps Platform