Подумал недавно о применении технологий, использующихся в OSM не совсем по назначению. Цель - создать небольшой ресурс для координации работы нескольких исполнителей. В принципах работы ОСМ привлекает момент совместного редактирования набора данных и момент регистрации истории изменения объектов. Т.е. нужна вроде как простая штука, чтобы пользователь мог зайти в систему (через браузер или настольное приложение), отредактировать данные и увидеть что отредактировали другие исполнители. Локальный ОСМ-чик для десятка-двух пользователей.
Ввод данных и редактирование.
Возможностей JOSM как редактора геометрии хватит с головой. Можно ли его настроить чтобы он работал с данными на нужном мне сервере?
Можно ли прикрутить редактор ID к своему ресурсу? Сложности технические и лицензионные?
Отображение данных.
Отображаться должно быть в векторе, интерактивно. Чтобы по наведению/клику в некоем закрепленном окошке появлялась атрибутивная информация по этой линии/точке.
Насколько сложно/долго/дорого реализовать данный проект?
Моё имхо, работа напильником по стеку ОСМ тут будет неоправданно затратно, чем использовать какой нибудь ГИС.
Лицензионные ограничения как всегда в ОСМ либеральны.
Тут бы я не так восхищался. В рамкам гигантской планеты не часто встречается “совместная работа”. Тут же на “небольшом ресурсе” будешь пол часа редактировать и ещё полчаса разгребать конфликты.
Т.е. если это на поиграться, я бы не стал даже начинать. Если это встраивать в бизнес процессы, надо закладывать пару месяцев человеко/часов.
В сторону какой именно платформ следует обратить взор?
Тут я не совсем корректно выразился - совместная работа не требуется (даже как бы вредна), нужно только совместное отображение данных. Один из редакторов изменил геометрию своих объектов - все сразу получили оповещение о правке на email, зашли посмотрели на изменения. Предполагается что редактирование не будет происходить очень часто. (раз в день допустим, или раз в неделю).
Репозиторий git/svn/hg + векторный редактор по вкусу (хоть Inkscape, хоть Автокад) + чатик в Скайпе или ином IM, скорее всего, решат задачу автора.
Гибко (как угодно) и масштабируемо (на малые и средние объёмы пользователей и данных).
-off-, но описание задачи чересчур абстрактно. Было бы более конкретное описание стоящей задачи, было бы больше конкретных сообщений в теме.
Про способ выше: легко / несколько минут (не считая обучения пользователей) / бесплатно (без учета текущих затрат на хостинг или свой сервер)
Описание абстрактно, потому как я решаю не свою проблему, т.е. всех подробностей не знаю. Т.е. не знаю сколько человек занимаются работой над объектом, насколько часто они изменяют свои проектные решения.
Ситуация была следующая - вместе со своим заказчиком прогуливались в районе большой стройки, изучали так сказать фронт работ. Я изучал его с точки зрения топосъемки, они с точки зрения выбора мест для прокладки коммуникаций. На руках были распечатки проектных решений смежников - неких проектных организаций, которые проектировали дороги, коммуникации, и др. объекты. Актуальность 'b[ распечаток была сомнительна, т.к. построенное на местности малость отличалось. Вот и возникла идея о том что было бы неплохо информацию об исполнителях конкретных проектов, и некоторые ключевые элементы этих проектов объединить в некоей информационной системе. Чтобы каждый исполнитель мог редактировать свою часть и чтобы любому пользователю этой ИС была доступна информация об исполнителях-смежниках и ключевые элементы их проектов. Это не должен быть монстр в котором бы полностью хранилась информация о каждой детали проекта - только самое основное (для коммуникаций это оси, для дорог - границы покрытия, границы насыпи). Т.е. технические чертежи в этой ИС могут присутствовать только в качестве отдельных файлов без каких либо преобразований и объединений. Как-то так.
В пределах одной организации - да. И то - зависит от размера. А тут несколько организаций - у каждого своя политика, кому-то нечем редактировать шейп файл, у кого-то нельзя пользоваться гугл-диском. Поэтому я и думал про два варианта - те кто посообразительнее чтобы JOSM-ом данные подбрасывали на сервер, а иные - ID редактором через браузер.
В таком случае нужна достаточно полноценная распределенная ГИС, с разделением прав и так далее.
Инфраструктура OSM, чисто теоретически, подходит, но ровно также, как, скажем, семейный микроавтобус для перевозки дров. Наложить их туда можно, но стоит ли?
Попытка угодить всем контрагентам выльется в ад для поддержки.
Сидит где-то строитель-проектировщик, рисует свои чертежи в привычном автокаде уже который год и тут к нему приходит кто-то из чужой конторы и говорит “ты плохо делаешь, вон у тех из-за твоего неправильного подхода чертежи неактуальные, бросай свой автокад и бери JOSM, делай чертежи в нашей единой межкорпоративной интегрированной системе на основе ОпенСтритМап!!!”.
Догадайтесь сами что этот проектировщик ответит.
Проблемы не существует, когда нужно, проектировщики координируют свои решения.
Если у кого-то чуть неактуальный план, то значит, он его вполне устраивает; надо будет - возьмёт и распечатает свужую версию, присланную коллегами.
Короче говоря, всякие системы для коллективной работы и многопользовательские ГИС - штуки хорошие, но каждый инструмент для своей задачи. В данном случае всё отлично проектируется и строится и без них.
Можно попробовать строить хранилище данных вот на этом http://geogig.org/ он вроде понимает и осм и ряд других форматов, чтобы поменьше проблем со смежниками было.
Ведет историю версий, позволяет делать ветки и т.д.
Тут скорее проблема в координации, которую и нужно решать. И да, сторонними приложениями чужую организацию пользоваться не заставишь.
Самый большой косяк из-за такого разгильдяйства, который мне запомнился, это фундамент под целый производственный комплекс, залитый по старому генплану, метров на 200 от правильного местоположения, да еще на чужой земле
Насчет “отлично строится” это вы погорячились. На объекте, пока мы гуляли, строители укрепляли откос - укладывали геотекстильную сетку, укрепляли ее и засыпали черноземом. А наши проектировщики решали в этот момент как будут этот откос засыпать, расширяя насыпь, а потом рыть там траншею для коммуникации. То о чем я веду речь это не многопользовательская система для проектирования - это простой инструмент для наглядного отображения результата, для того чтобы заказчик перед глазами видел кто и что у него проектировал, и сами проектировщики разных разделов знали где найти своих коллег. Когда исполнитель найден, то он предоставляет свой проект целиком (или какую то его часть) в Автокаде и проектировщик забывает про эту ИС. И JOSM тут ни в коем разе не замена Автокаду.
Можно конечно все решить одним файлом автокада с кучей внешних ссылок, но утрачивается наглядность.
Если всетаки хочется стек именно осм под капотом - iD под wtfpl https://github.com/openstreetmap/iD/blob/master/LICENSE можете делать с ним все что хотите без ограничений.
JOSM под GPL - так-что для него вы должны будете опубликовать то что переделаете.
Переделывать каждый из инструментов наверное не очень долго, но их много.
В общем я бы на вашем месте еще раз подумал в сторону веб гисов ( http://nextgis.ru/nextgis-web/ например )
Просто подумайте что вы будете делать на стеке осм, если вам в один прекрасный день понадобится импортнуть (не экспортнуть, здесь осм сносен, а именно импортировать к себе) шейпы или dxf?