So wechseln Sie von der Google Earth Engine Solar API zur Google Maps Platform Solar API:
- die Google Maps Platform Solar API in Ihrem Cloud-Projekt aktivieren.
- Erstellen Sie einen neuen Schlüssel und beschränken Sie ihn auf die GMP Solar API.
- Aktualisieren Sie Ihren Code anhand der Schritt-für-Schritt-Anleitung unten.
Vergleich
Solar API (neu) | Earth Engine Solar API (eingestellt) | |
---|---|---|
Status der Aktivierung | Eingeführt | Pilotprojekt (eingestellt) |
Zugriff | ||
Mechanismus | Google Cloud-Konto über die Cloud Console, indem Sie die Solar API aktivieren und die API im Bereich „Google Maps Platform“ verwalten | Google Cloud-Konto über die Cloud Console, indem die Earth Engine Solar API aktiviert wird |
Wer | Öffentlich | Zugriffssteuerung |
Ebene | Selbst bereitgestellt | Manueller Zugriff auf Cloud-Projekte |
Authentifizierung | API-Schlüssel und OAuth | API-Schlüssel |
Preise | ||
Strategie | Pay-as-you-go | 100% Rabatt |
Gestaffelt | Pro 1.000 Abfragen, 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 | Abfragen pro Minute (Abfragen pro Minute) und pro Stunde (Abfragen pro Stunde) | Jährlich |
Logging | Cloud Logging (optional) | Cloud Logging (optional) |
Abrechnung | Cloud-Rechnungskonto | - |
Support | Vollständiger Support für die Google Maps Platform 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 |
≤ 100 m Radius | ≤ 100 m Radius |
Abdeckung | ||
Standort | Global | Global |
Datenqualität | HIGH /MEDIUM |
HIGH /MEDIUM |
Gebäudetyp | Jedes Gebäude, das einer Adresse UND innerhalb der Solar API-Bildabdeckung zugeordnet ist | Jedes Gebäude, das einer Adresse UND innerhalb der Solar API-Bildabdeckung zugeordnet ist |
Nutzungsbedingungen | ||
TOS | Nutzungsbedingungen für die Google Maps Platform | Nutzungsbedingungen der Google Earth Engine |
Detaillierte Anleitung
Google Cloud-Projekt einrichten
Anleitung: Google Cloud-Projekt einrichten
Cloud-Projekte können nur mit bestimmten Rollen erstellt werden. 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
Anleitung: Rechnungskonto verwalten
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 Ihren API-Schlüssel für die Verwendung der Solar API erstellen und sichern, wie unter API-Schlüssel verwenden beschrieben. Alternativ können Sie ein OAuth-Token erstellen, wie unter OAuth verwenden beschrieben.
Solar API verwenden
- GET-Anfragen an die neuen Endpunkte senden : https://solar.googleapis.com
- Einige API-Methodennamen haben sich geändert:
buildings:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers:get
Schneller Testzeitraum: Verwenden Sie den gespeicherten API-Schlüssel aus dem vorherigen Schritt und ersetzen Sie YOUR_API_KEY
in der folgenden Beispielabfrage, bevor Sie die URL in Ihren 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 die ursprüngliche Vorabversion
Bei der ursprünglichen Vorschauversion 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 eine Beispielantwort:
{ "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 stellen möchten, fügen Sie die gesamte URL in die Anfrage ein.
Die vollständige Spezifikation dieser Anfrage und der Antwort finden Sie in der Referenzdokumentation.
Schreibe eine App, die beide Antwortformate unterstützt
Sie können jetzt eine Anwendung schreiben, die sowohl die ursprüngliche Vorschau als auch die aktuellen Antwortformate verarbeitet.
Der Hauptunterschied zwischen den beiden Antworten besteht darin, dass Sie einen API-Schlüssel an eine Anfrage übergeben müssen, die auf die URLs aus dem new-Antwortformat zugreift. Wenn Sie den API-Schlüssel weglassen, schlägt die Anfrage fehl.
Sie können Ihrer Anwendung beispielsweise den folgenden Code hinzufügen, um die URL zu prüfen und jede Version korrekt 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
|
Wissenswertes
- Kontingent: Verbrauch, der skaliert werden kann (anstatt einem jährlichen Verbrauch, der verschwindet)
- Aktuelles Kontingent, das zu Abfragen pro Minute geändert wird
- Best Practices: Clientseitiges Kontingent festlegen und Benachrichtigungen senden
- Preise:
- Pay-as-you-go
- „404 NOT_FOUND“-Antworten, wenn der Standort nicht im Abdeckungsbereich liegt, werden nicht in Rechnung gestellt, aber auf das Kontingent angerechnet
- Allgemeine Nutzungsbedingungen: Nutzungsbedingungen für die Google Maps Platform