Страница 1 из 1

Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 10 сен 2015, 22:41
skvit
Добрый вечер добрые люди!
Уже третью неделю хочу настроить себе локально Geoserver + PostgreSQL + карты из Shape. Делаю впервые и нужен ваш совет. С инсталляцией всех приложений проблем не возникло. Проблемы начались при загрузке Shape-файлов взятых на этом сайте.Четыре слоя building-polygon.shp, highway-line.shp, poi-point.shp, poi-polygon.shp были в формате Latin1 и при загрузке в БД русские слова покоробило. Начал исправлять кодировку через QGIS. При выгрузке слоев с исправленной кодировкой потерялись индексы в таблицах, затормозило, создал индексы вручную. Теперь не могу из проекта QGIS нормально перенести стили - не переносятся настройки уровня масштабирования для отрисовки и типы шрифтов. Что я делаю не так? Есть ли у вас готовые нарезки SLD файлов под этот проект для каждой таблицы из Shape-файлов?

Источник карты: http://gis-lab.info/qa/osmshp.html
Хочу похожий стиль: qgis_mapnik_lowcontrast

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 11 сен 2015, 10:29
Andrey Zhukov
1. Просто так стили с shp на PostGIS не переносятся.
2. Просто так sld из QGIS на GeoServer тоже не переносятся.
3. Sld лично я находил только на структуру osm2pgsql.

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 11 сен 2015, 11:59
skvit
Объясню свои действия. В источнике Shape-файлов приложен проект на QGIS с настройками стилей под каждый слой.
Я открыл проект. QGIS рисует карту как мне надо. В свойствах каждого слоя я взял и сохранил стиль в SLD файле. Эти стили я добавил в Geoserver. Геосервер рисует полигоны в цветах. Проблема в том, что нет текста и нет фильтров для разных уровней масштабирования. Начинаю руками добавлять условия, например, <sld:MaxScaleDenominator>2000000.0</sld:MaxScaleDenominator> и <sld:TextSymbolizer> ... Процесс долгий и не все получается как хочется ... Может есть уже готовое решение?

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 11 сен 2015, 12:00
Andrey Zhukov
Я об этом и говорю, быстрого нет.

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 16 сен 2015, 19:24
skvit
Доброго всем дня.

Хочу поделиться частью файлов со стилями, которые я сформировал. Осталось доработать оставшиеся слои, но не все получается. Если кто хочет присоединиться к работе, то это станет достоянием общества.
Прилагаю скриншот фрагмента карты.

Для редактирования SLD-файлов есть программа uDig (http://udig.refractions.net/download/)

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 26 сен 2015, 17:13
skvit
Доработал масштабируемость слоя building-polygon. Как устранить раздвоение в нумерации домов при увеличении масштаба?

P.S.
Отвечу себе сам: <sld:VendorOption name="partials">true</sld:VendorOption>

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 30 сен 2015, 08:57
skvit
Доброго всем дня.
Выложу итоги своей мучительной работы. Основное уже есть и украшать слои больше нет сил.
Скриншоты прилагаются. Пользуйтесь, улучшайте, выкладывайте ваши работы в форуме.

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 30 сен 2015, 13:10
Александр Мурый
skvit писал(а): Выложу итоги своей мучительной работы. Основное уже есть и украшать слои больше нет сил.
Скриншоты прилагаются. Пользуйтесь, улучшайте, выкладывайте ваши работы в форуме.
Спасибо за работу! А вы не хотите написать краткую статью с картинками про созданные стили и их использование? В таком случае больше людей воспользовались бы.

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 30 сен 2015, 18:51
skvit
Статью обязательно напишу, но когда появится немного свободного времени. Если кратко, то порядок установки такой.
1. Устанавливаем Java SDK.
2. Устанавливаем PostgreSQL + PostGIS. Создаем базу данных в кодировке UTF-8, добавляем расширения postgis, postgis_topology.
3. Устанавливаем QGIS.
4. Берем отсюда http://gis-lab.info/qa/osmshp.html Shape-файлы карты.
5. Через PostGIS загружаем слои в БД PostgreSQL в кодировке UTF-8.
6. Слои building-polygon.shp, highway-line.shp, poi-point.shp, poi-polygon.shp в кодировке Latin1. Их загружаем через модуль программы QGIS так: нажимаем кнопку добавить векторный слой в кодировке "Latin1", после добавления в свойствах слоя меняем кодировку на UTF-8, выбираем в меню База данных->SPIT и загружаем слой в БД PostgreSQL. В базе данных создаем индекс по полю geom для этих таблиц.

CREATE INDEX "building-polygon_geom_idx"
ON public."building-polygon"
USING gist
(geom);

CREATE INDEX "highway-line_geom_idx"
ON public."highway-line"
USING gist
(geom);

CREATE INDEX "poi-point_geom_idx"
ON public."poi-point"
USING gist
(geom);

CREATE INDEX "poi-polygon_geom_idx"
ON public."poi-polygon"
USING gist
(geom);

7. Устанавливаем Geoserver.
8. Добавляем стили из приложенных SLD-файлов.
9. Добавляем слои карты из БД PostgreSQL и задаем соответствующий стиль по названию слоя.
10. Группируем слои. Порядок слоев в группе есть в прилагаемом скриншоте.

По настройке Geoserver есть обучающее видео: http://www.youtube.com/watch?v=E1YhKX02krk

Всем удачи!

Re: Стили для Shape-файлов 2015 года в Geoserver

Добавлено: 11 фев 2019, 14:59
Владимир Орлов
skvit, коллега, добрый день!
Попробовал применить твои SLD-файлы при загрузке в Geoserver карт из QGIS - не получается.
Сами SLD загружаются, но изображение не отображается почему-то.
Если ты на связи, подскажи, что к чему?