Перейти к содержанию

Запрос данных с использованием wis2box API

Учебные результаты

К концу этого практического занятия вы сможете:

  • использовать wis2box API для запроса и фильтрации ваших станций
  • использовать wis2box API для запроса и фильтрации ваших данных

Введение

wis2box API предоставляет доступ к обнаружению и запросу данных в машиночитаемом виде, которые были загружены в wis2box. API основан на стандарте OGC API - Features и реализован с использованием pygeoapi.

wis2box API предоставляет доступ к следующим коллекциям:

  • Станции
  • Метаданные обнаружения
  • Уведомления о данных
  • плюс одна коллекция на каждый настроенный набор данных, которая хранит результаты работы bufr2geojson (плагин bufr2geojson должен быть включен в конфигурации сопоставления данных для заполнения элементов в коллекции набора данных).

На этом практическом занятии вы научитесь использовать API данных для просмотра и запроса данных, загруженных в wis2box.

Подготовка

Note

Перейдите на главную страницу wis2box API в вашем веб-браузере:

http://YOUR-HOST/oapi

wis2box-api-landing-page

Изучение коллекций

С главной страницы кликните по ссылке 'Collections'.

Question

Сколько коллекций наборов данных вы видите на результатирующей странице? Что, по вашему мнению, представляет каждая коллекция?

Нажмите, чтобы увидеть ответ

Должно быть отображено 4 коллекции, включая "Stations", "Discovery metadata" и "Data notifications"

Изучение станций

С главной страницы кликните по ссылке 'Collections', затем кликните по ссылке 'Stations'.

wis2box-api-collections-stations

Кликните по ссылке 'Browse', затем кликните по ссылке 'json'.

Question

Сколько станций возвращается? Сравните это число со списком станций в http://YOUR-HOST/wis2box-webapp/station

Нажмите, чтобы увидеть ответ

Количество станций из API должно быть равно количеству станций, которые вы видите в wis2box webapp.

Question

Как можно запросить одну станцию (например, Balaka)?

Нажмите, чтобы увидеть ответ

Запросите API с http://YOUR-HOST/oapi/collections/stations/items?q=Balaka.

Note

Приведенный выше пример основан на тестовых данных Малави. Попробуйте тестировать на станциях, которые вы загрузили в рамках предыдущих упражнений.

Изучение наблюдений

Note

Приведенный выше пример основан на тестовых данных Малави. Попробуйте тестировать на наблюдениях, которые вы загрузили в рамках упражнений.

С главной страницы кликните по ссылке 'Collections', затем кликните по ссылке 'Surface weather observations from Malawi'.

wis2box-api-collections-malawi-obs

Кликните по ссылке 'Queryables'.

wis2box-api-collections-malawi-obs-queryables

Question

Какой параметр запроса будет использоваться для фильтрации по идентификатору станции?

Нажмите, чтобы увидеть ответ

Правильный параметр запроса - wigos_station_identifer.

Перейдите на предыдущую страницу (т.е. http://YOUR-HOST/oapi/collections/urn:wmo:md:mwi:mwi_met_centre:surface-weather-observations)

Кликните по ссылке 'Browse'.

Question

Как можно визуализировать ответ JSON?

Нажмите, чтобы увидеть ответ

Нажав на ссылку 'JSON' в верхней правой части страницы, или добавив f=json к запросу API в веб-браузере.

Изучите ответ JSON наблюдений.

Question

Сколько записей возвращается?

Question

Как можно ограничить ответ тремя наблюдениями?

Нажмите, чтобы увидеть ответ

Добавьте limit=3 к запросу API.

Question

Как можно отсортировать ответ по последним наблюдениям?

Нажмите, чтобы увидеть ответ

Добавьте sortby=-resultTime к запросу API (обратите внимание на знак -, обозначающий порядок сортировки по убыванию). Для сортировки по самым ранним наблюдениям обновите запрос, включив sortby=resultTime.

Question

Как можно фильтровать наблюдения по одной станции?

Нажмите, чтобы увидеть ответ

Добавьте wigos_station_identifier=<WSI> к запросу API.

Question

Как можно получить наблюдения в формате CSV?

Нажмите, чтобы увидеть ответ

Добавьте f=csv к запросу API.

Question

Как можно показать одно наблюдение (id)?

Нажмите, чтобы увидеть ответ

Используя идентификатор объекта из запроса API к наблюдениям, запросите API для http://YOUR-HOST/oapi/collections/{collectionId}/items/{featureId}, где {collectionId} - это имя вашей коллекции наблюдений, а {itemId} - идентификатор интересующего вас одного наблюдения.

Заключение

Поздравляем!

На этом практическом занятии вы научились:

  • использовать wis2box API для запроса и фильтрации ваших станций
  • использовать wis2box API для запроса и фильтрации ваших данных