Климатические данные
С помощью 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"
}
]
}
}
}
}