Para migrar da API Google Earth Engine Solar para a Plataforma Google Maps API Solar:
- Ative a API Solar da Plataforma Google Maps no seu projeto na nuvem.
- Crie e restrinja uma chave à API GMP Solar.
- Atualize seu código usando a propriedade passo a passo instruções abaixo.
Comparação lado a lado
API Solar (novo) | API Earth Engine Solar (descontinuada) | |
---|---|---|
Status do lançamento | Lançado | Pilot (descontinuado) |
Acesso | ||
Mecanismo | conta do Google Cloud pelo console do Cloud, ativando a API Solar e gerenciando a API pela seção da Plataforma Google Maps | Conta do Google Cloud usando o console do Cloud, ativando a API Earth Engine Solar |
Quem | Público | Acesso controlado |
Nível | Autoprovisionado | Acesso manual ao projeto do Google Cloud |
Autenticação | Chave de API e OAuth | Chave de API |
Preços | ||
Estratégia | Pagamento por uso | 100% desconto |
Níveis | Por 1.000 consultas, com preço reduzido com base no volume | – |
Endpoints | Preços diferentes por endpoint | – |
Cloud | ||
Monitoramento | Cloud Monitoring em "Plataforma Google Maps" | Cloud Monitoring em "APIs e serviços" |
Cota | QPM (consulta por minuto) e QPH (consulta por hora) | Anual |
Logging | Cloud Logging (opcional) | Cloud Logging (opcional) |
Faturamento | Conta do Cloud Billing | - |
Suporte | Suporte completo da Plataforma Google Maps com SLO/SLA | Limitado, por e-mail |
API | ||
Nome do host | https://solar.googleapis.com/v1/ (REST) |
https://earthenginesolar.googleapis.com/v1/ (REST) |
Métodos |
|
|
Resposta | Nenhuma mudança em comparação com o piloto | – |
solarInfo |
Raio ≤ 100 m | Raio ≤ 100 m |
Cobertura | ||
Área | Global | Global |
Qualidade dos dados | HIGH /MEDIUM |
HIGH /MEDIUM |
Tipo de edifício | Qualquer construção mapeada para um endereço E na cobertura de imagens da API Solar | Qualquer construção mapeada para um endereço E na cobertura de imagens da API Solar |
Termos de Serviço | ||
TOS | Termos da Plataforma Google Maps | Termos do Google Earth Engine |
Passo a passo
Configurar seu projeto do Google Cloud
Instruções aqui: configurar sua conta do Google Cloud projeto.
Somente alguns papéis podem criar um projeto do Cloud; Se não conseguir criar um projeto, entre em contato com seu administrador da organização.
Também é possível usar um projeto atual do Cloud. Para saber mais, consulte Introdução com a Plataforma Google Maps.
Configurar sua conta de faturamento
Instruções aqui: como gerenciar seu faturamento Google Workspace.
É possível usar um projeto do Cloud com uma conta de faturamento atual.
Gerar uma chave de API ou usar o token OAuth
Depois de configurar o projeto do Google Cloud, crie e proteja a API Chave para usar a API Solar, conforme descrito em Usar API Chaves. Ou você pode criar um token OAuth conforme descrito em Usar OAuth.
Usar a API Solar
- Faça solicitações GET para os novos endpoints : https://solar.googleapis.com
- Observe que alguns nomes de métodos da API foram alterados:
buildings:findClosest
→buildingInsights:findClosest
solarinfo:get
→dataLayers:get
Teste rápido: use a chave de API salva da etapa anterior e substitua
YOUR_API_KEY
no exemplo de consulta abaixo, antes de carregar o URL no seu
navegador:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
Resposta da versão de pré-lançamento original
Para a versão de pré-lançamento original de 9 de maio de 2023, os URLs na resposta estão em o formulário:
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
O snippet abaixo é um exemplo de resposta:
{ "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 fazer uma solicitação a um URL na resposta, inclua o URL inteiro no campo solicitação.
A especificação completa desta solicitação e resposta está na referência Documentação.
Escrever um app com suporte para os dois formatos de resposta
Agora você pode criar um app que processe a prévia original e a atual e formatos de resposta.
A principal diferença entre as duas respostas, em vez do URL real, é que você precisa passar uma chave de API para uma solicitação que acessa os URLs de o novo formato de resposta. Se você omitir a chave de API, a solicitação falhará.
Por exemplo, você pode adicionar o seguinte código ao seu aplicativo para examinar o URL e processar cada versão corretamente:
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; } }
Monitoramento
Nível do projeto |
Nível da conta de faturamento
|
Dicas importantes
- Cota: consumo que pode aumentar (em vez de anual, que vai desaparecer)
- Atual cota que será alterado para QPM
- Práticas recomendadas: definir uma cota do lado do cliente e enviar alertas
- Preços:
- Pagamento por utilização
- 404 NOT_FOUND respostas, quando o local não estiver no intervalo de cobertura, será não será cobrado, mas será contabilizado na cota
- Termos de uso gerais: Termos de Serviço da Plataforma Google Maps