Method: forecast.lookup

Muestra hasta 5 días de información diaria sobre los niveles de polen en más de 65 países, con una resolución de hasta 1 km.

Solicitud HTTP

GET https://pollen.googleapis.com/v1/forecast:lookup

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de consulta

Parámetros
location

object (LatLng)

Obligatorio. La longitud y la latitud de las que la API busca datos de previsión de polen

days

integer

Obligatorio. Es un número que indica cuántos días de previsión se deben solicitar (el valor mínimo es 1 y el máximo es 5).

pageSize

integer

Opcional. La cantidad máxima de registros de información diarios que se mostrarán por página. El valor predeterminado y máximo es 5, lo que indica 5 días de datos.

pageToken

string

Opcional. Un token de página recibido de una llamada diaria anterior. Se usa para recuperar la página siguiente.

Ten en cuenta que cuando proporcionas un valor para el token de la página, todos los demás parámetros de solicitud proporcionados deben coincidir con la llamada anterior que proporcionó el token de la página.

languageCode

string

Opcional. Permite que el cliente elija el idioma de la respuesta. Si no se pueden proporcionar datos para ese idioma, la API usa la coincidencia más cercana. Los valores permitidos se basan en el estándar IETF BCP-47. El valor predeterminado es "en".

plantsDescription

boolean

Opcional. Contiene información general sobre las plantas, incluidos detalles sobre su estacionalidad, formas y colores especiales, información sobre reacciones alérgicas cruzadas y fotos de las plantas. El valor predeterminado es "true".

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
Campos
regionCode

string

El código ISO_3166-1 alpha-2 del país o la región correspondiente a la ubicación proporcionada en la solicitud. Este campo puede omitirse en la respuesta si la ubicación proporcionada en la solicitud se encuentra en un territorio en disputa.

dailyInfo[]

object (DayInfo)

Obligatorio. Este objeto contiene la información del pronóstico diario para cada día solicitado.

nextPageToken

string

Opcional. El token para recuperar la página siguiente.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta la descripción general de OAuth 2.0.

LatLng

Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de dobles para representar la latitud en grados y la longitud en grados. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.

Representación JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0].

longitude

number

La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0].

DayInfo

Este objeto contiene la información del pronóstico diario para cada día solicitado.

Representación JSON
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Campos
date

object (Date)

Es la fecha en UTC en la que se representan los datos de previsión de polen.

pollenTypeInfo[]

object (PollenTypeInfo)

Esta lista incluirá hasta tres tipos de polen (GRASS, WEED y TREE) que afectarán la ubicación especificada en la solicitud.

plantInfo[]

object (PlantInfo)

Esta lista incluirá hasta 15 especies de polen que afecten la ubicación especificada en la solicitud.

Fecha

Representa una fecha de calendario completa o parcial, como un cumpleaños. La hora del día y la zona horaria se especifican en otro lugar o son insignificantes. La fecha está relacionada con el calendario gregoriano. Puede representar una de las siguientes opciones:

  • Una fecha completa con valores para el año, mes y día que no sean cero.
  • Un mes y un día, con cero año (por ejemplo, un aniversario).
  • Un año por sí solo, con un mes cero y un día cero.
  • Es un año y un mes, con un día cero (por ejemplo, la fecha de vencimiento de una tarjeta de crédito).

Tipos relacionados:

Representación JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Año de la fecha. Debe ser entre 1 y 9,999, o bien 0 para especificar una fecha sin año.

month

integer

Mes del año. Debe ser del 1 al 12 o 0 para especificar un año sin un mes ni un día.

day

integer

Día del mes. Debe ser entre 1 y 31 y ser válido para el año y el mes o bien 0 para especificar un año solo o un año y un mes en los que el día no sea significativo.

PollenTypeInfo

Este objeto contiene el índice de tipos de polen y la información de recomendaciones de salud sobre un tipo específico de polen.

Representación JSON
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Campos
code

enum (PollenType)

El nombre interno del tipo de polen. Por ejemplo: "GRASS"

displayName

string

Una representación legible por humanos del nombre del tipo de polen. Ejemplo: "Pasto".

indexInfo

object (IndexInfo)

Contiene los datos del Índice Universal de Polen (IUP) del tipo de polen.

healthRecommendations[]

string

Lista textual de explicaciones, relacionadas con estadísticas de salud basadas en los niveles actuales de polen.

inSeason

boolean

Indicación de si la planta está en temporada o no.

PollenType

Código de tipo de polen

Enumeraciones
POLLEN_TYPE_UNSPECIFIED Tipo de planta no especificado.
GRASS Tipo de polen de césped.
TREE Tipo de polen de los árboles.
WEED Tipo de polen de las malezas.

IndexInfo

Este objeto contiene datos que representan el valor, la categoría y la descripción específicos del índice de polen.

Representación JSON
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Campos
code

enum (Index)

El código del índice. Este campo representa el índice para fines de programación mediante el uso de Snake Case en lugar de espacios. Ejemplo: “UPI”.

displayName

string

Una representación legible del nombre del índice. Ejemplo: "Índice universal de polen".

category

string

Es la clasificación de texto de la interpretación de la puntuación numérica del índice. El índice consta de seis categorías:

  • 0: “Ninguno”
  • 1: "Muy bajo"
  • 2: "Bajo"
  • 3: "Moderado"
  • 4: "Alta"
  • 5: "Muy alto
indexDescription

string

Explicación textual del nivel actual del índice.

color

object (Color)

Es el color que se usa para representar la puntuación numérica del Índice de polen.

value

integer

La puntuación numérica del índice. El rango numérico está entre 0 y 5.

Índice

Código de índice

Enumeraciones
INDEX_UNSPECIFIED Índice sin especificar.
UPI Índice universal de polen.

Color

Representa un color en el espacio de color RGBA. Esta representación está diseñada para simplificar la conversión hacia y desde representaciones de color en varios idiomas por sobre la compactación. Por ejemplo, los campos de esta representación se pueden proporcionar trivialmente al constructor de java.awt.Color en Java. también se puede proporcionar trivialmente al método +colorWithRed:green:blue:alpha de UIColor en iOS. y, con solo un poco de trabajo, se puede formatear fácilmente en una cadena CSS rgba() en JavaScript.

Esta página de referencia no tiene información sobre el espacio de color absoluto que se debe usar para interpretar el valor RGB (por ejemplo, sRGB, Adobe RGB, DCI-P3 y BT.2020). De forma predeterminada, las aplicaciones deben asumir el espacio de color sRGB.

Cuando se debe decidir la igualdad de color, las implementaciones, a menos que se documente lo contrario, tratan dos colores como iguales si todos sus valores rojo, verde, azul y alfa difieren, como máximo, en 1e-5.

Ejemplo (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();
 }
 // ...

Ejemplo (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;
}
// ...

Ejemplo (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('');
};

// ...
Representación JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

La cantidad de rojo en el color como un valor en el intervalo [0, 1].

green

number

La cantidad de verde en el color como un valor en el intervalo [0, 1].

blue

number

La cantidad de azul en el color como un valor en el intervalo [0, 1].

alpha

number

La fracción de este color que se debe aplicar al píxel. Es decir, el color del píxel final se define mediante la siguiente ecuación:

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

Esto significa que el valor 1.0 corresponde a un color sólido, mientras que el valor 0.0 corresponde a un color completamente transparente. Esto utiliza un mensaje de wrapper en lugar de un escalar flotante simple, para que sea posible distinguir entre un valor predeterminado y el valor que no se configura. Si se omite, este objeto de color se representa como un color sólido (como si al valor alfa se le hubiera dado explícitamente un valor de 1.0).

PlantInfo

Este objeto contiene la información diaria sobre una planta específica.

Representación JSON
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Campos
code

enum (Plant)

Es el nombre interno de la planta. Por ejemplo: “COTTONWOOD”. Aquí puede encontrar una lista de todos los códigos disponibles.

displayName

string

Es una representación legible del nombre de la planta. Ejemplo: "Cottonwood".

indexInfo

object (IndexInfo)

Este objeto contiene datos que representan el valor, la categoría y la descripción específicos del índice de polen.

plantDescription

object (PlantDescription)

Contiene información general sobre las plantas, incluidos detalles sobre su estacionalidad, formas y colores especiales, información sobre reacciones alérgicas cruzadas y fotos de las plantas.

inSeason

boolean

Indica si la planta está en temporada o no.

Planta

Muestra una lista de plantas disponibles con una disponibilidad variable en las distintas ubicaciones.

Enumeraciones
PLANT_UNSPECIFIED Código de plantas no especificado.
ALDER El aliso se clasifica como un tipo de polen de árbol.
ASH La ceniza se clasifica como un tipo de polen de árbol.
BIRCH El abedul se clasifica como un tipo de polen de árbol.
COTTONWOOD El algodón se clasifica como un tipo de polen de árbol.
ELM El olmo se clasifica como un tipo de polen de árbol.
MAPLE El arce se clasifica como un tipo de polen de árbol.
OLIVE El olivo se clasifica como un tipo de polen de árbol.
JUNIPER El enebro se clasifica como un tipo de polen de árbol.
OAK El roble se clasifica como un tipo de polen de árbol.
PINE El pino se clasifica como un tipo de polen de árbol.
CYPRESS_PINE El pino ciprés se clasifica como un tipo de polen de árbol.
HAZEL El avellano se clasifica como un tipo de polen de árbol.
GRAMINALES Graminales se clasifica como un tipo de polen de pasto.
RAGWEED La ambrosía se clasifica como un tipo de polen de malezas.
MUGWORT La artemisa se clasifica como un tipo de polen de maleza.

PlantDescription

Contiene información general sobre las plantas, incluidos detalles sobre su estacionalidad, formas y colores especiales, información sobre reacciones alérgicas cruzadas y fotos de las plantas.

Representación JSON
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Campos
type

enum (PollenType)

El tipo de polen de la planta. Por ejemplo: “GRASS”. Aquí puede encontrar una lista de todos los códigos disponibles.

family

string

Representación legible por humanos del nombre de la familia de plantas. Ejemplo: "Betuláceas (familia del abedul)".

season

string

Lista textual de explicaciones de las estaciones en las que hay actividad de polen. Ejemplo: “Finales del invierno, primavera”.

specialColors

string

Descripción textual de las plantas colores de hojas, corteza, flores o semillas que ayudan a identificar la planta.

specialShapes

string

Descripción textual de las plantas formas de hojas, corteza, flores o semillas que ayudan a identificar la planta.

crossReaction

string

Descripción textual de las plantas de reacción cruzada de polen. Ejemplo: Polen de aliso, avellano, carpe, haya, sauce y roble.

picture

string

Vínculo a la foto de la planta.

pictureCloseup

string

Vínculo a una foto en primer plano de la planta.