Вопрос из разряда "куда смотреть, что делать"
Добавлено: 16 сен 2014, 16:28
День добрый.
На свой работе я получил задание, которое до текущего момента не входило в зону моей компетенции. И его надо было сделать практически сразу, поэтому пришлось сначала делать, потом думать. Итак.
Дано: /что уже функционировало/ выделен компьютер на Ubuntu. Установлен PostrgeSql + PostGis, Mapnik, Renderd, в базу импортированы данные osm по России.
Задача: Модификация данных на отдельно взятом регионе - выдан файл с планом местности и задачей перенести необходимые объекты с плана местности в электронный вид, то, что расходится с планом отредактировать или удалить. Размер области предположим 10на10км.
Сделано: Пошел по тому пути, который знал - установил JOSM и загрузил искомый квадрат данных с базы OSM, установил в виде подложки план местности, отрисовал необходимые точки, внес изменения, в том числе пришлось добавить новый тег для отрисовки уникальных полигонов. Сохранил в формате .osm Произвел модификацию файла default.style пакета osm2pgsql чтобы новый тег закидывался в базу. Произвел модификацию файла osm.xml - добавил новый слой и стиль слоя для отрисовки нового тега. Чтобы импортировать свой модифицированный файл .osm пришлось грохнуть всю БД postgre и там теперь только мой регион интереса. Через веб проверяю отрисовку карты - все выводится, мои манипуляции с введением нового тега прошли корректно. В целом задание выполнено и результат можно сдавать.
Но это было пилотное задание и практически сразу потребовалось масштабирование результата и теперь в задача формируется так: иметь возможность двухстороннего взаимодействия с локальной БД по аналогии работы josm и openstreetmaps.com /скачивание региона, внесение изменений, заливка обратно данных/. Так же возможность поддержки актуальных данных osm в базе - то есть периодически заносить в локальную БД дампы глобальной osm, без потери своих изменений. /Вопрос - как и как решать конфликтные ситуации/. Разграничение прав пользователей БД, чтобы разным потребителям локальной БД был доступ только отображению определенного сектора пространства /централизованная схема, когда один сервер на нескольких потребителей, данные будут отображаться через веб, без возможности редактирования, а просто отрисовкой тайлов/. Пока схема примерно такая. Но учитывая то, что мои познания в osm неделю назад равнялись только спонтанному редактированию карт через josm, то мне необходима ваша помочь - через какие средства мне построить такую систему, какие инструменты, связки инструментов использовать для реализации, насколько это вообще возможно?
Спасибо, что дочитали до конца.
На свой работе я получил задание, которое до текущего момента не входило в зону моей компетенции. И его надо было сделать практически сразу, поэтому пришлось сначала делать, потом думать. Итак.
Дано: /что уже функционировало/ выделен компьютер на Ubuntu. Установлен PostrgeSql + PostGis, Mapnik, Renderd, в базу импортированы данные osm по России.
Задача: Модификация данных на отдельно взятом регионе - выдан файл с планом местности и задачей перенести необходимые объекты с плана местности в электронный вид, то, что расходится с планом отредактировать или удалить. Размер области предположим 10на10км.
Сделано: Пошел по тому пути, который знал - установил JOSM и загрузил искомый квадрат данных с базы OSM, установил в виде подложки план местности, отрисовал необходимые точки, внес изменения, в том числе пришлось добавить новый тег для отрисовки уникальных полигонов. Сохранил в формате .osm Произвел модификацию файла default.style пакета osm2pgsql чтобы новый тег закидывался в базу. Произвел модификацию файла osm.xml - добавил новый слой и стиль слоя для отрисовки нового тега. Чтобы импортировать свой модифицированный файл .osm пришлось грохнуть всю БД postgre и там теперь только мой регион интереса. Через веб проверяю отрисовку карты - все выводится, мои манипуляции с введением нового тега прошли корректно. В целом задание выполнено и результат можно сдавать.
Но это было пилотное задание и практически сразу потребовалось масштабирование результата и теперь в задача формируется так: иметь возможность двухстороннего взаимодействия с локальной БД по аналогии работы josm и openstreetmaps.com /скачивание региона, внесение изменений, заливка обратно данных/. Так же возможность поддержки актуальных данных osm в базе - то есть периодически заносить в локальную БД дампы глобальной osm, без потери своих изменений. /Вопрос - как и как решать конфликтные ситуации/. Разграничение прав пользователей БД, чтобы разным потребителям локальной БД был доступ только отображению определенного сектора пространства /централизованная схема, когда один сервер на нескольких потребителей, данные будут отображаться через веб, без возможности редактирования, а просто отрисовкой тайлов/. Пока схема примерно такая. Но учитывая то, что мои познания в osm неделю назад равнялись только спонтанному редактированию карт через josm, то мне необходима ваша помочь - через какие средства мне построить такую систему, какие инструменты, связки инструментов использовать для реализации, насколько это вообще возможно?
Спасибо, что дочитали до конца.