Данные метеорологических станций

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 — скорость ветра.
Следующая