Определить bbox для WMS сервиса
Добавлено: 20 мар 2017, 11:44
Здравствуйте уважаемые форумчане!
Стоит такая задача: нужно просто картинкой отобразить один из растровых тейловых слоев и на нем один или несколько векторных объектов(по определенному фильтру слоя).
Использую geoserver, для хранения геоданных и leaflet js на клиенте для их отображения.
Одно из решение "красивых" решений это использовать WMS с несколькими слоями и фильтрами для векторных.
Все круто, но нужно указать bbox, причем мне нужно что бы как раз вписать отфильтрованные геообъекты в размер картинки(и что бы хотя бы какую то "рамку" оставить, что бы не впритык в картинке было, то есть удалить немного), который имеет разный размер(то есть задается и высота и ширина)?
Таким образом входные данные такие:
- размерность картинки
- bounding box геообъектов
На выходе нужно получить необходимый bbox для WMS сервиса.
Вроде бы не так и сложно и все инструменты есть в самом leaflet, но как конкретно определить необходимый bbox, исходя из пропорции картинки и еще "удалить" вписанные геообъекты.
Спасибо за любую помощь
PS: И конечно самый красивый вариант был бы использовать процессинг WPS - то есть на вход посылать слои и фильтры для них и размерность картинки, а он бы мне возвращал уже заданную картинку. Но там надо делать запрос составным и нет описания боле мене подробного по всем его функциям, а так методом тыка ен очень весело, да еще в добавок когда в построителе начинаешь делать составные процессы они заполняются не тем что ты настроил, а какой то пустышкой. Поэтому эксперименты с составными вобще все в ручную через какой нить клиент типа curl или прямо из вэб-приложения. Поэтому про него придется забыть, но если у кого то был опыт его использования в подобном плане, то был бы очень раз помощи.
Стоит такая задача: нужно просто картинкой отобразить один из растровых тейловых слоев и на нем один или несколько векторных объектов(по определенному фильтру слоя).
Использую geoserver, для хранения геоданных и leaflet js на клиенте для их отображения.
Одно из решение "красивых" решений это использовать WMS с несколькими слоями и фильтрами для векторных.
Все круто, но нужно указать bbox, причем мне нужно что бы как раз вписать отфильтрованные геообъекты в размер картинки(и что бы хотя бы какую то "рамку" оставить, что бы не впритык в картинке было, то есть удалить немного), который имеет разный размер(то есть задается и высота и ширина)?
Таким образом входные данные такие:
- размерность картинки
- bounding box геообъектов
На выходе нужно получить необходимый bbox для WMS сервиса.
Вроде бы не так и сложно и все инструменты есть в самом leaflet, но как конкретно определить необходимый bbox, исходя из пропорции картинки и еще "удалить" вписанные геообъекты.
Спасибо за любую помощь
PS: И конечно самый красивый вариант был бы использовать процессинг WPS - то есть на вход посылать слои и фильтры для них и размерность картинки, а он бы мне возвращал уже заданную картинку. Но там надо делать запрос составным и нет описания боле мене подробного по всем его функциям, а так методом тыка ен очень весело, да еще в добавок когда в построителе начинаешь делать составные процессы они заполняются не тем что ты настроил, а какой то пустышкой. Поэтому эксперименты с составными вобще все в ручную через какой нить клиент типа curl или прямо из вэб-приложения. Поэтому про него придется забыть, но если у кого то был опыт его использования в подобном плане, то был бы очень раз помощи.