Method: forecast.lookup

Restituisce fino a 5 giorni di informazioni giornaliere sul polline in più di 65 paesi, con una risoluzione fino a 1 km.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri di ricerca

Parametri
location

object (LatLng)

Obbligatorio. La longitudine e la latitudine da cui l'API cerca i dati di previsione relativi al polline.

days

integer

Obbligatorio. Un numero che indica il numero di giorni di previsione da richiedere (valore minimo 1, valore massimo 5).

pageSize

integer

Campo facoltativo. Il numero massimo di record di informazioni giornalieri da restituire per pagina. Il valore predefinito e massimo è 5 (5 giorni di dati).

pageToken

string

Campo facoltativo. Un token di pagina ricevuto da una precedente chiamata giornaliera. Viene utilizzato per recuperare la pagina successiva.

Tieni presente che, quando fornisci un valore per il token di pagina, tutti gli altri parametri di richiesta forniti devono corrispondere alla chiamata precedente che ha fornito il token di pagina.

languageCode

string

Campo facoltativo. Consente al client di scegliere la lingua per la risposta. Se non è possibile fornire dati per quella lingua, l'API utilizza la corrispondenza più vicina. I valori consentiti si basano sullo standard IETF BCP-47. Il valore predefinito è "en".

plantsDescription

boolean

Campo facoltativo. Contiene informazioni generali sulle piante, tra cui dettagli sulla loro stagionalità, forme e colori speciali, informazioni sulle reazioni crociate allergiche e foto delle piante.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
Campi
regionCode

string

Il codice ISO_3166-1 alpha-2 del paese o della regione corrispondente alla località fornita nella richiesta. Questo campo potrebbe essere omesso dalla risposta se la località fornita nella richiesta si trova in un territorio conteso.

dailyInfo[]

object (DayInfo)

Obbligatorio. Questo oggetto contiene le informazioni di previsione giornaliere per ogni giorno richiesto.

nextPageToken

string

Campo facoltativo. Il token per recuperare la pagina successiva.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per ulteriori informazioni, consulta la Panoramica di OAuth 2.0.

LatLng

Un oggetto che rappresenta una coppia di latitudine/longitudine. Questo valore viene espresso come una coppia di doppi per rappresentare i gradi di latitudine e i gradi di longitudine. Se non diversamente specificato, questo oggetto deve essere conforme allo standard WGS84. I valori devono essere compresi in intervalli normalizzati.

Rappresentazione JSON
{
  "latitude": number,
  "longitude": number
}
Campi
latitude

number

Latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0].

longitude

number

Longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0].

DayInfo

Questo oggetto contiene le informazioni di previsione giornaliere per ogni giorno richiesto.

Rappresentazione JSON
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Campi
date

object (Date)

La data in UTC in cui sono rappresentati i dati di previsione del polline.

pollenTypeInfo[]

object (PollenTypeInfo)

Questo elenco includerà (fino a) tre tipi di polline (erba, erbe infestanti, alberi) che interessano la località specificata nella richiesta.

plantInfo[]

object (PlantInfo)

Questo elenco includerà (fino a) 15 specie di polline che interessano la località specificata nella richiesta.

Data

Rappresenta una data di calendario intera o parziale, ad esempio un compleanno. L'ora del giorno e il fuso orario sono specificati altrove o non sono significativi. La data è relativa al calendario gregoriano. Può rappresentare uno dei seguenti valori:

  • Una data completa, con valori di anno, mese e giorno diversi da zero.
  • Un mese e un giorno, con un anno zero (ad esempio, un anniversario).
  • Un anno per sé, con un mese e un giorno zero.
  • Un anno e un mese, con un giorno zero (ad esempio, la data di scadenza di una carta di credito).

Tipi correlati:

Rappresentazione JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campi
year

integer

Anno della data. Il valore deve essere compreso tra 1 e 9999 oppure 0 per specificare una data senza anno.

month

integer

Mese dell'anno. Deve essere compreso tra 1 e 12 oppure 0 per specificare un anno senza giorno e mese.

day

integer

Giorno del mese. Deve essere compreso tra 1 e 31 ed essere valido per l'anno e il mese oppure 0 per specificare un anno da solo o un anno e un mese in cui il giorno non è significativo.

PollenTypeInfo

Questo oggetto contiene l'indice del tipo di polline e le informazioni sui consigli per la salute relativi a un tipo specifico di polline.

Rappresentazione JSON
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Campi
code

enum (PollenType)

Il nome in codice del tipo di polline. Ad esempio: "GRASS"

displayName

string

Una rappresentazione leggibile del nome del tipo di polline. Esempio: "Erba"

indexInfo

object (IndexInfo)

Contiene i dati dell'indice universale di polline (UPI) per il tipo di polline.

healthRecommendations[]

string

Elenco testuale di spiegazioni, correlate alle informazioni sullo stato di salute in base agli attuali livelli di polline.

inSeason

boolean

Indica se la pianta è in stagione o meno.

PollenType

Codice tipo di polline

Enum
POLLEN_TYPE_UNSPECIFIED Tipo di pianta non specificato.
GRASS Tipo di polline di erba.
TREE Tipo di polline degli alberi.
WEED Tipo di polline di erbe infestanti.

IndexInfo

Questo oggetto contiene dati che rappresentano una categoria, una descrizione e un valore specifico dell'indice di polline.

Rappresentazione JSON
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Campi
code

enum (Index)

Il codice dell'indice. Questo campo rappresenta l'indice a fini di programmazione utilizzando custodie snake anziché spazi. Esempio: "UPI".

displayName

string

Una rappresentazione leggibile del nome dell'indice. Esempio: "Indice di polline universale".

category

string

Classificazione testuale dell'interpretazione del punteggio numerico dell'indice. L'indice è costituito da sei categorie:

  • 0: "Nessuno"
  • 1: "Molto basso"
  • 2: "Bassa"
  • 3: "Moderato"
  • 4: "Alta"
  • 5: "Molto alto
indexDescription

string

Spiegazione testuale del livello di indice corrente.

color

object (Color)

Il colore utilizzato per rappresentare il punteggio numerico dell'indice di polline.

value

integer

Il punteggio numerico dell'indice. L'intervallo numerico è compreso tra 0 e 5.

Indice

Codice indice

Enum
INDEX_UNSPECIFIED Indice non specificato.
UPI Indice di polline universale.

Colore

Rappresenta un colore nello spazio colore RGBA. Questa rappresentazione è stata concepita per semplificare la conversione da e verso rappresentazioni cromatiche in vari linguaggi rispetto alla compattezza. Ad esempio, i campi di questa rappresentazione possono essere banalimente forniti al costruttore di java.awt.Color in Java; possono anche essere forniti in modo banale al metodo +colorWithRed:green:blue:alpha di UIColor in iOS e, con un piccolo lavoro, può essere facilmente formattato in una stringa CSS rgba() in JavaScript.

Questa pagina di riferimento non contiene informazioni sullo spazio colore assoluto che dovrebbe essere utilizzato per interpretare il valore RGB, ad esempio sRGB, Adobe RGB, DCI-P3 e BT.2020. Per impostazione predefinita, le applicazioni devono utilizzare lo spazio colore sRGB.

Quando è necessario determinare l'uguaglianza dei colori, le implementazioni, a meno che non sia documentato diversamente, considerano uguali due colori se tutti i valori di rosso, verde, blu e alfa differiscono al massimo 1e-5.

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

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

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

// ...
Rappresentazione JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campi
red

number

La quantità di rosso nel colore come valore nell'intervallo [0, 1].

green

number

La quantità di verde nel colore come valore nell'intervallo [0, 1].

blue

number

La quantità di blu nel colore come valore nell'intervallo [0, 1].

alpha

number

La frazione di questo colore da applicare al pixel. In altre parole, il colore dei pixel finale viene definito dall'equazione:

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

Ciò significa che un valore pari a 1,0 corrisponde a un colore a tinta unita, mentre un valore pari a 0,0 corrisponde a un colore completamente trasparente. Questo utilizza un messaggio wrapper anziché un semplice valore scalare in virgola mobile, in modo che sia possibile distinguere tra un valore predefinito e il valore che viene annullato. Se omesso, questo oggetto colore viene visualizzato in un colore a tinta unita (come se al valore alfa fosse stato assegnato esplicitamente il valore 1,0).

PlantInfo

Questo oggetto contiene le informazioni giornaliere su una pianta specifica.

Rappresentazione JSON
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Campi
code

enum (Plant)

Il nome in codice dell'impianto. Ad esempio: "COTTONWOOD". Qui è disponibile un elenco di tutti i codici disponibili.

displayName

string

Una rappresentazione leggibile del nome della pianta. Esempio: "Cottonwood".

indexInfo

object (IndexInfo)

Questo oggetto contiene dati che rappresentano una categoria, una descrizione e un valore specifico dell'indice di polline.

plantDescription

object (PlantDescription)

Contiene informazioni generali sulle piante, tra cui dettagli sulla loro stagionalità, forme e colori speciali, informazioni sulle reazioni crociate allergiche e foto delle piante.

inSeason

boolean

Indica se la pianta è in stagione o meno.

Pianta

Elenca le piante disponibili con disponibilità variabile in base alle località.

Enum
PLANT_UNSPECIFIED Codice dell'impianto non specificato.
ALDER L'ontano è classificato come tipo di polline degli alberi.
ASH La cenere è classificata come tipo di polline degli alberi.
BIRCH La betulla è classificata come tipo di polline degli alberi.
COTTONWOOD Il pioppo è classificato come tipo di polline degli alberi.
ELM L'olmo è classificato come tipo di polline degli alberi.
MAPLE L'acero è classificato come tipo di polline degli alberi.
OLIVE L'ulivo è classificato come tipo di polline degli alberi.
JUNIPER Il ginepro è classificato come tipo di polline degli alberi.
OAK La quercia è classificata come tipo di polline degli alberi.
PINE Il pino è classificato come tipo di polline degli alberi.
CYPRESS_PINE Il cipresso è classificato come tipo di polline degli alberi.
HAZEL L'amamelide è classificato come tipo di polline degli alberi.
GRAMINALES Le graminacee sono classificate come tipo di polline di erba.
RAGWEED L'ambrosia è classificata come tipo di polline di erbe infestanti.
MUGWORT L'artemisia comune è classificata come tipo di polline di erbe infestanti.

PlantDescription

Contiene informazioni generali sulle piante, tra cui dettagli sulla loro stagionalità, forme e colori speciali, informazioni sulle reazioni crociate allergiche e foto delle piante.

Rappresentazione JSON
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Campi
type

enum (PollenType)

Il tipo di polline della pianta. Ad esempio: "GRASS". Qui è disponibile un elenco di tutti i codici disponibili.

family

string

Una rappresentazione leggibile del nome della famiglia della pianta. Esempio: "Betulacee (famiglia della betulla)".

season

string

Elenco testuale di spiegazioni delle stagioni in cui è attivo il polline. Esempio: "Tardo inverno, primavera".

specialColors

string

Descrizione testuale dei colori delle piante, come foglie, corteccia, fiori o semi, per identificare la pianta.

specialShapes

string

Descrizione testuale delle forme di foglie, corteccia, fiori o semi delle piante per aiutarti a identificare la pianta.

crossReaction

string

Descrizione testuale di piante con reazione crociata al polline. Esempio: Polline di ontano, nocciolo, carpino, faggio, salice e quercia.

picture

string

Link all'immagine della pianta.

pictureCloseup

string

Link a un'immagine in primo piano della pianta.