Розглянуто установка і настройка GeoWebCache
Одним з поширених джерел даних для OpenLayers є сервери WMS. Коли з'являється необхідність (наприклад, пересунули карту або змінили збільшення) вивести нові дані, OpenLayers відправляє запит на сервер WMS із зазначенням регіону (BBOX = 100,100,200,200) і масштабу (перераховується з дозволу в пікселях, WIDTH = 256HEIGHT = 256). Найчастіше, шар на сервері формується з декількох джерел даних (файли, бази даних) і, якщо це векторні дані, вимагає додаткового перетворення (rendering) в растровий формат.
Для оптимізації часу підготовки і доставки даних був запропонований протокол WMS Tile Caching (далі по тексту WMS-C). Основні ідеї:
- запитуваний регіон [BBOX] повинен відповідати заданій сітці (скажімо, весь шар розбитий по сітці 1х1 км, і запитувати можна тільки по квадратах; в реальності сітка визначається по вирішенню та масштабом);
- кількість рівнів збільшення строго обмежена.
Тепер можна підготувати карту в заданому масштабі і розрізати по сітці. Шматочок такої карти називається тайл (tile). Як і раніше, OpenLayers звертається до сервера WMS (насправді клієнт не розрізняє WMS і WMS-C) і отримує набір заздалегідь підготовлених тайлів. Не потрібно час на вибір, підготовку і перетворення даних. Також, як і будь-який кеш-сервер, використання власного сервера WMS-C дозволяє значно скоротити час доставки даних від сторонніх WMS і згладити перебої в їх роботі. Але не забувайте, що скористатися протоколом WMS-C клієнти, що працюють з довільними масштабами (всі настільні ГІС, фреймворки Chameleon і p.mapper), не зможуть.
Зауваження. За замовчуванням, клас OpenLayers.Layer.WMS розрахований на роботу з WMS-C. І тому запитує у сервера безліч дрібних шматочків. Для звичайного WMS ефективніше запитувати карту за один раз [параметр 'singleTile: true'].
Існує кілька реалізацій протоколу WMS-C:
У цій статті розглядається підготовка до роботи GeoWebCache.
2. Установка GeoWebCache
Розглянемо установку GeoWebCache в середовищі Windows. Для роботи в Unix буде потрібно змінити сервера сервлетів (див. Нижче) і, звичайно, зміняться шляху до файлів.
Якщо у вас стоїть GeoServer. то він вже містить встановлений GeoWebCache. Можете переходити відразу до налаштування.
GeoWebCache - це сервлет, тобто для роботи йому потрібен контейнер java-сервлетів (javax.servlet container). Для Windows ми будемо використовувати Jetty (інші варіанти - Tomcat. JBoss. GlassFish).
Jetty - це http сервер з контейнером java-сервлетів (використовується в Windows-версії GeoServer). Дистрибутив розташований тут. Беремо новинка з 6-ї версії (версія 7 ще не стабільна і - головне - в ній відсутній скрипт для запуску Jetty в якості служби). Розпаковуємо, наприклад в c: \ jetty, і запускаємо:
Завантажуємо дистрибутив GeoWebCache у вигляді WAR-файлу. Створюємо папку c: \ jetty \ webapps \ geowebcache \ і кладемо в неї вміст war-файлу (по суті, це просто архів zip). Перезапускаємо Jetty:
Тут наводиться список шарів з підключених серверів WMS. Можна подивитися кілька демонстраційних шарів. За посиланням у колонці "OpenLayers '(якщо ви використовуєте системи координат відмінні від EPSG: 4326 і EPSG: 900913 то см. Колонку' Custom ') автоматично створюється карта на базі OpenLayers. Пізніше, якщо будете додавати шари в OpenLayers, можна використовувати вихідний код цієї сторінки як довідку.
Якщо знадобиться пароль, то він зберігається в файлі WEB-INF \ users.properties, стандартний - geowebcache: secured.
3. Налаштування GeoWebCache
Підключаєте шар wms-c в OpenLayers точно також як звичайний wms. було: