Кэширующий тайловый сервер MapProxy
-----------------------------------
![][03-mapproxy-01]
[03-mapproxy-01]: ../img/03-mapproxy-01.png
**Особенности:**
* Библиотека на Python
* Конфигурируется файлом **YAML**
* Форматы источников: **WMS**, **TMS**, **Mapnik**, **MapServer**
* Форматы сервисов: **WMS**, **WMTS**, **TMS**, **KML Superoverlay**
* Форматы хранения данных: **файлы (TMS)**, **mbtiles**, **couchdb**
Установка MapProxy
------------------
MapProxy рекомендуется устанавливат в отдельное [виртуальное окружение](http://guide.python-distribute.org/virtualenv.html):
sudo aptitude install python-virtualenv
cd ~
virtualenv --system-site-packages mapproxy
Зависимости:
sudo aptitude install build-essential python-dev libjpeg8-dev zlib1g-dev libfreetype6-dev python-yaml libproj0
Опциональные пакеты:
sudo aptitude install libgeos-dev python-lxml libgdal-dev python-shapely
Активируем виртуальное окружение:
cd ~
. mapproxy/bin/activate
Установка Pillow (обязательно):
pip install Pillow
Просмотрите результат вывода установщика в консоли на предмет того, что PIL
собран с поддержкой **ZLIB**, **JPEG** и **FREETYPE2**.
--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version Pillow 2.4.0
platform linux2 2.7.7 (default, Jun 3 2014, 16:16:56)
[GCC 4.8.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/ZIP) support available
*** LIBTIFF support not available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX support not available
--------------------------------------------------------------------
Установка MapProxy:
pip install MapProxy
Чтобы убедиться, что MapProxy установился корректно, выполните команду:
mapproxy-util --version
Должна отобразиться версия MapProxy:
Mapproxy 1.6.0
Создание файлов настройки
-------------------------
Выполните команду:
mapproxy-util create -t base-config mymapproxy
В вашем домашнем каталоге будет создан каталог **mymapproxy**
с примерами конфигурационных файлов **mapproxy.yaml** и **seed.yaml**.
Запуск тестового сервера
------------------------
cd mymapproxy
mapproxy-util serve-develop -b 0.0.0.0 mapproxy.yaml
Запустится сервер, публикующий данные с Omniscale OpenStreetMap WMS.
В MapProxy входит служебный сервис `demo`, позволяющий просматривать
список всех опубликованных WMS и TMS слоёв. Доступ к нему
можно получить перейдя по адресу:
http://10.22.0.9:8080/demo