Method: forecast.lookup

Devuelve hasta 5 días de información diaria sobre el 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 desde las que la API busca datos sobre el pronóstico del polen.

days

integer

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

pageSize

integer

Opcional. La cantidad máxima de registros de información diaria que se muestran por página. El valor predeterminado y máximo es 5 (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 se proporciona 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.

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 alfa-2 del país o la región que corresponde a la ubicación proporcionada en la solicitud. Este campo podría omitirse de 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 de previsión diaria para cada día solicitado.

nextPageToken

string

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

Permisos 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 de previsión diaria 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 del pronóstico del polen.

pollenTypeInfo[]

object (PollenTypeInfo)

Esta lista incluirá (hasta) tres tipos de polen (hierba, maleza y árbol) que afectan 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 no son significativas. La fecha está relacionada con el calendario gregoriano. Esto puede representar una de las siguientes opciones:

  • Una fecha completa con valores de año, mes y día que no sean cero
  • Es un mes y un día con un año cero (por ejemplo, un aniversario).
  • Un año 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 encontrarse entre 1 y 9999, o bien entre 0 para especificar una fecha sin año.

month

integer

Mes del año Debe encontrarse entre 1 y 12, o bien 0 para especificar un año sin mes ni día.

day

integer

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

PollenTypeInfo

Este objeto contiene el índice del tipo de polen y la información de recomendaciones sanitarias 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)

Es el nombre interno del tipo de polen. Por ejemplo: “GRASS”.

displayName

string

Una representación legible del tipo de polen. Ejemplo: "Grasa".

indexInfo

object (IndexInfo)

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

healthRecommendations[]

string

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

inSeason

boolean

Indicar si la planta está en temporada o no.

PollenType

Código de tipo de polen

Enumeradores
POLLEN_TYPE_UNSPECIFIED Tipo de planta no especificado.
GRASS Tipo de polen de hierba.
TREE Tipo de polen de árbol.
WEED Tipo de polen de maleza.

IndexInfo

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

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 utilizando 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

Clasificación de texto de la interpretación de puntuaciones numéricas de índices 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)

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

Enumeradores
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 desde y hacia representaciones de color en varios lenguajes sobre la compactación. Por ejemplo, los campos de esta representación se pueden proporcionar de manera trivial al constructor de java.awt.Color en Java; también se pueden proporcionar de manera trivial al método +colorWithRed:green:blue:alpha de UIColor en iOS y, con un poco de trabajo, se puede formatear fácilmente en una cadena rgba() de CSS 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 adoptar 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 de rojo, verde, azul y alfa difieren en un 1e-5 como máximo.

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 asignado 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í encontrará una lista de todos los códigos disponibles.

displayName

string

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 del índice de polen específico.

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

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

Planta

Muestra una lista de las plantas disponibles con una disponibilidad variable según la ubicación.

Enumeradores
PLANT_UNSPECIFIED Código de planta 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 algodonero 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 es un tipo de polen de árbol clasificado.
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 de ciprés se clasifica como un tipo de polen de árbol.
HAZEL El avellano se clasifica como un tipo de polen de árbol.
GRAMINALES Los graminas se clasifican como un tipo de polen de hierba.
RAGWEED La ambrosía se clasifica como un tipo de polen de maleza.
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)

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

family

string

Una representación legible del nombre de la familia de plantas. Ejemplo: "Betuláceas (la familia del abedul)".

season

string

Lista textual de explicaciones de las estaciones en las que el polen está activo. Ejemplo: "Finales del invierno, primavera".

specialColors

string

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

specialShapes

string

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

crossReaction

string

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

picture

string

Enlace a la foto de la planta.

pictureCloseup

string

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