Запрос данных с использованием 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
Изучение коллекций
С главной страницы кликните по ссылке 'Collections'.
Question
Сколько коллекций наборов данных вы видите на результатирующей странице? Что, по вашему мнению, представляет каждая коллекция?
Нажмите, чтобы увидеть ответ
Должно быть отображено 4 коллекции, включая "Stations", "Discovery metadata" и "Data notifications"
Изучение станций
С главной страницы кликните по ссылке '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'.
Кликните по ссылке '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 для запроса и фильтрации ваших данных