Migra a la API de Solar en Google Maps Platform

Para pasar de la API de Google Earth Engine Solar a Google Maps Platform API de Solar:

  1. Habilita la API de Google Maps Platform Solar en tu proyecto en la nube.
  2. Crea una clave nueva y restríngela a la API de GMP Solar.
  3. Actualiza tu código con el paso a paso a continuación.

Comparación en paralelo

API de Solar (nuevo) Casas con sol API de Earth Engine Solar (obsoleta) Ícono de EE
Estado del lanzamiento Lanzado Pilot (obsoleto)
Acceso
Mecanismo Cuenta de Google Cloud a través de la consola de Cloud habilitando la API de Solar y administrándola en la sección Google Maps Platform Cuenta de Google Cloud a través de la consola de Cloud habilitando la API de Earth Engine Solar
Quién Público Acceso controlado
Nivel Autoaprovisionamiento Acceso manual al proyecto de Cloud
Autenticación Clave de API y OAuth Clave de API
Precios
Estrategia Pago por uso 100% descuento
Establecimiento de niveles Cada 1,000 consultas, con precios decrecientes según el volumen
Extremos Precios diferentes por extremo
Cloud
Supervisión Cloud Monitoring en "Google Maps Platform" Cloud Monitoring en “APIs y servicios”
Cuota QPM (consulta por minuto) y QPH (consulta por hora) Anual
Logging Cloud Logging (opcional) Cloud Logging (opcional)
Facturación Cuenta de Facturación de Cloud -
Asistencia Compatibilidad total con Google Maps Platform con SLO/ANS Limitada, por correo electrónico
API
Nombre de host https://solar.googleapis.com/v1/ (REST) https://earthenginesolar.googleapis.com/v1/ (REST)
Métodos
  • buildingInsights:findClosest
  • dataLayers:get
  • buildings:findClosest
  • solar.get
Respuesta Sin cambios en comparación con la versión piloto
solarInfo Radio de ≤100 m Radio de ≤100 m
Cobertura
Área Global Global
Calidad de los datos HIGH/MEDIUM HIGH/MEDIUM
Tipo de edificio Cualquier edificio que esté asignado a una dirección Y dentro de la cobertura de imágenes de la API de Solar Cualquier edificio que esté asignado a una dirección Y dentro de la cobertura de imágenes de la API de Solar
Condiciones del Servicio
TOS Condiciones de Google Maps Platform Condiciones de Google Earth Engine

Paso a paso

Configura el proyecto de Google Cloud

Sigue estas instrucciones: Configura tu cuenta de Google Cloud proyecto.

Solo algunos roles pueden crear un proyecto de Cloud; Si no puedes crear un proyecto, comunícate con tu administrador de una organización.

También puedes usar un proyecto de Cloud existente. Para obtener más información, consulta Cómo comenzar. con Google Maps Platform.

Configura tu cuenta de facturación

Sigue estas instrucciones: Cómo administrar tu facturación Cuenta.

Puedes usar un proyecto de Cloud existente con una cuenta de facturación existente.

Obtén una clave de API o usa un token de OAuth

Después de configurar tu proyecto de Google Cloud, debes crear y proteger tu API Clave para usar la API de Solar como se describe en Cómo usar la API Claves También puedes crear un token de OAuth como se describe en Usa OAuth.

Usa la API de Solar

  • Realiza solicitudes GET a los extremos nuevos : https://solar.googleapis.com
  • Ten en cuenta que algunos nombres de métodos de API cambiaron:
    • buildings:findClosestbuildingInsights:findClosest
    • solarinfo:getdataLayers:get

Prueba rápida: Usa la clave de API guardada del paso anterior y reemplázala. YOUR_API_KEY en la consulta de ejemplo que aparece a continuación, antes de cargar la URL en tu navegador:

https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY

Respuesta para la versión preliminar original

Para la versión preliminar original del 9 de mayo de 2023, las URLs de la respuesta están en el formulario:

https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels

El siguiente fragmento es un ejemplo de respuesta:

{
  "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",
    ...
  ]
  }

Para realizar una solicitud a una URL en la respuesta, incluye la URL completa en el para cada solicitud.

La especificación completa de esta solicitud y respuesta se encuentra en la referencia documentación.

Escribe una app que admita ambos formatos de respuesta

Ahora puedes escribir una app que controle tanto la vista previa original como la actual de respuesta ante incidentes.

La principal diferencia entre las dos respuestas, además de la URL real, es que debes pasar una clave de API a una solicitud que acceda a las URLs desde el formato de respuesta new Si omites la clave de API, la solicitud falla.

Por ejemplo, puedes agregar el siguiente código a tu app para examinar la URL y manejar cada versión correctamente:

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;
  }
}

Supervisar

Nivel de proyecto Nivel de la cuenta de facturación

Cloud Monitoring Facturación de Cloud

Sugerencias útiles

  • Cuota: consumo que puede escalar (en lugar de anual, que desaparecerá)
    • Actual cuota que se cambiará a QPM
    • Prácticas recomendadas: Establece la cuota del cliente y envía alertas
  • Precios:
    • Pago por uso
    • Las respuestas 404 NOT_FOUND, cuando la ubicación no se encuentra dentro del rango de cobertura, no se facturará, pero se descontará de la cuota
  • Condiciones generales de uso: Condiciones del Servicio de Google Maps Platform