Климатические данные

С помощью API Яндекс Погоды можно просматривать средние климатические данные за последние 10 лет. Данные могут быть детализированы по дням, неделям или месяцам.

Чтобы получить климатические данные для выбранной географической точки, в запросе при вызове GraphQL-метода weatherByPoint укажите объект climate:

{
  weatherByPoint(request: { lat: 53.718706, lon: 44.453126 }) {
    climate {
      ...
    }
  }
}

Внутри объекта climate необходимо указать один из объектов для детализации запроса с необязательными параметрами limit и offset:

  • days – по дням,
  • weeks – по неделям,
  • months – по месяцам.

Поля, которые нужно получить в ответе, указываются внутри этих объектов. По умолчанию данные возвращаются за весь год с его начала: первого дня, недели или месяца. С помощью параметров limit и offset можно задать нужный период:

  • limit – определяет количество возвращаемых записей,
  • offset – определяет, сколько записей пропустить с начала года.

Пример запроса для получения средних климатических данных в точке за период с 1-го по 10-е января:



{
  weatherByPoint(request: { lat: 53.718706, lon: 44.453126 }) {
    climate {
      days(limit: 10) {
        maxDayTemperature
        humidity
        pressure
        maxWindSpeed
        minWindSpeed
        prec
        precType
        precStrength
      }
    }
  }
}
Ответ на запрос
{
  "data": {
    "weatherByPoint": {
      "climate": {
        "days": [
          {
            "maxDayTemperature": -5,
            "humidity": 89,
            "pressure": 736,
            "maxWindSpeed": 6,
            "minWindSpeed": 3,
            "prec": 2.2,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -5,
            "humidity": 91,
            "pressure": 735,
            "maxWindSpeed": 6.5,
            "minWindSpeed": 3.7,
            "prec": 2.5,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -6,
            "humidity": 88,
            "pressure": 734,
            "maxWindSpeed": 6.3,
            "minWindSpeed": 3.5,
            "prec": 2,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -8,
            "humidity": 87,
            "pressure": 734,
            "maxWindSpeed": 5.8,
            "minWindSpeed": 3.5,
            "prec": 2.2,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -8,
            "humidity": 88,
            "pressure": 736,
            "maxWindSpeed": 5.5,
            "minWindSpeed": 3.4,
            "prec": 1.8,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -9,
            "humidity": 87,
            "pressure": 739,
            "maxWindSpeed": 5.4,
            "minWindSpeed": 3.5,
            "prec": 1.2,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -10,
            "humidity": 87,
            "pressure": 741,
            "maxWindSpeed": 5.5,
            "minWindSpeed": 3.7,
            "prec": 1.7,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -10,
            "humidity": 87,
            "pressure": 741,
            "maxWindSpeed": 6.5,
            "minWindSpeed": 4,
            "prec": 1.7,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -8,
            "humidity": 88,
            "pressure": 738,
            "maxWindSpeed": 5,
            "minWindSpeed": 3,
            "prec": 1.8,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -10,
            "humidity": 88,
            "pressure": 736,
            "maxWindSpeed": 5,
            "minWindSpeed": 2.9,
            "prec": 0.6,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          }
        ]
      }
    }
  }
}

Пример запроса для получения средних климатических данных в точке за период с 11-го по 20-е января:



{
  weatherByPoint(request: { lat: 53.718706, lon: 44.453126 }) {
    climate {
      days(limit: 10, offset: 10) {
        maxDayTemperature
        humidity
        pressure
        maxWindSpeed
        minWindSpeed
        prec
        precType
        precStrength
      }
    }
  }
}
Ответ на запрос
{
  "data": {
    "weatherByPoint": {
      "climate": {
        "days": [
          {
            "maxDayTemperature": -10,
            "humidity": 86,
            "pressure": 736,
            "maxWindSpeed": 5.4,
            "minWindSpeed": 3.4,
            "prec": 1.7,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -7,
            "humidity": 88,
            "pressure": 736,
            "maxWindSpeed": 6.5,
            "minWindSpeed": 3.5,
            "prec": 1,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -5,
            "humidity": 92,
            "pressure": 732,
            "maxWindSpeed": 7.5,
            "minWindSpeed": 4.5,
            "prec": 2.7,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -4,
            "humidity": 93,
            "pressure": 734,
            "maxWindSpeed": 6.5,
            "minWindSpeed": 4.4,
            "prec": 1.6,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -5,
            "humidity": 92,
            "pressure": 737,
            "maxWindSpeed": 5.5,
            "minWindSpeed": 3.2,
            "prec": 1.6,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -6,
            "humidity": 92,
            "pressure": 739,
            "maxWindSpeed": 5,
            "minWindSpeed": 2.5,
            "prec": 2.7,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -7,
            "humidity": 89,
            "pressure": 741,
            "maxWindSpeed": 5.5,
            "minWindSpeed": 2.9,
            "prec": 1.7,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -8,
            "humidity": 91,
            "pressure": 742,
            "maxWindSpeed": 5.4,
            "minWindSpeed": 3,
            "prec": 1.8,
            "precType": "SNOW",
            "precStrength": "AVERAGE"
          },
          {
            "maxDayTemperature": -9,
            "humidity": 89,
            "pressure": 740,
            "maxWindSpeed": 4.5,
            "minWindSpeed": 3,
            "prec": 1,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          },
          {
            "maxDayTemperature": -8,
            "humidity": 88,
            "pressure": 739,
            "maxWindSpeed": 5,
            "minWindSpeed": 3.2,
            "prec": 1.2,
            "precType": "NO_TYPE",
            "precStrength": "ZERO"
          }
        ]
      }
    }
  }
}