- Żądanie HTTP
- Parametry zapytania
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- LatLng
- DayInfo
- Data
- PollenTypeInfo
- PollenType
- IndexInfo
- Indeks
- Kolor
- PlantInfo
- Roślina
- PlantDescription
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 |
To pole jest wymagane. Długość i szerokość geograficzna, z których API szuka danych prognozy dotyczących stężenia pyłków. |
days |
To pole jest wymagane. Liczba wskazująca, o ile dni prognozy należy zażądać (wartość minimalna 1, maksymalna to 5). |
pageSize |
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 |
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 |
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 |
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 ( |
Pola | |
---|---|
regionCode |
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[] |
To pole jest wymagane. Ten obiekt zawiera informacje o dziennej prognozie na każdy żądany dzień. |
nextPageToken |
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 |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0; +90,0]. |
longitude |
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 ( |
Pola | |
---|---|
date |
Data (czas UTC), dla której przedstawiane są dane prognozy dotyczącej stężenia pyłków. |
pollenTypeInfo[] |
Lista będzie zawierać maksymalnie 3 rodzaje pyłków (trawy, chwasty, drzewa) wpływające na lokalizację podaną w prośbie. |
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:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
Zapis JSON |
---|
{ "year": integer, "month": integer, "day": integer } |
Pola | |
---|---|
year |
Rok daty. Należy podać wartość z zakresu od 1 do 9999 lub 0, aby określić datę bez roku. |
month |
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 |
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 ( |
Pola | |
---|---|
code |
Nazwa kodowa typu pyłków. Na przykład: „GRASS” |
displayName |
Zrozumiała dla człowieka nazwa rodzaju pyłków. Przykład: „trawa” |
indexInfo |
Zawiera dane uniwersalnego indeksu pyłków (UPI) dla danego typu pyłków. |
healthRecommendations[] |
Tekstowa lista wyjaśnień dotyczących statystyk dotyczących zdrowia na podstawie bieżących poziomów pyłków. |
inSeason |
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 ( |
Pola | |
---|---|
code |
Kod indeksu. To pole przedstawia indeks do celów programistycznych z użyciem przypadków węża zamiast spacji. Przykład: „UPI”. |
displayName |
Zrozumiała dla człowieka nazwa indeksu. Przykład: „uniwersalny indeks pyłków”. |
category |
Klasyfikacja tekstu interpretacji liczbowej oceny indeksu. Indeks składa się z 6 kategorii:
|
indexDescription |
Wyjaśnienie tekstowe bieżącego poziomu indeksu. |
color |
Kolor używany do oceny liczbowej wskaźnika pyłków. |
value |
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 |
Ilość czerwieni w kolorze jako wartość w przedziale [0, 1]. |
green |
Ilość koloru zielonego w kolorze jako wartość przedziału [0, 1]. |
blue |
Ilość koloru niebieskiego jako wartość w przedziale [0, 1]. |
alpha |
Odsetek tego koloru, jaki ma zostać zastosowany do piksela. Ostateczny kolor w pikselach jest określany przez równanie:
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 ( |
Pola | |
---|---|
code |
Kodowa nazwa rośliny. Na przykład: „COTTONWOOD”. Listę wszystkich dostępnych kodów znajdziesz tutaj. |
displayName |
Zrozumiała dla człowieka nazwa rośliny. Przykład: „Cottonwood”. |
indexInfo |
Ten obiekt zawiera dane reprezentujące konkretną wartość indeksu pyłków, kategorię i opis. |
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 |
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 ( |
Pola | |
---|---|
type |
Rodzaj pyłków rośliny. Na przykład: „GRASS”. Listę wszystkich dostępnych kodów znajdziesz tutaj. |
family |
Zrozumiała dla człowieka nazwa rodziny roślin. Przykład: „Betulaceae (brzozowate)”. |
season |
Tekstowa lista z wyjaśnieniem pór roku, w których pyłki są aktywne. Przykład: „Późna zima, wiosna”. |
specialColors |
Tekstowy opis kolorów liści, kory, kwiatów lub nasion ułatwiający identyfikację rośliny. |
specialShapes |
Tekstowy opis kształtów liści, kory, kwiatów lub nasion ułatwiający identyfikację rośliny. |
crossReaction |
Tekstowy opis roślin reagujących pyłkami. Przykład: Pyłki olchy, leszczyny, grabu, buka, wierzby i dębu. |
picture |
Podaj link do zdjęcia tej rośliny. |
pictureCloseup |
Podaj link do zdjęcia rośliny ze zbliżenia. |