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

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

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

Сообщение Kot137 » 18 окт 2015, 18:30

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

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

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

Сообщение Andrey Zhukov » 18 окт 2015, 18:38

Тут явно проблема с количеством данных.
Прежде чем давать советы по работе с кучей геометрии, надо разобраться, а зачем оно вообще надо. У вас цель какая? Что вы делаете с объектами?

Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

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

Сообщение Kot137 » 18 окт 2015, 18:52

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

Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

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

Сообщение Kot137 » 18 окт 2015, 19:35

Я поразмыслил, и склоняюсь к рарбивки шейпа/слоя на несколько квадратов(по 10-50Мб в векторе), и пользователю давать работать с одним, при этом выгружать из памяти предыдущий.

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

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

Сообщение Andrey Zhukov » 18 окт 2015, 20:24

Задача при нажатии выдавать этот текст
WFS не нужен, можно обойтись WMS и GetFeatureInfo
подсвечивать полигон если курсор над ним
А вот тут засада. Варианты: упрощенная геометрия для "подсветки", векторные тайлы, ограничение по BBOX.

Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

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

Сообщение Kot137 » 19 окт 2015, 01:24

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 » 19 окт 2015, 04:13

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 » 20 окт 2015, 00:49

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 » 20 окт 2015, 01:47

Вы пробовали понять, как работает код этого примера?
GetFeatureInfo - это запрос протокола WMS. Задача OL в данном случае - сгенерировать вам при щелчке на feature в окне карты соответствующий URL запроса к WMS-серверу. А к тому, как вы этим URL-ом распорядитесь, OL не имеет и не должен иметь никакого отношения. Дергайте этот URL сами, получайте ответ, выводите ответ внутри balloon-а, или отдельно где-то (как в примере по ссылке). Повторю - это не связано с задачами OL напрямую.

Kot137
Новоприбывший
Сообщения: 13
Зарегистрирован: 14 окт 2015, 01:24
Репутация: 0

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

Сообщение Kot137 » 20 окт 2015, 02:27

ericsson писал(а):Дергайте этот URL сами, получайте ответ, выводите ответ внутри balloon-а, или отдельно где-то (как в примере по ссылке). Повторю - это не связано с задачами OL напрямую.
Большое спасибо. Теперь принцип понятен. Посути это AJAX запрос, и ответ я как хочу так и использую в JS.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

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

Сообщение ericsson » 20 окт 2015, 04:13

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

Ответить

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

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

Сейчас этот форум просматривают: Semrush [Bot] и 3 гостя