- HTTP-запрос
- Параметры запроса
- Тело запроса
- Тело ответа
- Области авторизации
- ШиротаДлительность
- DayInfo
- Дата
- Информация о типе пыльцы
- Тип пыльцы
- ИндексИнформация
- Индекс
- Цвет
- ПлантИнфо
- Растение
- РастениеОписание
- Попробуй это!
Возвращает ежедневную информацию о пыльце за 5 дней в более чем 65 странах с разрешением до 1 км.
HTTP-запрос
GET https://pollen.googleapis.com/v1/forecast:lookup
URL-адрес использует синтаксис транскодирования gRPC .
Параметры запроса
Параметры | |
---|---|
location | Необходимый. Долгота и широта, на которых API ищет данные прогноза пыльцы. |
days | Необходимый. Число, указывающее, сколько дней прогноза необходимо запросить (минимальное значение – 1, максимальное – 5). |
pageSize | Необязательный. Максимальное количество ежедневных информационных записей, возвращаемых на страницу. Значение по умолчанию и максимальное значение — 5, что означает данные за 5 дней. |
pageToken | Необязательный. Токен страницы, полученный в результате предыдущего ежедневного вызова. Он используется для получения следующей страницы. Обратите внимание, что при предоставлении значения для токена страницы все остальные предоставленные параметры запроса должны соответствовать предыдущему вызову, который предоставил токен страницы. |
languageCode | Необязательный. Позволяет клиенту выбрать язык ответа. Если данные для этого языка предоставить невозможно, API использует наиболее близкое совпадение. Допустимые значения соответствуют стандарту IETF BCP-47. Значение по умолчанию — «en». |
plantsDescription | Необязательный. Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений. Значение по умолчанию верно". |
Тело запроса
Тело запроса должно быть пустым.
Тело ответа
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{
"regionCode": string,
"dailyInfo": [
{
object ( |
Поля | |
---|---|
regionCode | Код ISO_3166-1 альфа-2 страны/региона, соответствующий местоположению, указанному в запросе. Это поле может быть опущено в ответе, если местоположение, указанное в запросе, находится на спорной территории. |
dailyInfo[] | Необходимый. Этот объект содержит информацию о ежедневном прогнозе на каждый запрошенный день. |
nextPageToken | Необязательный. Токен для получения следующей страницы. |
Области авторизации
Требуется следующая область действия OAuth:
-
https://www.googleapis.com/auth/cloud-platform
Дополнительную информацию см. в обзоре OAuth 2.0 .
ШиротаДлительность
Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
JSON-представление |
---|
{ "latitude": number, "longitude": number } |
Поля | |
---|---|
latitude | Широта в градусах. Оно должно находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Оно должно находиться в диапазоне [-180,0, +180,0]. |
DayInfo
Этот объект содержит информацию о ежедневном прогнозе на каждый запрошенный день.
JSON-представление |
---|
{ "date": { object ( |
Поля | |
---|---|
date | Дата в формате UTC, на которую представлены данные прогноза пыльцы. |
pollenTypeInfo[] | В этот список будет включено до трех типов пыльцы (ТРАВА, СОРЬЯ, ДЕРЕВО), влияющих на местоположение, указанное в запросе. |
plantInfo[] | В этот список будет включено до 15 видов пыльцы, влияющих на указанную в заявке локацию. |
Дата
Представляет полную или частичную календарную дату, например день рождения. Время суток и часовой пояс либо указаны в другом месте, либо не имеют значения. Дата указана по григорианскому календарю. Это может представлять собой одно из следующих действий:
- Полная дата с ненулевыми значениями года, месяца и дня.
- Месяц и день с нулевым годом (например, годовщина).
- Год сам по себе, с нулевым месяцем и нулевым днем.
- Год и месяц с нулевым днем (например, дата истечения срока действия кредитной карты).
Связанные типы:
-
google.type.TimeOfDay
-
google.type.DateTime
-
google.protobuf.Timestamp
JSON-представление |
---|
{ "year": integer, "month": integer, "day": integer } |
Поля | |
---|---|
year | Год даты. Должно быть от 1 до 9999 или 0, чтобы указать дату без года. |
month | Месяц года. Должно быть от 1 до 12 или 0, чтобы указать год без месяца и дня. |
day | День месяца. Должно быть от 1 до 31 и действительно для года и месяца, или 0, чтобы указать год отдельно или год и месяц, если день не имеет значения. |
Информация о типе пыльцы
Этот объект содержит индекс типа пыльцы и информацию о рекомендациях по здоровью для конкретного типа пыльцы.
JSON-представление |
---|
{ "code": enum ( |
Поля | |
---|---|
code | Кодовое название типа пыльцы. Например: «ТРАВА» |
displayName | Удобочитаемое представление названия типа пыльцы. Пример: «Трава». |
indexInfo | Содержит данные универсального индекса пыльцы (UPI) для типа пыльцы. |
healthRecommendations[] | Текстовый список пояснений, связанных с информацией о здоровье, основанной на текущем уровне пыльцы. |
inSeason | Индикация того, сезон растения или нет. |
Тип пыльцы
Код типа пыльцы
Перечисления | |
---|---|
POLLEN_TYPE_UNSPECIFIED | Неопределенный тип растения. |
GRASS | Тип пыльцы трав. |
TREE | Тип пыльцы деревьев. |
WEED | Тип пыльцы сорняков. |
ИндексИнформация
Этот объект содержит данные, представляющие конкретное значение индекса пыльцы, категорию и описание.
JSON-представление |
---|
{ "code": enum ( |
Поля | |
---|---|
code | Код индекса. Это поле представляет индекс для целей программирования, используя змеиные регистры вместо пробелов. Пример: «УПИ». |
displayName | Удобочитаемое представление имени индекса. Пример: «Универсальный индекс пыльцы». |
category | Текстовая классификация интерпретации числовых показателей индекса. Индекс состоит из шести категорий:
|
indexDescription | Текстовое объяснение текущего уровня индекса. |
color | Цвет, используемый для представления числового показателя индекса пыльцы. |
value | Числовой балл индекса. Числовой диапазон — от 0 до 5. |
Индекс
Код индекса
Перечисления | |
---|---|
INDEX_UNSPECIFIED | Неопределенный индекс. |
UPI | Универсальный индекс пыльцы. |
Цвет
Представляет цвет в цветовом пространстве RGBA. Это представление предназначено для простоты преобразования в цветовые представления на разных языках и обратно, а не для компактности. Например, поля этого представления можно тривиально передать конструктору java.awt.Color
в Java; его также можно тривиально передать методу +colorWithRed:green:blue:alpha
UIColor в iOS; и, приложив немного усилий, его можно легко отформатировать в строку CSS rgba()
в JavaScript.
На этой справочной странице нет информации об абсолютном цветовом пространстве, которое следует использовать для интерпретации значения RGB, например sRGB, Adobe RGB, DCI-P3 и BT.2020. По умолчанию приложения должны использовать цветовое пространство sRGB.
Когда необходимо определить равенство цветов, реализации, если не указано иное, рассматривают два цвета как равные, если все их значения красного, зеленого, синего и альфа отличаются не более чем на 1e-5
.
Пример (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();
}
// ...
Пример (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;
}
// ...
Пример (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('');
};
// ...
JSON-представление |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
Поля | |
---|---|
red | Количество красного цвета в цвете как значение в интервале [0, 1]. |
green | Количество зеленого цвета в цвете как значение в интервале [0, 1]. |
blue | Количество синего цвета в цвете как значение в интервале [0, 1]. |
alpha | Доля этого цвета, которая должна быть применена к пикселю. То есть конечный цвет пикселя определяется уравнением: Это означает, что значение 1,0 соответствует сплошному цвету, тогда как значение 0,0 соответствует полностью прозрачному цвету. При этом используется сообщение-оболочка, а не простой скаляр с плавающей запятой, чтобы можно было отличить значение по умолчанию от значения, которое не установлено. Если этот параметр опущен, этот цветовой объект отображается как сплошной цвет (как если бы значению альфа было явно присвоено значение 1,0). |
ПлантИнфо
Этот объект содержит ежедневную информацию о конкретном заводе.
JSON-представление |
---|
{ "code": enum ( |
Поля | |
---|---|
code | Кодовое название завода. Например: «ХЛОПОК». Список всех доступных кодов можно найти здесь. |
displayName | Удобочитаемое представление названия растения. Пример: «Коттонвуд». |
indexInfo | Этот объект содержит данные, представляющие конкретное значение индекса пыльцы, категорию и описание. |
plantDescription | Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений. |
inSeason | Индикация того, сезон растения или нет. |
Растение
Перечисляет доступные растения, доступность которых варьируется в зависимости от местоположения.
Перечисления | |
---|---|
PLANT_UNSPECIFIED | Неуказанный заводской код. |
ALDER | Ольху относят к типу пыльцы деревьев. |
ASH | Ясень относят к типу пыльцы деревьев. |
BIRCH | Береза отнесена к типу пыльцы деревьев. |
COTTONWOOD | Коттонвуд классифицируется как тип пыльцы деревьев. |
ELM | Вяз относится к типу пыльцы деревьев. |
MAPLE | Клен относят к типу пыльцы деревьев. |
OLIVE | Олива классифицируется как тип пыльцы деревьев. |
JUNIPER | Можжевельник относят к типу пыльцы деревьев. |
OAK | Дуб относят к типу пыльцы деревьев. |
PINE | Сосна относится к типу пыльцы деревьев. |
CYPRESS_PINE | Кипарисовая сосна относится к типу пыльцы деревьев. |
HAZEL | Лещина относится к типу пыльцы деревьев. |
GRAMINALES | Graminales относится к типу пыльцы трав. |
RAGWEED | Амброзия относится к типу пыльцы сорняков. |
MUGWORT | Полынь классифицируется как пыльца сорняков. |
РастениеОписание
Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений.
JSON-представление |
---|
{
"type": enum ( |
Поля | |
---|---|
type | Тип пыльцы растения. Например: «ТРАВА». Список всех доступных кодов можно найти здесь. |
family | Удобочитаемое представление названия семейства растений. Пример: «Betulaceae (семейство Березовые)». |
season | Текстовый список объяснений сезонов, когда пыльца активна. Пример: «Конец зимы, весна». |
specialColors | Текстовое описание цвета листьев, коры, цветов или семян растений, помогающее идентифицировать растение. |
specialShapes | Текстовое описание формы листьев, коры, цветов или семян растения, которое помогает идентифицировать растение. |
crossReaction | Текстовое описание растений с перекрестной реакцией на пыльцу. Пример: пыльца ольхи, орешника, граба, бука, ивы и дуба. |
picture | Ссылка на фото растения. |
pictureCloseup | Ссылка на фотографию растения крупным планом. |