Zur Solar API auf der Google Maps Platform migrieren

Von der Google Earth Engine Solar API zur Google Maps Platform wechseln Solar API:

  1. Aktivieren Sie die Google Maps Platform Solar API in Ihrem Cloud-Projekt.
  2. Erstellen Sie einen neuen Schlüssel und beschränken Sie ihn auf die GMP Solar API.
  3. Aktualisieren Sie Ihren Code mithilfe der detaillierte Anleitung wie unten beschrieben.

Vergleich

Solar API (neu) Häuser mit Sonne Earth Engine Solar API (verworfen) EE-Symbol
Einführungsstatus Eingeführt Pilotprojekt (eingestellt)
Zugriff
Mechanismus Google Cloud-Konto über die Cloud Console, indem Sie die Solar API aktivieren und die API über den Bereich „Google Maps Platform“ verwalten Google Cloud-Konto über die Cloud Console, indem Sie die Earth Engine Solar API aktivieren
Wer Öffentlich Zugriffssteuerung
Level Selbst bereitgestellt Manueller Zugriff auf Cloud-Projekte
Authentifizierung API-Schlüssel und OAuth API-Schlüssel
Preise
Strategie Pay as you go 100% Rabatt
Staffelung Pro 1.000 Abfragen, wobei die Preise je nach Volumen sinken
Endpunkte Unterschiedliche Preise pro Endpunkt
Cloud
Monitoring Cloud Monitoring unter „Google Maps Platform“ Cloud Monitoring unter „APIs und Dienste“
Kontingent QPM (Abfrage pro Minute) und QPH (Abfrage pro Stunde) Jährlich
Logging Cloud Logging (optional) Cloud Logging (optional)
Abrechnung Cloud-Rechnungskonto -
Support Vollständiger 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
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
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 zugewiesen ist UND in der Bilderabdeckung der Solar API liegt Jedes Gebäude, das einer Adresse zugewiesen ist UND in der Bilderabdeckung der Solar API liegt
Nutzungsbedingungen
TOS Nutzungsbedingungen für die Google Maps Platform Nutzungsbedingungen für die Google Earth Engine

Detaillierte Anleitung

Google Cloud-Projekt einrichten

Anleitung: Google Cloud einrichten Projekt.

Nur bestimmte Rollen können Cloud-Projekt erstellen Sollten Sie kein Projekt erstellen können, den Administrator der Organisation.

Sie können auch ein vorhandenes Cloud-Projekt verwenden. Weitere Informationen finden Sie unter Erste Schritte mit der Google Maps Platform.

Rechnungskonto einrichten

Eine Anleitung finden Sie hier: Abrechnung verwalten. Konto.

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 Ihre API erstellen und sichern Schlüssel zur Verwendung der Solar API, wie unter API verwenden Schlüssel: Sie können auch ein OAuth-Token erstellen. enthalten, wie unter OAuth verwenden beschrieben.

Solar API verwenden

  • Stellen Sie GET-Anfragen an die neuen Endpunkte : https://solar.googleapis.com
  • Beachten Sie, dass sich einige API-Methodennamen geändert haben: <ph type="x-smartling-placeholder">
      </ph>
    • buildings:findClosest → buildingInsights:findClosest
    • solarinfo:get → dataLayers:get

Kurzer Test: Den gespeicherten API-Schlüssel aus dem vorherigen Schritt verwenden und ersetzen YOUR_API_KEY in der Beispielabfrage unten, bevor Sie die URL in der Browser:

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

Für die ursprüngliche Vorabversion vom 9. Mai 2023 befinden sich die URLs in der Antwort in das Formular:

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 in der Antwort eine Anfrage an eine URL stellen möchten, geben Sie die gesamte URL in das Feld

Die vollständige Spezifikation dieser Anfrage und Antwort finden Sie in der Referenz Dokumentation.

Eine App schreiben, die beide Antwortformate unterstützt

Sie können jetzt eine App schreiben, die sowohl die ursprüngliche Vorschau als auch die aktuelle Antwortformate.

Der Hauptunterschied zwischen den beiden Antworten (mit Ausnahme der URL selbst) Sie müssen einen API-Schlüssel an eine Anfrage übergeben, die auf die URLs aus das neue Antwortformat verwenden. Wenn Sie den API-Schlüssel weglassen, schlägt die Anfrage fehl.

Sie können beispielsweise den folgenden Code zu Ihrer App hinzufügen, um die URL und wie Sie jede Version richtig 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

Cloud Monitoring Cloud Billing

Wissenswertes

  • Kontingent: skalierbarer Verbrauch (anstatt jährlich, was dann nicht mehr verfügbar ist) <ph type="x-smartling-placeholder">
      </ph>
    • Aktuell Kontingent und wird in QPM geändert.
    • Best Practices: clientseitiges Kontingent festlegen und Benachrichtigungen senden
  • Preise: <ph type="x-smartling-placeholder">
      </ph>
    • Pay as you go
    • 404 NOT_FOUND reagiert, wenn der Standort außerhalb des Abdeckungsbereichs liegt, nicht in Rechnung gestellt, aber auf das Kontingent angerechnet,
  • Allgemeine Nutzungsbedingungen: Nutzungsbedingungen für die Google Maps Platform