OSM данные для WMS клиентов
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 25 сен 2014, 14:01
- Репутация: 0
OSM данные для WMS клиентов
Добрый день!
Есть небольшое количество WMS-клиентов(макс.одновременно 10-20), которым нужно отображать OSM данные у себя на машине(могут потребоваться отдельные регионы), довольно часто не имея выхода в интернет.
Нет необходимого опыта реализации серверной части так, чтобы система работала более или менее шустро. После прочтения форума видится следующая структура.
Server1- Postgresql база данных OSM всей планеты.
Server2 - ГИС сервер (mapserver,mapnik)+WebServer(Apache,Tomcat)
Server3...n - балансировщик(прокси), который будет обрабатывать запрос к ГИС серверу, рендерить тайлы определенной области и хранить каким-либо образом(возможно в бд), отдавая клиенту при первом запросе по WMS протоколу.
Кто может проконсультировать насколько верно данное направление мыслей? Может есть более современная реализация или технологии. естественно интересует OpenSource решение.
Есть небольшое количество WMS-клиентов(макс.одновременно 10-20), которым нужно отображать OSM данные у себя на машине(могут потребоваться отдельные регионы), довольно часто не имея выхода в интернет.
Нет необходимого опыта реализации серверной части так, чтобы система работала более или менее шустро. После прочтения форума видится следующая структура.
Server1- Postgresql база данных OSM всей планеты.
Server2 - ГИС сервер (mapserver,mapnik)+WebServer(Apache,Tomcat)
Server3...n - балансировщик(прокси), который будет обрабатывать запрос к ГИС серверу, рендерить тайлы определенной области и хранить каким-либо образом(возможно в бд), отдавая клиенту при первом запросе по WMS протоколу.
Кто может проконсультировать насколько верно данное направление мыслей? Может есть более современная реализация или технологии. естественно интересует OpenSource решение.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: OSM данные для WMS клиентов
Так в чем вопрос, собственно?
Ваше направление мысли очень даже верное. Для современных ГИС-серверов 10-20 клиентов это мелочь, даже не заметит сервер.
Насчет "балансировщика (прокси)" не совсем понятно. У Вас WMTS или WMS клиент ? (раз написали про тайлы). Если тайлы (WMTS), то разумнее заранее их генерировать и положить в соответствующее хранилище.
На GIS-Lab поищите, есть несколько статей как развернуть и т.д.
Еще не совсем понятно, что значит "довольно часто не имея выхода в интернет", если Вы планируете хранить в своей СУБД данные, зачем интернет?
Какое клиентские приложение ?
Ваше направление мысли очень даже верное. Для современных ГИС-серверов 10-20 клиентов это мелочь, даже не заметит сервер.
Насчет "балансировщика (прокси)" не совсем понятно. У Вас WMTS или WMS клиент ? (раз написали про тайлы). Если тайлы (WMTS), то разумнее заранее их генерировать и положить в соответствующее хранилище.
На GIS-Lab поищите, есть несколько статей как развернуть и т.д.
Еще не совсем понятно, что значит "довольно часто не имея выхода в интернет", если Вы планируете хранить в своей СУБД данные, зачем интернет?
Какое клиентские приложение ?
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 25 сен 2014, 14:01
- Репутация: 0
Re: OSM данные для WMS клиентов
Клиенты WMS, java приложение.
Мысль заключалась в том, чтоб отдавать клиенту по WMS данные, при этом снизить нагрузку на сам сервер, поставив прокси, который уже заранее оттайлит какой то участок карты и будет отдавать готовую картинку. Правильно я понимаю, что готовые картинки отдавать быстрее нежели генерить множественные запросы к бд и рендеру на формирование картинок, ведь кеш здесь не используется? Поправьте меня если просто неправильно мыслю.
"Не имея выхода в интернет" означает только то, что нужно хранить векторные данные локально а не тайлить\рендерить их с какого то удаленного хоста.
Мысль заключалась в том, чтоб отдавать клиенту по WMS данные, при этом снизить нагрузку на сам сервер, поставив прокси, который уже заранее оттайлит какой то участок карты и будет отдавать готовую картинку. Правильно я понимаю, что готовые картинки отдавать быстрее нежели генерить множественные запросы к бд и рендеру на формирование картинок, ведь кеш здесь не используется? Поправьте меня если просто неправильно мыслю.
"Не имея выхода в интернет" означает только то, что нужно хранить векторные данные локально а не тайлить\рендерить их с какого то удаленного хоста.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: OSM данные для WMS клиентов
Естественно, сразу отдавать любой ресурс (из кэша), в том числе и картинку, проще, чем подготовить этот ресурс, а потом отдать. Это же и так понятно 
Просто кэшировать WMS - насколько это оправданно будет?
WMS отдает "картинку" на заданный экстент карты.
Если будете кэшировать, то какова вероятность того, что придет запрос на ранее подготовленную (и кэшированную) картинку ?
Может Вам лучше WMTS использовать, если есть возможность. Какая серверная часть ?

Просто кэшировать WMS - насколько это оправданно будет?
WMS отдает "картинку" на заданный экстент карты.
Если будете кэшировать, то какова вероятность того, что придет запрос на ранее подготовленную (и кэшированную) картинку ?
Может Вам лучше WMTS использовать, если есть возможность. Какая серверная часть ?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: OSM данные для WMS клиентов
Берёте Mapnik, пишите для него стиль, ставите MapProxy, подключаете ваш стиль - на выходе всё что угодно - WMS, WMTS, TMS и прочие сервисы.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 25 сен 2014, 14:01
- Репутация: 0
Re: OSM данные для WMS клиентов
Mapserver+Postgresql+ApacheМожет Вам лучше WMTS использовать, если есть возможность. Какая серверная часть ?
Уверенности никакой нет, полагаю можно сделать преseedинг какого-то количества уровней а остальное подгружать\удалять по мере поступления запросов. Или пойти по пути полного seedинга береговой линии_океан, а остальное просто отдавать по WMS? Опять же, не хватает знаний и порой кажется я просто тыкаю пальцем в небо...
Спасибо посмотрю mapproxy. Смотрел, до этого, связку Mapserver+Mapcache. Не понравилось глюченность последней, и, непонятно как, работающий seedинг данных.Denis Rykov писал(а):Берёте Mapnik, пишите для него стиль, ставите MapProxy, подключаете ваш стиль - на выходе всё что угодно - WMS, WMTS, TMS и прочие сервисы.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость