Gis-lab установка і настройка geowebcache

Розглянуто установка і настройка 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. було:

Посилання по темі

Схожі статті