Method: forecast.lookup

Возвращает ежедневную информацию о пыльце за 5 дней в более чем 65 странах с разрешением до 1 км.

HTTP-запрос

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

URL-адрес использует синтаксис транскодирования gRPC .

Параметры запроса

Параметры
location

object ( LatLng )

Необходимый. Долгота и широта, на которых API ищет данные прогноза пыльцы.

days

integer

Необходимый. Число, указывающее, сколько дней прогноза необходимо запросить (минимальное значение – 1, максимальное – 5).

pageSize

integer

Необязательный. Максимальное количество ежедневных информационных записей, возвращаемых на страницу. Значение по умолчанию и максимальное значение — 5, что указывает на данные за 5 дней.

pageToken

string

Необязательный. Токен страницы, полученный в результате предыдущего ежедневного вызова. Он используется для получения следующей страницы.

Обратите внимание, что при предоставлении значения для токена страницы все остальные предоставленные параметры запроса должны соответствовать предыдущему вызову, который предоставил токен страницы.

languageCode

string

Необязательный. Позволяет клиенту выбрать язык ответа. Если данные для этого языка предоставить невозможно, API использует наиболее близкое совпадение. Допустимые значения соответствуют стандарту IETF BCP-47. Значение по умолчанию — «en».

plantsDescription

boolean

Необязательный. Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений. Значение по умолчанию — «истина».

Тело запроса

Тело запроса должно быть пустым.

Тело ответа

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
Поля
regionCode

string

Код ISO_3166-1 альфа-2 страны/региона, соответствующий местоположению, указанному в запросе. Это поле может быть опущено в ответе, если местоположение, указанное в запросе, находится на спорной территории.

dailyInfo[]

object ( DayInfo )

Необходимый. Этот объект содержит информацию о ежедневном прогнозе на каждый запрошенный день.

nextPageToken

string

Необязательный. Токен для получения следующей страницы.

Области авторизации

Требуется следующая область действия OAuth:

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

Дополнительную информацию см. в обзоре OAuth 2.0 .

ШиротаДлительность

Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Оно должно находиться в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Оно должно находиться в диапазоне [-180,0, +180,0].

DayInfo

Этот объект содержит информацию о ежедневном прогнозе на каждый запрошенный день.

JSON-представление
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Поля
date

object ( Date )

Дата в формате UTC, на которую представлены данные прогноза пыльцы.

pollenTypeInfo[]

object ( PollenTypeInfo )

В этот список будет включено до трех типов пыльцы (ТРАВА, СОРЬЯ, ДЕРЕВО), влияющих на местоположение, указанное в запросе.

plantInfo[]

object ( PlantInfo )

В этот список будет включено до 15 видов пыльцы, влияющих на указанную в заявке локацию.

Дата

Представляет полную или частичную календарную дату, например день рождения. Время суток и часовой пояс либо указаны в другом месте, либо не имеют значения. Дата указана по григорианскому календарю. Это может представлять собой одно из следующих действий:

  • Полная дата с ненулевыми значениями года, месяца и дня.
  • Месяц и день с нулевым годом (например, годовщина).
  • Год сам по себе, с нулевым месяцем и нулевым днем.
  • Год и месяц с нулевым днем ​​(например, дата истечения срока действия кредитной карты).

Связанные типы:

JSON-представление
{
  "year": integer,
  "month": integer,
  "day": integer
}
Поля
year

integer

Год даты. Должно быть от 1 до 9999 или 0, чтобы указать дату без года.

month

integer

Месяц года. Должно быть от 1 до 12 или 0, чтобы указать год без месяца и дня.

day

integer

День месяца. Должно быть от 1 до 31 и действительно для года и месяца, или 0, чтобы указать год отдельно или год и месяц, если день не имеет значения.

Информация о типе пыльцы

Этот объект содержит индекс типа пыльцы и информацию о рекомендациях по здоровью для конкретного типа пыльцы.

JSON-представление
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Поля
code

enum ( PollenType )

Кодовое название типа пыльцы. Например: «ТРАВА»

displayName

string

Удобочитаемое представление названия типа пыльцы. Пример: «Трава».

indexInfo

object ( IndexInfo )

Содержит данные универсального индекса пыльцы (UPI) для типа пыльцы.

healthRecommendations[]

string

Текстовый список пояснений, связанных с информацией о здоровье, основанной на текущем уровне пыльцы.

inSeason

boolean

Индикация того, сезон растения или нет.

Тип пыльцы

Код типа пыльцы

Перечисления
POLLEN_TYPE_UNSPECIFIED Неопределенный тип растения.
GRASS Тип пыльцы трав.
TREE Тип пыльцы деревьев.
WEED Тип пыльцы сорняков.

ИндексИнформация

Этот объект содержит данные, представляющие конкретное значение индекса пыльцы, категорию и описание.

JSON-представление
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Поля
code

enum ( Index )

Код индекса. Это поле представляет индекс для целей программирования, используя змеиные регистры вместо пробелов. Пример: «УПИ».

displayName

string

Удобочитаемое представление имени индекса. Пример: «Универсальный индекс пыльцы».

category

string

Текстовая классификация интерпретации числовых показателей индекса. Индекс состоит из шести категорий:

  • 0: «Нет»
  • 1: «Очень низкий»
  • 2: «Низкий»
  • 3: «Умеренный»
  • 4: «Высокий»
  • 5: «Очень высокий
indexDescription

string

Текстовое объяснение текущего уровня индекса.

color

object ( Color )

Цвет, используемый для представления числового показателя индекса пыльцы.

value

integer

Числовой балл индекса. Числовой диапазон — от 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

number

Количество красного цвета в цвете как значение в интервале [0, 1].

green

number

Количество зеленого цвета в цвете как значение в интервале [0, 1].

blue

number

Количество синего цвета в цвете как значение в интервале [0, 1].

alpha

number

Доля этого цвета, которая должна быть применена к пикселю. То есть конечный цвет пикселя определяется уравнением:

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

Это означает, что значение 1,0 соответствует сплошному цвету, тогда как значение 0,0 соответствует полностью прозрачному цвету. При этом используется сообщение-оболочка, а не простой скаляр с плавающей запятой, чтобы можно было отличить значение по умолчанию от значения, которое не установлено. Если этот параметр опущен, этот цветовой объект отображается как сплошной цвет (как если бы значению альфа было явно присвоено значение 1,0).

ПлантИнфо

Этот объект содержит ежедневную информацию о конкретном заводе.

JSON-представление
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Поля
code

enum ( Plant )

Кодовое название завода. Например: «ХЛОПОК». Список всех доступных кодов можно найти здесь.

displayName

string

Удобочитаемое представление названия растения. Пример: «Коттонвуд».

indexInfo

object ( IndexInfo )

Этот объект содержит данные, представляющие конкретное значение индекса пыльцы, категорию и описание.

plantDescription

object ( PlantDescription )

Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений.

inSeason

boolean

Индикация того, сезон растения или нет.

Растение

Перечисляет доступные растения с разной доступностью в зависимости от местоположения.

Перечисления
PLANT_UNSPECIFIED Неуказанный заводской код.
ALDER Ольху относят к типу пыльцы деревьев.
ASH Ясень относят к типу пыльцы деревьев.
BIRCH Береза ​​относится к типу пыльцы деревьев.
COTTONWOOD Коттонвуд классифицируется как тип пыльцы деревьев.
ELM Вяз относится к типу пыльцы деревьев.
MAPLE Клен относят к типу пыльцы деревьев.
OLIVE Олива классифицируется как тип пыльцы деревьев.
JUNIPER Можжевельник относят к типу пыльцы деревьев.
OAK Дуб относят к типу пыльцы деревьев.
PINE Сосна относится к типу пыльцы деревьев.
CYPRESS_PINE Кипарисовая сосна относится к типу пыльцы деревьев.
HAZEL Лещина относится к типу пыльцы деревьев.
GRAMINALES Graminales относится к типу пыльцы трав.
RAGWEED Амброзия относится к типу пыльцы сорняков.
MUGWORT Полынь классифицируется как пыльца сорняков.

РастениеОписание

Содержит общую информацию о растениях, включая сведения об их сезонности, особых формах и цветах, информацию о перекрестных аллергических реакциях и фотографии растений.

JSON-представление
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Поля
type

enum ( PollenType )

Тип пыльцы растения. Например: «ТРАВА». Список всех доступных кодов можно найти здесь.

family

string

Удобочитаемое представление названия семейства растений. Пример: «Betulaceae (семейство Березовые)».

season

string

Текстовый список объяснений сезонов, когда пыльца активна. Пример: «Конец зимы, весна».

specialColors

string

Текстовое описание цвета листьев, коры, цветов или семян растений, помогающее идентифицировать растение.

specialShapes

string

Текстовое описание формы листьев, коры, цветов или семян растения, которое помогает идентифицировать растение.

crossReaction

string

Текстовое описание растений с перекрестной реакцией на пыльцу. Пример: пыльца ольхи, орешника, граба, бука, ивы и дуба.

picture

string

Ссылка на фото растения.

pictureCloseup

string

Ссылка на фотографию растения крупным планом.