Домой О курсе За настройки MapProxy отвечают 2 файла: * **mappproxy.yaml** - основной файл конфигурации MapProxy; * **seed.yaml** - файл конфигурации утилиты *mapproxy-seed*; Настройки MapProxy описываются в текстовом формате [YAML](http://ru.wikipedia.org/wiki/YAML). Файл **mapproxy.yaml** состоит из нескольких разделов (порядок произвольный): * **services** - конфигурация выходных сервисов, таких как WMS, TMS, WMTS; * **layers** - настройка слоёв, каждый слой может содержать в себе несколько источников и кэшей; * **sources** - конфигурирование источников данных; * **caches** - настройка кэширования; * **grids** - настройка сетки тайлов; * **globals** - глобальные настройки, которые могут быть использованы в других конфигурационных директивах. Настройка MapProxy ================== В домашней директории создадим каталог `vegamapproxy` и в ней пустой файл `mapproxy.yaml`: cd ~ mkdir vegamapproxy && cd vegamapproxy && touch mapproxy.yaml Настройка сервисов (**services**) --------------------------------- По крайней мере один сервис должен быть определён. Описание сервиса представляет собой словарь YAML, корневой элемент которого - тип сервиса. Сервис может не содержать настроек, но в любом случае после названия типа сервиса долже стоять знак `:`. Для начала создадим WMS-сервис с использованием MapProxy, то есть некоторую обёртку, которая снаружу будет выглядеть как WMS, но фактически будет просто пересылать запросы к основному WMS-серверу. services: demo: wms: md: title: MapProxy WMS Proxy abstract: This is fantastic MapProxy contact: organization: NextGIS email: info@nextgis.ru access_constraints: The data is licensed as Creative Commons Attribution-Share Alike 2.0 fees: 'None' Добавление источников (**sources**) --------------------------------- Каждый источник данных должен иметь по крайней мере *имя* и *тип*, добавим в источники созданный на предыдущих занятиях WMS-сервис: sources: vega_wms: type: wms req: url: http://10.22.0.9/wms layers: water,building transparent: true В данном примере *vega_wms* - имя источника данных. Тип источника *wms* требует наличия конфигурационного параметра *req*, внутри которого следует определит как минимум URL и список слоёв, здесь же можно указать дополнительные параметры, поддерживаемые WMS, например, *transparent* или *format*. Добавление слоёв (**layers**) ----------------------------- После добавления источников следует определить слои: layers: - name: cascaded_test title: Cascaded Test Layer sources: [vega_wms] Сохраните изменения и запустите сервер: mapproxy-util serve-develop -b 0.0.0.0 mapproxy.yaml Перейдите на страницу: http://10.22.0.9:8080/demo/ В списке доступных слоёв должен появиться только что созданный: ![][03-mapproxy-02] Попробуйте визуализировать его в QGIS, используя URL сервиса: http://10.22.0.9:8080/service? Настройка кэширования (**caches**) ---------------------------------- Для увеличения быстройдействия настроим кэширование. Каждый кэш должен знать где ему брать новые данные и каким образом они должны кэшироваться. MapProxy разбивает изображения, поступаемые от источников данных на мелкие тайлы и выравнивает их по сетке. Настройки сетки можно задавать самостоятельно, мы же в данном случае воспользуемся предустановленной сеткой `GLOBAL_MERCATOR`, немного переопределив её параметры, изменив заправшиваемую систему координат: grids: gridmerc: base: GLOBAL_MERCATOR srs: 'EPSG:3857' caches: test_wms_cache: sources: [vega_wms] grids: [gridmerc] Добавление кэшированного слоя ----------------------------- В секцию *layers* добавим кэшированную версию слоя, после чего эта секция будет выглядеть следующим образом: layers: - name: cascaded_test title: Cascaded Test Layer sources: [vega_wms] - name: test_wms_cache title: Cached Test Layer sources: [test_wms_cache] Ограничение области доступности данных -------------------------------------- Для ограничения области доступных данных определим свойство *coverage*: sources: vega_wms: type: wms req: url: http://10.22.0.9/wms layers: water,building transparent: true coverage: bbox: [29.5089,59.6768,30.7204,60.2201] bbox_srs: 'EPSG:4326' Добавьте в секцию **services** сервисы TMS и WMTS и просмотрите TMS слой в браузере (сервис `demo`). [03-mapproxy-02]: ../img/03-mapproxy-02.png