Method: forecast.lookup

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

object (LatLng)

Obrigatório. A longitude e a latitude a partir das quais a API pesquisa os dados de previsão de pólen.

days

integer

Obrigatório. Um número que indica quantos dias de previsão devem ser solicitados (valor mínimo 1, valor máximo é 5).

pageSize

integer

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

string

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

string

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

boolean

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 (DayInfo)
    }
  ],
  "nextPageToken": string
}
Campos
regionCode

string

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[]

object (DayInfo)

Obrigatório. Esse objeto contém as informações de previsão diárias para cada dia solicitado.

nextPageToken

string

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

number

A latitude em graus. Precisa estar no intervalo [-90,0, +90,0].

longitude

number

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 (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Campos
date

object (Date)

A data em UTC na qual os dados de previsão de pólen são representados.

pollenTypeInfo[]

object (PollenTypeInfo)

Essa lista incluirá até três tipos de pólen (GRASS, WEED, TREE) que afetam o local especificado na solicitação.

plantInfo[]

object (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:

Representação JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano.

month

integer

Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia.

day

integer

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 (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Campos
code

enum (PollenType)

Nome do código do tipo de pólen. Por exemplo: "GRASS"

displayName

string

Uma representação legível do nome do tipo de pólen. Exemplo: "Prada"

indexInfo

object (IndexInfo)

Contém os dados do Índice universal de pólen (UPI) para o tipo de pólen.

healthRecommendations[]

string

Lista textual de explicações, relacionadas a insights de saúde com base nos níveis atuais de pólen.

inSeason

boolean

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 (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Campos
code

enum (Index)

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

string

Uma representação legível do nome do índice. Exemplo: "Índice universal de pólen".

category

string

Classificação de texto da interpretação da pontuação numérica do índice. O índice consiste em seis categorias:

  • 0: "Nenhum"
  • 1: "Muito baixo"
  • 2: "Baixo"
  • 3: "Moderado"
  • 4: "Alta"
  • 5: "Muito alto
indexDescription

string

Explicação textual do nível de índice atual.

color

object (Color)

A cor usada para representar a pontuação numérica do índice de pólen.

value

integer

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

number

A quantidade de vermelho na cor como um valor no intervalo [0, 1].

green

number

A quantidade de verde na cor como um valor no intervalo [0, 1].

blue

number

A quantidade de azul na cor como um valor no intervalo [0, 1].

alpha

number

A fração desta cor que deve ser aplicada ao pixel. Ou seja, a cor final do pixel é definida pela equação:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

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 (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Campos
code

enum (Plant)

O nome do código da planta. Por exemplo: "COTTONWOOD". Uma lista de todos os códigos disponíveis pode ser encontrada aqui.

displayName

string

Uma representação legível do nome da planta. Exemplo: "Chupa".

indexInfo

object (IndexInfo)

Esse objeto contém dados que representam o valor, a categoria e a descrição específicos do índice de pólen.

plantDescription

object (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

boolean

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 (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Campos
type

enum (PollenType)

O tipo de pólen da planta. Por exemplo: "GRASS". Uma lista de todos os códigos disponíveis pode ser encontrada aqui.

family

string

Uma representação legível do nome da família das plantas. Exemplo: "Betulaceae (família da bétula)".

season

string

Lista textual de explicações das estações em que o pólen está ativo. Exemplo: "Fim do inverno, primavera".

specialColors

string

Descrição textual das cores de folhas, cascas, flores ou sementes que ajudam a identificar a planta.

specialShapes

string

Descrição textual das formas de folhas, cascas, flores ou sementes que ajudam a identificar a planta.

crossReaction

string

Descrição textual de plantas de reação cruzada com pólen. Exemplo: pólen de almieiro, aveleira, carpino, faia, salgueiro e carvalho.

picture

string

Link para a imagem da planta.

pictureCloseup

string

Link para uma imagem aproximada da planta.