Para migrar da API Solar do Google Earth Engine para a API Solar da Plataforma Google Maps:
- Ative a API Solar da Plataforma Google Maps no seu projeto de nuvem.
- Crie uma nova chave e restrinja-a à API GMP Solar.
- Atualize seu código usando as instruções detalhadas abaixo.
Comparação lado a lado
API Solar (nova) | API Solar do Earth Engine (descontinuada) | |
---|---|---|
Status do lançamento | Lançado | Piloto (descontinuado) |
Acesso | ||
Mecanismo | conta do Google Cloud pelo console do Cloud, ativando a API Solar e gerenciando a API na seção da Plataforma Google Maps; | conta do Google Cloud pelo console do Cloud, ativando a API Solar do Earth Engine |
Quem | Público | Controle de acesso |
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% de desconto |
Divisão em níveis | Por 1.000 consultas, com preços decrescentes com base no volume | – |
Endpoints | Preços diferentes por endpoint | – |
Cloud | ||
Monitoramento | Monitoramento na nuvem em "Plataforma Google Maps" | Cloud Monitoring em "APIs e serviços" |
Cota | QPM (consultas por minuto) e QPH (consultas 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 | Limitada, 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 relação ao piloto | – |
solarInfo |
Raio de ≤100 m | Raio de ≤100 m |
Cobertura | ||
Área | Global | Global |
Qualidade dos dados | HIGH /MEDIUM |
HIGH /MEDIUM |
Tipo de edifício | Qualquer edifício mapeado para um endereço E dentro da cobertura de imagens da API Solar | Qualquer edifício mapeado para um endereço E dentro da 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 seu projeto do Google Cloud.
Somente determinados papéis podem criar um projeto do Cloud. Se você não conseguir criar um projeto, entre em contato com o administrador da sua organização.
Também é possível usar um projeto do Cloud. Saiba mais em Primeiros passos com a Plataforma Google Maps.
Configurar a conta de faturamento
Confira as instruções: Como gerenciar sua conta de faturamento.
É possível usar um projeto do Cloud com uma conta de faturamento.
Receber uma chave de API ou usar o token OAuth
Depois de configurar o projeto do Google Cloud, crie e proteja a chave de API para usar a API Solar, conforme descrito em Usar chaves de API. Ou crie 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
- Alguns nomes de método 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
na consulta de exemplo abaixo antes de carregar o URL no
navegador:
https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.2746464&location.longitude=-121.7530949&radius_meters=10&key=YOUR_API_KEY
Resposta para a versão de pré-lançamento original
Para a versão de visualização original em 9 de maio de 2023, os URLs na resposta estão no formato:
https://earthengine.googleapis.com/v1alpha/projects/sunroof-api/thumbnails/THUMBNAIL_ID:getPixels
O snippet a seguir é 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 na solicitação.
A especificação completa dessa solicitação e resposta está na documentação de referência.
Criar um app compatível com os dois formatos de resposta
Agora você pode escrever um app que processa os formatos de resposta originais e atual.
A principal diferença entre as duas respostas, além do próprio URL, é que você precisa transmitir uma chave de API para uma solicitação que acesse os URLs do formato de resposta novo. Se você omitir a chave de API, a solicitação vai falhar.
Por exemplo, adicione o código abaixo ao app 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 úteis
- Concessão: consumo que pode ser escalonado (em vez de anual, que vai desaparecer)
- Cota atual, que será alterada para QPM
- Práticas recomendadas: definir a cota do lado do cliente e enviar alertas
- Preços:
- Pagamento por utilização
- As respostas 404 NOT_FOUND, quando o local não está no intervalo de cobertura, não serão faturadas, mas serão contabilizadas na cota.
- Termos de uso gerais: Termos de Serviço da Plataforma Google Maps