Данные метеорологических станций
API Яндекс Погоды позволяет получать фактические показатели погоды с метеорологических станций. Для доступа к данным в GraphQL-методе stations
укажите список нужных полей.
Запрос содержит координаты прямоугольной области, внутри которой расположены станции. Расстояние рассчитывается между центром этой области и найденными станциями.
В качестве параметров метода передаются координаты области:
minLat
— минимальная широта,maxLat
— максимальная широта,minLon
— минимальная долгота,maxLon
— максимальная долгота.
{
stations(
maxLat: 53.51865768
minLat: 51.51865768
minLon: 12.37471867
maxLon: 14.37471867
language: EN
) {
id
distance
name
time
humidity
prec
temperature
}
}
{
"data": {
"stations": [
{
"id": 12751,
"distance": 123.45,
"name": "Berlin-Schoenefeld",
"time": "2022-09-09T13:20:00+03:00",
"humidity": 64,
"prec": 0,
"temperature": 21
},
{
"id": 48025,
"distance": 123.45,
"name": "Holzdorf",
"time": "2022-09-09T11:00:00+03:00",
"humidity": 80,
"prec": 0,
"temperature": 16
},
{
"id": 14137,
"distance": 123.45,
"name": "Holzdorf",
"time": "2022-09-09T13:20:00+03:00",
"humidity": 57,
"prec": 0,
"temperature": 22
}
]
}
}
Запрос вернет показатели всех станций, которые находятся в области, ограниченной координатами:
Примечание
Некоторые метеорологические станции могут содержать меньшее количество данных.
id
— идентификатор станции,distance
— расстояние между центром заданной области и найденными станциями,name
— название станции,time
— время получения последних показаний со станции,humidity
— относительная влажность,prec
— количество осадков (в миллиметрах),temperature
— температура в тени на высоте 2 метра от поверхности земли.
Показания станций за период
Чтобы получить показания станции за определенный период, используйте GraphQL-метод stationsByTimeRange
. Запрос содержит точку, в окрестностях которой расположены станции. Расстояние рассчитывается между координатами заданной точки и найденной станции рядом с ней.
В метод передаются следующие параметры:
request
— координаты точки в виде значенийlat
(широта точки) иlon
(долгота точки),timeRange
— временной интервал в виде значенийfrom
(начало интервала) иto
(конец интервала). Значения задаются в формате Unix-время.
Пример запроса:
{
stationsByTimeRange(
request: { lat: 52.718706, lon: 41.453126 }
timeRange: { from: "1662036585", to: "1662209385" }
) {
id
distance
time
cloudiness
humidity
temperature
prec
windSpeed
}
}
{
"data": {
"stationsByTimeRange": [
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-01T18:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 35,
"temperature": 19,
"prec": 0,
"windSpeed": 5
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-01T21:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 51,
"temperature": 13,
"prec": 0,
"windSpeed": 2
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T00:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 68,
"temperature": 9,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T03:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 69,
"temperature": 8,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T06:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 78,
"temperature": 6,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T09:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 52,
"temperature": 14,
"prec": 0,
"windSpeed": 6
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T12:00:00+03:00",
"cloudiness": "PARTLY",
"humidity": 39,
"temperature": 16,
"prec": 0,
"windSpeed": 6
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T15:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 30,
"temperature": 18,
"prec": 0,
"windSpeed": 7
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T18:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 40,
"temperature": 15,
"prec": 0,
"windSpeed": 7
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-02T21:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 68,
"temperature": 7,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-03T03:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 84,
"temperature": 4,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-03T06:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 94,
"temperature": 2,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-03T09:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 56,
"temperature": 12,
"prec": 0,
"windSpeed": 1
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-03T12:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 36,
"temperature": 16,
"prec": 0,
"windSpeed": 2
},
{
"id": 49539,
"distance": 123.45,
"time": "2022-09-03T15:00:00+03:00",
"cloudiness": "CLEAR",
"humidity": 28,
"temperature": 18,
"prec": 0,
"windSpeed": 3
}
]
}
}
Запрос вернет показатели станции, которая расположена ближе всего к указанной точке, за период с 01.09.2022 по 03.09.2022:
id
— идентификатор станции,distance
— расстояние между самой ближайшей станцией и заданными точками,time
— время получения показаний со станции,cloudiness
— облачность,humidity
— относительная влажность,temperature
— температура в тени на высоте 2 метра от поверхности земли,prec
— количество осадков (в миллиметрах),windSpeed
— скорость ветра.