Method: forecast.lookup

Zwraca dzienne informacje o stężeniu pyłków z maksymalnie 5 dni w ponad 65 krajach z rozdzielczością do 1 km.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry zapytania

Parametry
location

object (LatLng)

To pole jest wymagane. Długość i szerokość geograficzna, z których API szuka danych prognozy dotyczących stężenia pyłków.

days

integer

To pole jest wymagane. Liczba wskazująca, o ile dni prognozy należy zażądać (wartość minimalna 1, maksymalna to 5).

pageSize

integer

Opcjonalnie. Maksymalna liczba dziennych rekordów z informacjami do zwrócenia na stronę. Wartości domyślne i maksymalne to 5 (dane z 5 dni).

pageToken

string

Opcjonalnie. Token strony otrzymany z poprzedniego wywołania codziennego. Służy do pobierania kolejnej strony.

Pamiętaj, że podczas podawania wartości tokena strony wszystkie pozostałe parametry żądania muszą być zgodne z poprzednim wywołaniem, które udostępniało token strony.

languageCode

string

Opcjonalnie. Pozwala klientowi wybrać język odpowiedzi. Jeśli nie można podać danych dla danego języka, interfejs API używa najbliższego dopasowania. Dozwolone wartości zależą od standardu IETF BCP-47. Wartość domyślna to „en”.

plantsDescription

boolean

Opcjonalnie. Zawiera ogólne informacje o roślinach, w tym szczegóły na temat ich sezonowości, specjalne kształty i kolory, informacje o reakcjach alergicznych krzyżowych oraz zdjęcia roślin.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

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

string

Kod ISO_3166-1 alfa-2 kraju lub regionu odpowiadający lokalizacji podanej w żądaniu. To pole może zostać pominięte w odpowiedzi, jeśli lokalizacja podana w żądaniu znajduje się na terytorium spornym.

dailyInfo[]

object (DayInfo)

To pole jest wymagane. Ten obiekt zawiera informacje o dziennej prognozie na każdy żądany dzień.

nextPageToken

string

Opcjonalnie. Token do pobrania następnej strony.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.

LatLng

Obiekt reprezentujący parę szerokości i długości geograficznej. Wartość ta jest wyrażana jako para podwójnej wartości reprezentującej stopnie szerokości i długości geograficznej w stopniach. O ile nie wskazano inaczej, ten obiekt musi być zgodny ze standardem WGS84. Wartości muszą mieścić się w znormalizowanych zakresach.

Zapis JSON
{
  "latitude": number,
  "longitude": number
}
Pola
latitude

number

Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0; +90,0].

longitude

number

Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0; +180,0].

DayInfo

Ten obiekt zawiera informacje o dziennej prognozie na każdy żądany dzień.

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

object (Date)

Data (czas UTC), dla której przedstawiane są dane prognozy dotyczącej stężenia pyłków.

pollenTypeInfo[]

object (PollenTypeInfo)

Lista będzie zawierać maksymalnie 3 rodzaje pyłków (trawy, chwasty, drzewa) wpływające na lokalizację podaną w prośbie.

plantInfo[]

object (PlantInfo)

Lista obejmuje (maksymalnie) 15 gatunków pyłków wpływających na lokalizację podaną w prośbie.

Data

Reprezentuje całą datę kalendarzową lub jej część, na przykład datę urodzin. Pora dnia i strefa czasowa są podane w innym miejscu lub są nieistotne. Data odnosi się do kalendarza gregoriańskiego. Może to być:

  • Pełna data oraz wartości roku, miesiąca i dnia inne niż zero.
  • Miesiąc i dzień z zerowym rokiem (na przykład rocznica).
  • Jeden rok z zerowym miesiącem i dniem zerowym.
  • Rok i miesiąc z zerowym dniem (na przykład data ważności karty kredytowej).

Podobne typy:

Zapis JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Pola
year

integer

Rok daty. Należy podać wartość z zakresu od 1 do 9999 lub 0, aby określić datę bez roku.

month

integer

Miesiąc w roku. Należy podać wartość z zakresu od 1 do 12 lub 0, aby określić rok bez miesiąca i dnia.

day

integer

Dzień miesiąca. Należy podać wartość z zakresu od 1 do 31 i ważną dla roku i miesiąca lub 0, aby określić sam rok lub rok i miesiąc, w którym dzień nie jest istotny.

PollenTypeInfo

Ten obiekt zawiera indeks typu pyłków i informacje o zaleceniach zdrowotnych dotyczących określonego typu pyłków.

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

enum (PollenType)

Nazwa kodowa typu pyłków. Na przykład: „GRASS”

displayName

string

Zrozumiała dla człowieka nazwa rodzaju pyłków. Przykład: „trawa”

indexInfo

object (IndexInfo)

Zawiera dane uniwersalnego indeksu pyłków (UPI) dla danego typu pyłków.

healthRecommendations[]

string

Tekstowa lista wyjaśnień dotyczących statystyk dotyczących zdrowia na podstawie bieżących poziomów pyłków.

inSeason

boolean

Informacja o tym, czy roślina trwa sezon.

PollenType

Kod typu stężenia pyłków

Wartości w polu enum
POLLEN_TYPE_UNSPECIFIED Nieokreślony typ rośliny.
GRASS Rodzaj pyłków trawy.
TREE Rodzaj pyłków drzew.
WEED Rodzaj pyłków chwastów.

IndexInfo

Ten obiekt zawiera dane reprezentujące konkretną wartość indeksu pyłków, kategorię i opis.

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

enum (Index)

Kod indeksu. To pole przedstawia indeks do celów programistycznych z użyciem przypadków węża zamiast spacji. Przykład: „UPI”.

displayName

string

Zrozumiała dla człowieka nazwa indeksu. Przykład: „uniwersalny indeks pyłków”.

category

string

Klasyfikacja tekstu interpretacji liczbowej oceny indeksu. Indeks składa się z 6 kategorii:

  • 0: „Brak”
  • 1: „Bardzo niskie”
  • 2: „Niska”
  • 3: „Umiarkowany”
  • 4: „Wysoki”
  • 5: "Bardzo wysokie
indexDescription

string

Wyjaśnienie tekstowe bieżącego poziomu indeksu.

color

object (Color)

Kolor używany do oceny liczbowej wskaźnika pyłków.

value

integer

Wynik liczbowy indeksu. Zakres liczbowy należy do zakresu od 0 do 5.

Indeks

Kod indeksu

Wartości w polu enum
INDEX_UNSPECIFIED Nieokreślony indeks.
UPI Uniwersalny indeks pyłków.

Kolor

Reprezentuje kolor w przestrzeni kolorów RGBA. Ta reprezentacja została zaprojektowana z myślą o ułatwieniu konwertowania do i z reprezentacji kolorów w różnych językach na potrzeby złożoności. Na przykład pola tej reprezentacji można w prosty sposób przekazać do konstruktora java.awt.Color w języku Java; można je też w prosty sposób podać w metodzie +colorWithRed:green:blue:alpha UIColor w iOS, a przy odrobinie pracy można je też łatwo sformatować jako ciąg CSS rgba() w JavaScript.

Na tej stronie referencyjnej nie ma informacji o bezwzględnej przestrzeni kolorów, która powinna zostać użyta do zinterpretowania wartości RGB, np. sRGB, Adobe RGB, DCI-P3 i BT.2020. Domyślnie aplikacje powinny używać przestrzeni kolorów sRGB.

Gdy trzeba określić równość kolorów, implementacje (o ile nie udokumentowano inaczej), traktuj 2 kolory tak samo, jeśli wszystkie ich wartości czerwone, zielony, niebieski i alfa różnią się maksymalnie o 1e-5.

Przykład (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();
 }
 // ...

Przykład (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;
}
// ...

Przykład (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('');
};

// ...
Zapis JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Pola
red

number

Ilość czerwieni w kolorze jako wartość w przedziale [0, 1].

green

number

Ilość koloru zielonego w kolorze jako wartość przedziału [0, 1].

blue

number

Ilość koloru niebieskiego jako wartość w przedziale [0, 1].

alpha

number

Odsetek tego koloru, jaki ma zostać zastosowany do piksela. Ostateczny kolor w pikselach jest określany przez równanie:

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

Oznacza to, że wartość 1,0 odpowiada jednolitego koloru, a wartość 0,0 odpowiada kolorowi całkowicie przezroczystemu. Korzysta ono z komunikatu opakowania, a nie prostego skalarnego zmiennoprzecinkowego, co pozwala odróżnić wartość domyślną od nieskonfigurowanej wartości. Jeśli go pominiesz, ten obiekt koloru będzie miał jednolity kolor (tak jakby wartość alfa otrzymała wyraźnie wartość 1,0).

PlantInfo

Obiekt zawiera dzienne informacje o konkretnej roślinie.

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

enum (Plant)

Kodowa nazwa rośliny. Na przykład: „COTTONWOOD”. Listę wszystkich dostępnych kodów znajdziesz tutaj.

displayName

string

Zrozumiała dla człowieka nazwa rośliny. Przykład: „Cottonwood”.

indexInfo

object (IndexInfo)

Ten obiekt zawiera dane reprezentujące konkretną wartość indeksu pyłków, kategorię i opis.

plantDescription

object (PlantDescription)

Zawiera ogólne informacje o roślinach, w tym szczegóły na temat ich sezonowości, specjalne kształty i kolory, informacje o reakcjach alergicznych krzyżowych oraz zdjęcia roślin.

inSeason

boolean

Roślina wskazuje na to, że dana roślina jest w sezonie lub nie.

Roślina

Wyświetla listę dostępnych roślin o różnej dostępności w różnych lokalizacjach.

Wartości w polu enum
PLANT_UNSPECIFIED Nieokreślony kod rośliny.
ALDER Olcha jest klasyfikowana jako rodzaj pyłków drzew.
ASH Jesion jest klasyfikowany jako rodzaj pyłków drzew.
BIRCH Brzoza jest klasyfikowana jako rodzaj pyłków drzew.
COTTONWOOD Topola jest zaklasyfikowana jako rodzaj pyłków drzew.
ELM Wiąz jest klasyfikowany jako rodzaj pyłków drzew.
MAPLE Klon jest klasyfikowany jako rodzaj pyłków drzew.
OLIVE Oliwka jest klasyfikowana jako rodzaj pyłków drzew.
JUNIPER Jałowiec jest zaklasyfikowany do rodzaju pyłków drzew.
OAK Dąb jest zaklasyfikowany jako rodzaj pyłków drzew.
PINE Sosna jest klasyfikowana jako rodzaj pyłków drzewa.
CYPRESS_PINE Sosna cyprysowa jest klasyfikowana jako rodzaj pyłków drzew.
HAZEL Leszczyna zalicza się do rodzaju pyłków drzew.
GRAMINALES Pyłki trawy są zaliczane do pyłków traw.
RAGWEED Ambrozja jest zaliczane do pyłków chwastów.
MUGWORT Bydło jest zaliczane do pyłków chwastów.

PlantDescription

Zawiera ogólne informacje o roślinach, w tym szczegóły na temat ich sezonowości, specjalne kształty i kolory, informacje o reakcjach alergicznych krzyżowych oraz zdjęcia roślin.

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

enum (PollenType)

Rodzaj pyłków rośliny. Na przykład: „GRASS”. Listę wszystkich dostępnych kodów znajdziesz tutaj.

family

string

Zrozumiała dla człowieka nazwa rodziny roślin. Przykład: „Betulaceae (brzozowate)”.

season

string

Tekstowa lista z wyjaśnieniem pór roku, w których pyłki są aktywne. Przykład: „Późna zima, wiosna”.

specialColors

string

Tekstowy opis kolorów liści, kory, kwiatów lub nasion ułatwiający identyfikację rośliny.

specialShapes

string

Tekstowy opis kształtów liści, kory, kwiatów lub nasion ułatwiający identyfikację rośliny.

crossReaction

string

Tekstowy opis roślin reagujących pyłkami. Przykład: Pyłki olchy, leszczyny, grabu, buka, wierzby i dębu.

picture

string

Podaj link do zdjęcia tej rośliny.

pictureCloseup

string

Podaj link do zdjęcia rośliny ze zbliżenia.