OpenLaers3 + большой векторный слой от GeoServer

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

Здравствуйте!
Посоветуйте пожалуйста решение.
Нужно добавить векторный слой в OpenLaers3, который раздаю из GeoServer. В KML и GeoJSON получается слишком большой размер - около 300Мб. Естественно оболочка на JS такое переваривать отказывается. Раздавать слой в картинках/тайлах не подходит, т.к. в WEB требуется работа с полигонами.
Какой подход нужно использовать в подобных случаях? Может быть как-то можно подгружать векторную информацию подобно тайлам - по мере обращения к участкам карты?
Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Andrey Zhukov »

Тут явно проблема с количеством данных.
Прежде чем давать советы по работе с кучей геометрии, надо разобраться, а зачем оно вообще надо. У вас цель какая? Что вы делаете с объектами?
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

Andrey Zhukov писал(а):Тут явно проблема с количеством данных.
Прежде чем давать советы по работе с кучей геометрии, надо разобраться, а зачем оно вообще надо. У вас цель какая? Что вы делаете с объектами?
Есть много полигонов. У каждого етсь небольшое текстовое описание. Задача при нажатии выдавать этот текст. И подсвечивать полигон если курсор над ним.
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

Я поразмыслил, и склоняюсь к рарбивки шейпа/слоя на несколько квадратов(по 10-50Мб в векторе), и пользователю давать работать с одним, при этом выгружать из памяти предыдущий.
Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Andrey Zhukov »

Задача при нажатии выдавать этот текст
WFS не нужен, можно обойтись WMS и GetFeatureInfo
подсвечивать полигон если курсор над ним
А вот тут засада. Варианты: упрощенная геометрия для "подсветки", векторные тайлы, ограничение по BBOX.
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

Andrey Zhukov писал(а):WFS не нужен, можно обойтись WMS и GetFeatureInfo
А как работает GetFeatureInfo с OL? Я в документации OL3 ничего про это не нашел. Или Вы это написали без привязке к OpenLayers?
Andrey Zhukov писал(а):А вот тут засада. Варианты: упрощенная геометрия для "подсветки", векторные тайлы, ограничение по BBOX.
Что значит: 1) Упрощенная геометрия? 2)Векторные тайлы - такое возможно на GeoServer ? 3) Что Вы имели ввиду про BBOX?
Или имеется ввиду самому реализовать что-то вроде векторных тайлов, запрашивая, например, у геосервера теже KML-ки по WMS, ограничивая свой тайл в запросе при помощи BBOX?
ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение ericsson »

Kot137 писал(а):
Andrey Zhukov писал(а):WFS не нужен, можно обойтись WMS и GetFeatureInfo
А как работает GetFeatureInfo с OL? Я в документации OL3 ничего про это не нашел.
А вы вообще искали?
Первая ссылка по запросу openlayers 3 getfeatureinfo: http://openlayers.org/en/v3.0.0/example ... -tile.html
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

ericsson писал(а):А вы вообще искали?
Первая ссылка по запросу openlayers 3 getfeatureinfo: http://openlayers.org/en/v3.0.0/example ... -tile.html
Конечно искал. В коде нет GetFeatureInfo. Есть только некая getGetFeatureInfoUrl. В OpenLayers 3 Beginner's Guide тоже ничего толком про это не написанно. И на сайте OL искал...
ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение ericsson »

Вы пробовали понять, как работает код этого примера?
GetFeatureInfo - это запрос протокола WMS. Задача OL в данном случае - сгенерировать вам при щелчке на feature в окне карты соответствующий URL запроса к WMS-серверу. А к тому, как вы этим URL-ом распорядитесь, OL не имеет и не должен иметь никакого отношения. Дергайте этот URL сами, получайте ответ, выводите ответ внутри balloon-а, или отдельно где-то (как в примере по ссылке). Повторю - это не связано с задачами OL напрямую.
Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение Kot137 »

ericsson писал(а):Дергайте этот URL сами, получайте ответ, выводите ответ внутри balloon-а, или отдельно где-то (как в примере по ссылке). Повторю - это не связано с задачами OL напрямую.
Большое спасибо. Теперь принцип понятен. Посути это AJAX запрос, и ответ я как хочу так и использую в JS.
ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: OpenLaers3 + большой векторный слой от GeoServer

Сообщение ericsson »

Вы можете сделать этот запрос асинхронно, но даже это не обязательно.
Ответить

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

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

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