Работа с произвольными областями (OpenLayers 3)

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Cls
Новоприбывший
Сообщения: 4
Зарегистрирован: 22 мар 2016, 16:07
Репутация: 0

Работа с произвольными областями (OpenLayers 3)

Сообщение Cls » 22 мар 2016, 16:34

Доброго времени суток!
На сервер с PostGIS (debian 7, postgres версии 9.4.x) натравлена связка tilecache 2.11 + mapnik. В качестве клиентской обвески к серверу используется OpenLayers 3.14.x . Стили mapnik-а доведены до следующего состояния (скриншот):
Возникла необходимость в объединении нескольких отдельных областей, которые есть на карте, в единый объект с возможностью удаления всех внутренних границ объединённого участка. Посему, следующий вопрос:
1) Как это лучше организовать на уровне кода? Есть ли какие-нибудь примеры вживую?
2) Необходимо, чтобы эти области были кликабельны и активны (имеется в виду возможность изменения стилей области) при наведении курсора. Исходя из того, что карта представляет собой canvas, возникла идея отрисовать на нём дополнительный слой, опираясь на координаты области. Ну и, соответственно, на нём уже воротить всё, что требуется :) Не изобретается ли велосипед? Задача кажется достаточно типичной.
3) Попутно, вопрос в сторону: необходимо отобразить крупные города, в идеале - столицы регионов субъектов РФ. Среди объектов OSM есть только place с уточнением city для городов от 100000 чел., что не совсем применимо в моём случае. Есть ли способ отобразить только центры регионов РФ?
Заранее спасибо! :)

Upd: с городами разобрался, вопрос снят :)
Вложения
1.png
1.png (39 КБ) 6957 просмотров

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Denis Rykov » 22 мар 2016, 19:20

Мало чего понял, как ваша возникшая необходимость связана с последующими вопросами? Какие объекты вы хотите объединять, если у вас тайлы?
Spatial is now, more than ever, just another column- The Geometry Column.

Cls
Новоприбывший
Сообщения: 4
Зарегистрирован: 22 мар 2016, 16:07
Репутация: 0

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Cls » 22 мар 2016, 21:27

Окей. Попробуем по шагам :)
Объединять необходимо визуально несколько областей в одну. Скажем, объединить Московскую, Тверскую и Нижегородскую область в одну, проведя по ним всем границу, как если бы это была одна область. Следующая задача - навесить на эту область обработку событий, стили и прочее. Например, сделать так, чтобы область подсвечивалась при наведении, чтобы при клике отображался попап или что-то навроде этого. Собственно, это всё.
Из более-менее похожего по части построения областей я вижу вот такое: http://openlayers.org/en/v3.14.2/exampl ... tyles.html . Но возможно ли такое построить на основе данных, получаемых от произвольной области?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Denis Rykov » 23 мар 2016, 06:08

Подготовить векторный слой и отобразить его поверх тайловой подложки, например, в виде векторных тайлов.
Spatial is now, more than ever, just another column- The Geometry Column.

Cls
Новоприбывший
Сообщения: 4
Зарегистрирован: 22 мар 2016, 16:07
Репутация: 0

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Cls » 23 мар 2016, 11:07

А как в таком случае получать все координаты границы области, по которой рисовать? Или же под подготовкой тайлов имеется в виду просто рисование их вручную и наложение поверх?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Denis Rykov » 23 мар 2016, 11:51

Зачем рисовать, у вас же в PostGIS-е вектор.
Spatial is now, more than ever, just another column- The Geometry Column.

Cls
Новоприбывший
Сообщения: 4
Зарегистрирован: 22 мар 2016, 16:07
Репутация: 0

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Cls » 23 мар 2016, 12:11

Да, но мне необходимы координаты границ, по которым рисовать полигоны.
Нарыл что-то вот такое: http://gis-lab.info/qa/rusbounds-rosreestr-gen.html . Соответственно, делаем GeoJSON источником данных и по полученным координатам рисуем области. Так?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Работа с произвольными областями (OpenLayers 3)

Сообщение Denis Rykov » 23 мар 2016, 12:17

Не понял, зачем что-то рыть, если все данные у вас уже есть, создайте в PostGIS новый слой с полигонами регионов, что вы привели, с помощью ST_Union объедините нужные - и дальше что хотите, то и делайте с этим вектором.
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей