Работа с произвольными областями (OpenLayers 3)
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 22 мар 2016, 16:07
- Репутация: 0
Работа с произвольными областями (OpenLayers 3)
Доброго времени суток!
На сервер с 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: с городами разобрался, вопрос снят
На сервер с 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 (39 КБ) 6957 просмотров
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Работа с произвольными областями (OpenLayers 3)
Мало чего понял, как ваша возникшая необходимость связана с последующими вопросами? Какие объекты вы хотите объединять, если у вас тайлы?
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 22 мар 2016, 16:07
- Репутация: 0
Re: Работа с произвольными областями (OpenLayers 3)
Окей. Попробуем по шагам
Объединять необходимо визуально несколько областей в одну. Скажем, объединить Московскую, Тверскую и Нижегородскую область в одну, проведя по ним всем границу, как если бы это была одна область. Следующая задача - навесить на эту область обработку событий, стили и прочее. Например, сделать так, чтобы область подсвечивалась при наведении, чтобы при клике отображался попап или что-то навроде этого. Собственно, это всё.
Из более-менее похожего по части построения областей я вижу вот такое: http://openlayers.org/en/v3.14.2/exampl ... tyles.html . Но возможно ли такое построить на основе данных, получаемых от произвольной области?
Объединять необходимо визуально несколько областей в одну. Скажем, объединить Московскую, Тверскую и Нижегородскую область в одну, проведя по ним всем границу, как если бы это была одна область. Следующая задача - навесить на эту область обработку событий, стили и прочее. Например, сделать так, чтобы область подсвечивалась при наведении, чтобы при клике отображался попап или что-то навроде этого. Собственно, это всё.
Из более-менее похожего по части построения областей я вижу вот такое: http://openlayers.org/en/v3.14.2/exampl ... tyles.html . Но возможно ли такое построить на основе данных, получаемых от произвольной области?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Работа с произвольными областями (OpenLayers 3)
Подготовить векторный слой и отобразить его поверх тайловой подложки, например, в виде векторных тайлов.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 22 мар 2016, 16:07
- Репутация: 0
Re: Работа с произвольными областями (OpenLayers 3)
А как в таком случае получать все координаты границы области, по которой рисовать? Или же под подготовкой тайлов имеется в виду просто рисование их вручную и наложение поверх?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Работа с произвольными областями (OpenLayers 3)
Зачем рисовать, у вас же в PostGIS-е вектор.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 22 мар 2016, 16:07
- Репутация: 0
Re: Работа с произвольными областями (OpenLayers 3)
Да, но мне необходимы координаты границ, по которым рисовать полигоны.
Нарыл что-то вот такое: http://gis-lab.info/qa/rusbounds-rosreestr-gen.html . Соответственно, делаем GeoJSON источником данных и по полученным координатам рисуем области. Так?
Нарыл что-то вот такое: http://gis-lab.info/qa/rusbounds-rosreestr-gen.html . Соответственно, делаем GeoJSON источником данных и по полученным координатам рисуем области. Так?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Работа с произвольными областями (OpenLayers 3)
Не понял, зачем что-то рыть, если все данные у вас уже есть, создайте в PostGIS новый слой с полигонами регионов, что вы привели, с помощью ST_Union объедините нужные - и дальше что хотите, то и делайте с этим вектором.
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей