Как установить и настроить GeoServer

GeoServer является картографическим сервером с открытым исходным кодом, который среди многих прочих возможностей, реализует следующие спецификации OGS: WMS, WFS, WCS. Однако, в отличие от MapServer, GeoServer реализует спецификацию WFS-T (WFS-Transaction). Это означает, что используя GeoServer, вы можете не только получать данные для построения на их основе собственных карт, но также редактировать полученные данные с последующим автоматическим обновлением исходной информации на сервере. Среди поддерживаемых форматов значатся: JPEG, PNG, SVG, KML/KMZ, GML, PDF, ESRI Shapefile и другие.

Другой интересной особенностью, отличающей GeoServer от MapServer или FeatureServer (еще одного картографического сервера с открытым исходным кодом), является поставляемая с GeoServer визуальная система управления файлами настроек и описания данных для проектов GeoServer. Эта система реализована в виде веб-интерфейса и предоставляет пользователю возможность интерактивного создания и изменения разрабатываемого картографического ресурса. Мы не будем дискутировать здесь по поводу преимуществ и недостатков такого подхода, а просто отметим указанную особенность GeoServer.

Установка и запуск GeoServer

Поскольку GeoServer создан на основе Geotools - набора инструментов, написанных на Java, для его работы необходимо иметь установленный в системе Java Development Kit (JDK), версии не ниже 1.4

Для установки GeoServer (точнее, его бинарного дистрибутива) необходимо проделать следующие шаги (считается, что JDK уже установлен):

Скачать дистрибутив с сайта http://sourceforge.net/projects/geoserver

Распаковать дистрибутив в папку, которая будет считаться папкой установки GeoServer
Задать значение переменной окружения JAVA_HOME={каталог, в котором установлен JDK}
Задать значение переменной окружения GEOSERVER_HOME={каталог, в который распакован GeoServer}

Настройка и запуск GeoServer

Перейти в каталог, в который был распакован GeoServer, подкаталог /bin и запустить на выполнение файл startup.bat или startup.sh (в зависимости от того, работаете вы в Windows или UNIX).

Набрать в браузере адрес: http://localhost:8080/

Если все было установлено корректно, то по этой ссылке будут доступны административные утилиты, поставляемые с GeoServer. Более подробную информацию о настройке и запуске GeoServer можно найти на сайте GeoServer. См. также файл RUNNING.txt, поставляемый с дистрибутивом - там можно найти дополнительную информацию о процедуре инсталяции и различных проблемах, которые могут возникнуть в процессе установки.

Как корректно остановить GeoServer

Перейти в каталог, в который был распакован GeoServer, подкаталог /bin и запустить на выполнение файл shutdown.bat (Windows) или shutdown.sh (Unix). GeoServer будет остановлен.

Как опубликовать карту в Shape-формате (расширение shp) в интернете с помощью GeoServer

Начнем с простого: у вас имеется shape-файл и вы хотите создать на его основе слой, который будет доступен для работы через интернет. Для того, чтобы GeoServer мог начать транслировать ваши данные, нужно проделать две вещи: во-первых, скопировать данные в нужное место и, во-вторых, настроить метаданнные.

Вот краткое пошаговое описание, более подробно каждый пункт будет рассписан ниже:

  • Копирование исходных данных
  • Создание хранилища данных
  • Создание нового типа объектов
  • Настройка проекции
  • Генерация ограничивающего прямоугольника (охвата).
  • Сохранение настроек
  • Просмотр данных при помощи утилит, поставляемых с GeoServer (Map Preview) или других клиентов

Копирование исходных данных

Скопируйте ваш shape-файл в папку с рабочими материалами [папка GeoServer]/data_dir/data/ (а еще лучше, создайте там папку test и положите в него ваш файл).

Для создания нового хранилища данных нужно:

Запустить GeoServer. В браузере набрать адрес: http://localhost:8080/

Кликнуть ссылку "Login". Ввести имя и пароль (по умолчанию username=admin и password=geoserver). Щелкнуть кнопку "Submit".

Теперь нужно указать GeoServer, какие данные будут добавлены, и где они хранятся. В меню слева переходим по ссылкам: Config/Data/Data Stores/New.

В открывшемся диалоге выбираем тип данных - Shapefile и вводим в строке Feature Data Set ID название по которому мы в последствии будет обращаться к нашим данным (например, tutorial). Нажать кнопку "New".

Указать нужный shape-файл: для этого следует записать его адрес (путь, относительно каталога data_dir) в строке "url". Например, если shape-файл tutorial.shp расположен в каталоге "C:/Program_Files/GeoServer/data_dir/data/test/test.shp", тогда его следует указать в виде "file:data/test/test.shp". После этого нажать кнопку "Submit". (Не известно, с чем это связно, но при нажатии этой кнопки вылетает ошибка "java.lang.RuntimeException: selectedDataStoreId required in Session" до тех пор, пока не поменять кодировку файла, указываемую в строке настройки charset, на ISO-8859-1. Хотя, не исключено, что это попросту несчастный случай - возможно, в системе, на которой происходило тестирование GeoServer, что-то было не до конца установлено. Во всяком случае, других проблем в работе GeoServer замечено не было.)

Создание нового типа объектов (FeatureType)

На этом этапе можно задать тип объекта (FeatureType), используемый для последующей настройки внешнего вида карты (см. документацию по спецификациям WMS и WFS). В терминологии WMS понятию FeatureType GeoServer соответствует термин "слой" слой (layer), настройка собственно слоев также производится в секции FeatureType.

Что такое FeatureType? Если коротко, то суть состоит в следующем: спецификация WFS отделяет сами данные от их представления, т.е. сначала должен быть описан абстрактный тип данных, к которому принадлежит некоторый объект (т.е должны быть указаны геометрический тип объекта и список атрибутов, которыми характеризуется этот объект). Кроме этого, создается также описание того, каким образом нужно отображать выделенный тип данных при построении карты, причем, для одного и того же типа данных может быть построено несколько разных представлений. Каждый объект должен быть отнесен к тому или иному типу данных. Таким образом, при отображении карты она фактически собирается из описаний объектов (их типов) и описаний представлений объектов. Но, как уже было сказано, в случае создания WMS службы вместо "FeatureType" более уместно употребление термина "слой".

Итак, зададим тип объекта, для этого переходим по ссылкам Data/FeatureTypes/New, попадаем в раздел FeatureType Editor (в некоторых версиях GeoServer переход сюда осуществляется автоматически сразу после создания нового хранилища данных). Находим раздел "стиль" ("Style") и нажимаем кнопку 'Create New SLD'. Появляется новый диалог, в котором нужно задать требуемые свойства (цвет текста, линий и т.п.). Нажимаем "Apply" чтобы посмотреть результаты или "Finished", чтобы выйти из диалога.

Настройка картографической проекции в GeoServer

Первым делом убедитесь, что в каталоге с вашим shp-файлом хранится файл описанием его проекции (*.prj). Нажмите кнопку "Lookup SRS". Если файл с проекциями был найден GeoServer, то в строке src появится epsg-код проекции. Также можно ввести этот код самостоятельно (например, 4326 - широта/долгота) см. также документацию по настройке проекций в GeoServer.

Генерация ограничивающего прямоугольника

Для того, чтобы сгенерировать ограничивающий прямоугольник, достаточно кликнуть мышкой на кнопке "Generate". Затем нужно кликнуть кнопку "Submit".

Сохранение настроек GeoServer

Щелкните "Apply" и затем "Save".

Просмотр данных в Map Preview

Пришло время посмотреть, что же получилось. Самый простой способ это сделать - посмотреть все в Map Preview GeoServer. Для этого нужно последовательно нажать следующие ссылки: Demo/Map Preview. Появится список доступных карт. В этом списке щелкнуть мышью на ссылке "Preview" ("OpenLayers") около только что созданного слоя карты. Должно появиться новое окошко с картой.

Для просмотра карты также можно воспользоваться каким-либо WMS клиентом, например, QGIS, ArcGIS Explorer, ArcGIS, MapInfo, uDig и др (примеры использования WMS).

Оформление карты SLD

В этом разделе будет рассматриваться язык описания стилей - Styled Layer Descriptors (SLD). SLD - язык, основанный на языке XML, его открытая спецификация изложена в этом документе. Как и выше, все, что приводится в данном разделе представляет собой перевод документаци, доступной на этом сайте. По сути, SLD представляет из себя аналог AVL, способа описания стиля объекта, с которым он будет визуализироваться.

Что такое SLD — Styled Layer Descriptors

Создание простого описания:

Создадим текстовый файл (не очень важно в каком каталоге) и назовем его lines.sld. Скопируем в него следующий текст:

<?xml version="1.0" encoding="windows-1251"?>
<StyledLayerDescriptor version="1.0.0"
        xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
    xmlns="http://www.opengis.net/sld"
    xmlns:ogc="http://www.opengis.net/ogc"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <NamedLayer>
                        <Name>Линия по умолчанию</Name>
                        <UserStyle>
                                <Title>Стиль границ по умолчанию</Title>
                                <Abstract>Пример стиля, который будет показывать зеленую линию</Abstract>
                                <FeatureTypeStyle>
                    <!-- Правило 1 -->
                                        <Rule>
                                        <Name>Rule 1</Name>
                                        <Title>Зеленая линия</Title>
                                        <Abstract>Зеленая линия толщиной в 2 пикселя</Abstract>
                    <LineSymbolizer>
                                                <Stroke>
                                                        <CssParameter name="stroke">#319738</CssParameter>
                                                        <CssParameter name="stroke-width">2</CssParameter>
                                                </Stroke>
                                        </LineSymbolizer>
                                        </Rule>
                                </FeatureTypeStyle>
                        </UserStyle>
                </NamedLayer>
        </StyledLayerDescriptor>

Наиболее интересная часть - раздел правил (Rule), в которой описывается как и что отрисовывать (раздел LineSymbolizer). В одном документе может быть несколько правил.

Подключение стиля SLD

Для подключения файла lines.sld нужно запустить GeoServer, зайти на страницу настройки стиля (нажимая последовательно ссылки Config/Data/Style). Выбрать ссылку "New". На появившейся странице ввести StyleID: lines, FileName: путь_к_файлу/lines.sld. Нажать Submit. Далее будет произведена проверка файла на корректность. Если все прошло хорошо (не появилось сообщение об ошибке), то нажать кнопку "Apply"

Использование стиля в GeoServer

На предыдущем шаге мы добавили свой стиль. Теперь требуется указать, что наши данные нужно показывать новым стилем.

Зайти на страницу настройки GeoServer (ссылки Config/Data/FeatureType), в строке Feature Types выбрать тип данных, к которому нужно применить созданный стиль. Нажать "Edit". На открывшейся странице в строке Style выбрать "lines" и нажать "Apply". Результат можно посмотреть через Demo/Map Preview или любым WMS клиентом.

Пишите отзывы о Geoserver

В данной статье рассмотрены азы использования GeoServer для публикаций в web картографических материалов. Не рассмотренными и даже не упомянутыми в статье остались такие возможности GeoServer, как подключение к GeoServer данных, представленных в форматах, отличных от shp или хранящихся в пространственных БД (PostGIS, Oracle, MySQL и др.). Не приведены примеры по настройке и использованию служб WFS и WCS, не рассмотрена встроеная в GeoServer система безопасности, защищающая публикуемые данные от несанкционированного доступа и изменения, а также многие другие аспекты. Тем не менее, данная статья, как мы надеемся, позволит читателю получить примерное представление об основных возможностях и приемах работы с GeoServer.

Конечно, мы планируем развивать это описание и добавлять описания новых аспектов работы с GeoServer по мере роста к нему интереса. Мы безусловно приветствуем и поддержим публикацию на нашем сайте и Ваших материалов и наработок по GeoServer.

Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.