GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Определить bbox для WMS сервиса

Не знаете, где задать вопрос? Задавайте здесь.

Re: Определить bbox для WMS сервиса

Сообщение kasik » 22 мар 2017, 18:41

Получается значит вписать этот охват в текущую картинку, как то трансформируя его или прибавляя "уши" по бокам или сверху/снизу. Но как сделать? Нужно соответствие размера картинки и размера охвата.
  • 0

kasik
Интересующийся
 
Зарегистрирован: 27 янв 2017
 
Сообщения: 16
Репутация: 0

Re: Определить bbox для WMS сервиса

Сообщение kasik » 22 мар 2017, 18:43

freeExec писал(а):Одну сторону картинки задаёшь, а вторую высчитываешь из пропорции.
Высота картинки = Длинна картинки * Высота Ббокс / Ширина Ббокс, вроде так.


Но нужно наоброт, взяв охват и вписать в текущие размеры с определенными трансформации bbox, ведь необязательно текущий охват будет соответствовать размером картинки.
  • 0

kasik
Интересующийся
 
Зарегистрирован: 27 янв 2017
 
Сообщения: 16
Репутация: 0

Re: Определить bbox для WMS сервиса

Сообщение Denis Rykov » 22 мар 2017, 18:52

Если размер выходного изображения жёстко задан и не соответствует пропорциям охвата, то измените охват, чтобы они соответствовали. Я не понимаю, в чём проблема то? Предположим, что размер изображения задан - 320x240, а стороны охвата относятся как 1:1. Получается, чтобы вписать данный охват в указанные границы - его нужно привести к таким же пропорциям. Охват будем увеличивать, чтобы не потерялись нужные объекты.

Код: Выделить всё
# a - ширина bbox
# b - высота bbox
# q - отношение ширины изображения к высоте (320:240)
# dx - приращение bbox-а по ширине
# dy - приращение bbox-а по высоте
(a+dx)/(d+dy) = q


Задавая различные приращения, например, dx - вычисляем значение dy, если получили dy < 0 (охват уменьшился), значит увеличиваем dx, до тех пор, пока dy не станет > 0. Определив приращения охвата, формируем его итоговое значение. Тут можно поступить по-разному: либо просто добавить приращения к соответствующим координатам, либо сделать так, чтобы центр охвата попал в центр изображения. Всё. Вот пример того как вписать квадратный охват в границы 320x240 - результат.
  • 1

Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Denis Rykov
Author
 
Зарегистрирован: 11 апр 2008
 
Сообщения: 3240
Репутация: 462
Статьи: 33
Проекты: 9

Пред.

Вернуться в Я новичок!

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

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


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).