- Solicitação HTTP
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- LatLng
- DayInfo
- Date
- PollenTypeInfo
- PollenType
- IndexInfo
- Índice
- Color
- PlantInfo
- Planta
- PlantDescription
- Faça um teste
Retorna até 5 dias de informações diárias sobre pólen em mais de 65 países, até 1 km de resolução.
Solicitação HTTP
GET https://pollen.googleapis.com/v1/forecast:lookup
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de consulta
Parâmetros | |
---|---|
location |
Obrigatório. A longitude e a latitude a partir das quais a API pesquisa os dados de previsão de pólen. |
days |
Obrigatório. Um número que indica quantos dias de previsão devem ser solicitados (valor mínimo 1, valor máximo é 5). |
pageSize |
Opcional. O número máximo de registros de informações diários a serem retornados por página. O valor padrão e máximo é 5, indicando 5 dias de dados. |
pageToken |
Opcional. Um token de página recebido de uma chamada diária anterior. Ele é usado para recuperar a página subsequente. Observe que, ao fornecer um valor para o token da página, todos os outros parâmetros de solicitação fornecidos devem corresponder à chamada anterior que forneceu o token da página. |
languageCode |
Opcional. Permite que o cliente escolha o idioma da resposta. Se os dados não puderem ser fornecidos para esse idioma, a API usará a correspondência mais próxima. Os valores permitidos dependem do padrão IETF BCP-47. O valor padrão é "en". |
plantsDescription |
Opcional. Contém informações gerais sobre plantas, incluindo detalhes sobre sua sazonalidade, formas e cores especiais, informações sobre reações cruzadas alérgicas e fotos de plantas. O valor padrão é "true". |
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Corpo da resposta
Se bem-sucedido, o corpo da resposta exibirá os dados com a seguinte estrutura:
Representação JSON |
---|
{
"regionCode": string,
"dailyInfo": [
{
object ( |
Campos | |
---|---|
regionCode |
O código ISO_3166-1 alfa-2 do país/região correspondente ao local fornecido na solicitação. Esse campo pode ser omitido da resposta se o local indicado na solicitação residir em um território disputado. |
dailyInfo[] |
Obrigatório. Esse objeto contém as informações de previsão diárias para cada dia solicitado. |
nextPageToken |
Opcional. O token para recuperar a próxima página. |
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/cloud-platform
Para mais informações, consulte a Visão geral do OAuth 2.0.
LatLng
Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. Salvo indicação em contrário, esse objeto precisa estar em conformidade com o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.
Representação JSON |
---|
{ "latitude": number, "longitude": number } |
Campos | |
---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
DayInfo
Esse objeto contém as informações de previsão diárias para cada dia solicitado.
Representação JSON |
---|
{ "date": { object ( |
Campos | |
---|---|
date |
A data em UTC na qual os dados de previsão de pólen são representados. |
pollenTypeInfo[] |
Essa lista incluirá até três tipos de pólen (GRASS, WEED, TREE) que afetam o local especificado na solicitação. |
plantInfo[] |
Essa lista incluirá até 15 espécies de pólen que afetam o local especificado na solicitação. |
Data
Representa uma data inteira ou parcial do calendário, como um aniversário. A hora do dia e o fuso horário são especificados em outro lugar ou são insignificantes. A data é referente ao calendário gregoriano. Isso pode representar uma das seguintes opções:
- uma data completa, com valores de ano, mês e dia diferentes de zero;
- um mês e dia, com um ano zero (por exemplo, uma data comemorativa);
- um ano sozinho, com um mês zero e um dia zero;
- um ano e mês, com um dia zero (por exemplo, uma data de validade de cartão de crédito).
Tipos relacionados:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
Representação JSON |
---|
{ "year": integer, "month": integer, "day": integer } |
Campos | |
---|---|
year |
Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano. |
month |
Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia. |
day |
Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês, ou 0 para especificar um ano sozinho ou um ano e mês em que o dia não é significativo. |
PollenTypeInfo
Esse objeto contém o índice de tipo de pólen e as informações de recomendação de saúde sobre um tipo específico de pólen.
Representação JSON |
---|
{ "code": enum ( |
Campos | |
---|---|
code |
Nome do código do tipo de pólen. Por exemplo: "GRASS" |
displayName |
Uma representação legível do nome do tipo de pólen. Exemplo: "Prada" |
indexInfo |
Contém os dados do Índice universal de pólen (UPI) para o tipo de pólen. |
healthRecommendations[] |
Lista textual de explicações, relacionadas a insights de saúde com base nos níveis atuais de pólen. |
inSeason |
Indicação se a planta está ou não na estação. |
PollenType
Código do tipo de pólen
Enums | |
---|---|
POLLEN_TYPE_UNSPECIFIED |
Tipo de planta não especificado. |
GRASS |
Tipo de pólen de grama. |
TREE |
Tipo de pólen de árvore. |
WEED |
Tipo de pólen de ervas daninhas. |
IndexInfo
Esse objeto contém dados que representam o valor, a categoria e a descrição específicos do índice de pólen.
Representação JSON |
---|
{ "code": enum ( |
Campos | |
---|---|
code |
O código do índice. Esse campo representa o índice para fins de programação usando casos snake em vez de espaços. Exemplo: "UPI". |
displayName |
Uma representação legível do nome do índice. Exemplo: "Índice universal de pólen". |
category |
Classificação de texto da interpretação da pontuação numérica do índice. O índice consiste em seis categorias:
|
indexDescription |
Explicação textual do nível de índice atual. |
color |
A cor usada para representar a pontuação numérica do índice de pólen. |
value |
A pontuação numérica do índice. O intervalo numérico está entre 0 e 5. |
Índice
Código do índice
Enums | |
---|---|
INDEX_UNSPECIFIED |
Índice não especificado. |
UPI |
Índice Universal de pólen. |
Cor
Representa uma cor no espaço de cores RGBA. Essa representação foi projetada para simplificar a conversão de e para representações de cores em vários idiomas em vez de compactação. Por exemplo, os campos dessa representação podem ser fornecidos de modo trivial ao construtor de java.awt.Color
em Java. também pode ser fornecido trivialmente ao método +colorWithRed:green:blue:alpha
do UIColor no iOS. e, com um pouco de trabalho, ele pode ser facilmente formatado em uma string CSS rgba()
em JavaScript.
Esta página de referência não tem informações sobre o espaço de cor absoluto que deve ser usado para interpretar o valor RGB, por exemplo, sRGB, Adobe RGB, DCI-P3 e BT.2020. Por padrão, os aplicativos devem usar o espaço de cores sRGB.
Quando a igualdade de cores precisa ser decidida, as implementações, a menos que documentadas de outra forma, tratem duas cores como iguais se todos os valores de vermelho, verde, azul e alfa forem diferentes em no máximo 1e-5
.
Exemplo (Java):
import com.google.type.Color;
// ...
public static java.awt.Color fromProto(Color protocolor) {
float alpha = protocolor.hasAlpha()
? protocolor.getAlpha().getValue()
: 1.0;
return new java.awt.Color(
protocolor.getRed(),
protocolor.getGreen(),
protocolor.getBlue(),
alpha);
}
public static Color toProto(java.awt.Color color) {
float red = (float) color.getRed();
float green = (float) color.getGreen();
float blue = (float) color.getBlue();
float denominator = 255.0;
Color.Builder resultBuilder =
Color
.newBuilder()
.setRed(red / denominator)
.setGreen(green / denominator)
.setBlue(blue / denominator);
int alpha = color.getAlpha();
if (alpha != 255) {
result.setAlpha(
FloatValue
.newBuilder()
.setValue(((float) alpha) / denominator)
.build());
}
return resultBuilder.build();
}
// ...
Exemplo (iOS/Obj-C):
// ...
static UIColor* fromProto(Color* protocolor) {
float red = [protocolor red];
float green = [protocolor green];
float blue = [protocolor blue];
FloatValue* alpha_wrapper = [protocolor alpha];
float alpha = 1.0;
if (alpha_wrapper != nil) {
alpha = [alpha_wrapper value];
}
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
}
static Color* toProto(UIColor* color) {
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
return nil;
}
Color* result = [[Color alloc] init];
[result setRed:red];
[result setGreen:green];
[result setBlue:blue];
if (alpha <= 0.9999) {
[result setAlpha:floatWrapperWithValue(alpha)];
}
[result autorelease];
return result;
}
// ...
Exemplo (JavaScript):
// ...
var protoToCssColor = function(rgb_color) {
var redFrac = rgb_color.red || 0.0;
var greenFrac = rgb_color.green || 0.0;
var blueFrac = rgb_color.blue || 0.0;
var red = Math.floor(redFrac * 255);
var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255);
if (!('alpha' in rgb_color)) {
return rgbToCssColor(red, green, blue);
}
var alphaFrac = rgb_color.alpha.value || 0.0;
var rgbParams = [red, green, blue].join(',');
return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};
var rgbToCssColor = function(red, green, blue) {
var rgbNumber = new Number((red << 16) | (green << 8) | blue);
var hexString = rgbNumber.toString(16);
var missingZeros = 6 - hexString.length;
var resultBuilder = ['#'];
for (var i = 0; i < missingZeros; i++) {
resultBuilder.push('0');
}
resultBuilder.push(hexString);
return resultBuilder.join('');
};
// ...
Representação JSON |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
Campos | |
---|---|
red |
A quantidade de vermelho na cor como um valor no intervalo [0, 1]. |
green |
A quantidade de verde na cor como um valor no intervalo [0, 1]. |
blue |
A quantidade de azul na cor como um valor no intervalo [0, 1]. |
alpha |
A fração desta cor que deve ser aplicada ao pixel. Ou seja, a cor final do pixel é definida pela equação:
Isto significa que um valor de 1,0 corresponde a uma cor sólida, enquanto um valor de 0,0 corresponde a uma cor completamente transparente. Esse recurso usa uma mensagem de wrapper, em vez de um escalar flutuante simples, para que seja possível distinguir entre um valor padrão e o valor que está sendo desativado. Se omitido, esse objeto de cor é renderizado como uma cor sólida (como se o valor alfa tivesse recebido explicitamente o valor 1,0). |
PlantInfo
Este objeto contém as informações diárias sobre uma planta específica.
Representação JSON |
---|
{ "code": enum ( |
Campos | |
---|---|
code |
O nome do código da planta. Por exemplo: "COTTONWOOD". Uma lista de todos os códigos disponíveis pode ser encontrada aqui. |
displayName |
Uma representação legível do nome da planta. Exemplo: "Chupa". |
indexInfo |
Esse objeto contém dados que representam o valor, a categoria e a descrição específicos do índice de pólen. |
plantDescription |
Contém informações gerais sobre plantas, incluindo detalhes sobre sua sazonalidade, formas e cores especiais, informações sobre reações cruzadas alérgicas e fotos de plantas. |
inSeason |
Indicação de que a planta está na estação ou não. |
Planta
Lista as plantas disponíveis com disponibilidade variável nos locais.
Enums | |
---|---|
PLANT_UNSPECIFIED |
Código de planta não especificado. |
ALDER |
O almieiro é classificado como um tipo de pólen de árvore. |
ASH |
O freixo é classificado como o tipo de pólen de árvore. |
BIRCH |
A bétula é classificada como um tipo de pólen de árvore. |
COTTONWOOD |
O choupo é classificado como um tipo de pólen de árvore. |
ELM |
O olmo é classificado como um tipo de pólen de árvore. |
MAPLE |
O bordo é classificado como um tipo de pólen de árvore. |
OLIVE |
A azeite é classificado como um tipo de pólen de árvore. |
JUNIPER |
O zimbro é classificado como um tipo de pólen de árvore. |
OAK |
O carvalho é classificado como um tipo de pólen de árvore. |
PINE |
O pinheiro é classificado como um tipo de pólen de árvore. |
CYPRESS_PINE |
O pinheiro-cipreste é classificado como um tipo de pólen de árvore. |
HAZEL |
A aveleira é classificada como um tipo de pólen de árvore. |
GRAMINALES |
As gramas são classificadas como um tipo de pólen de grama. |
RAGWEED |
A ambrósia é classificada como um tipo de pólen de ervas daninhas. |
MUGWORT |
A artemísia é classificada como um tipo de pólen de ervas daninhas. |
PlantDescription
Contém informações gerais sobre plantas, incluindo detalhes sobre sua sazonalidade, formas e cores especiais, informações sobre reações cruzadas alérgicas e fotos de plantas.
Representação JSON |
---|
{
"type": enum ( |
Campos | |
---|---|
type |
O tipo de pólen da planta. Por exemplo: "GRASS". Uma lista de todos os códigos disponíveis pode ser encontrada aqui. |
family |
Uma representação legível do nome da família das plantas. Exemplo: "Betulaceae (família da bétula)". |
season |
Lista textual de explicações das estações em que o pólen está ativo. Exemplo: "Fim do inverno, primavera". |
specialColors |
Descrição textual das cores de folhas, cascas, flores ou sementes que ajudam a identificar a planta. |
specialShapes |
Descrição textual das formas de folhas, cascas, flores ou sementes que ajudam a identificar a planta. |
crossReaction |
Descrição textual de plantas de reação cruzada com pólen. Exemplo: pólen de almieiro, aveleira, carpino, faia, salgueiro e carvalho. |
picture |
Link para a imagem da planta. |
pictureCloseup |
Link para uma imagem aproximada da planta. |