Важно
Перевод - это работа сообщества : ссылка:Вы можете присоединиться. Эта страница в настоящее время переводится |прогресс перевода|.
8. Тестирование на соответствие требованиям OGC
Открытый геопространственный консорциум (OGC) предоставляет тесты, которые можно запускать бесплатно, чтобы убедиться, что сервер соответствует определенной спецификации. В этой главе приводится краткое руководство по настройке тестов WMS и OGC API Features на системе Ubuntu. Подробную документацию можно найти на сайте OGC.
8.1. pyogctest
pyogctest - это инструмент на языке Python, предназначенный для легкого запуска тестов OGC. Установка может быть выполнена в виртуальной среде:
virtualenv venv
source venv/bin/activate
pip install pyogctest
8.2. Тестовый пакет WMS 1.3.0
Для успешного запуска тестового пакета WMS 1.3.0 необходим специальный набор тестовых данных. Его можно загрузить с помощью команды pyogctest:
pyogctest -s wms130 --download
После загрузки проект teamengine_wms_130.qgs
будет доступен в новом каталоге data
. Этот проект должен быть зарегистрирован как проект по умолчанию для QGIS Server благодаря переменной окружения QGIS_SERVER_PROJECT_FILE. Таким образом, нам не нужно будет явно устанавливать вендор-параметр MAP
для QGIS Server.
Для выполнения тестов метаданных также необходима специальная конфигурация. Действительно, некоторые метаданные доступны в директории data/metadata
и должны быть доступны для фреймворка тестирования OGC через URL. Самый простой вариант - настроить ваш веб-сервер на доступ через что-то вроде http://XXX.XXX.XXX.XXX/metadata/Autos.xml
. Эти URL-адреса метаданных определяются в проекте и вставляются в документ WMS GetCapabilities
. Поэтому проект необходимо обновить в соответствии с вашей тестовой средой, чтобы QGIS Server мог генерировать корректный XML-документ:
pyogctest -s wms130 -m http://XXX.XXX.XXX.XXX/metadata
Теперь, когда все правильно настроено, мы можем запустить тестовый пакет WMS 1.3.0:
pyogctest -s wms130 -u http://XXX.XXX.XXX.XXX/qgisserver
========================== OGC test session starts ============================
testsuite: WMS 1.3.0
collected 184 items
data-independent::basic_elements::version-negotiation::negotiate-no-version .
data-independent::basic_elements::version-negotiation::negotiate-basic_elements-version .
data-independent::basic_elements::version-negotiation::negotiate-higher-version .
...
...
...
=========================== 184 passed in 40 seconds ===========================
8.3. Набор тестов OGC API Features
Для запуска тестового набора OGC API Features 1.0 необходим тестовый набор данных. Учитывая, что базовый проект QGIS не требует специальной настройки для этого тестового набора, мы можем использовать файл .qgs
, предоставленный в обучающем репозитории:
git clone https://github.com/qgis/QGIS-Training-Data
ls QGIS-Training-Data/exercise_data/qgis-server-tutorial-data/world.qgs
После загрузки проект world.qgs
будет доступен в подкаталоге qgis-server-tutorial
. Этот проект должен быть зарегистрирован как проект по умолчанию для QGIS Server благодаря переменной окружения QGIS_SERVER_PROJECT_FILE. Таким образом, нам не нужно будет явно устанавливать вендор-параметр MAP
для QGIS Server.
Теперь, когда все правильно настроено, мы можем запустить тестовый набор OGC API Features 1.0:
pyogctest -s ogcapif -u http://XXX.XXX.XXX.XXX/qgisserver
=========================== OGC test session starts ============================
collected 56 items
collections::FeatureCollections::retrieveApiModel .
collections::FeatureCollections::noOfCollections .
collections::FeatureCollections::requirementClasses .
...
...
...
=========================== 56 passed in 24 seconds ============================