Уважаемые пользователи и гости форума! Обновление карт Украины для Нави-Мапс и СитиГИД доступно внутри программ.
=> Меню -> Карты -> Обновить.
Обновите пожалуйста Нави-Мапс на версию 12.0.242 или выше.

Ошибки и замечания можно давать в соответствующих темах форума или через кнопку Ошибка в программе.
Через кнопку Ошибка отправляйте информацию следующим образом:
Тап на карте в месте где надо сделать уточнения или изменения в карте. Пишите что именно надо изменить/добавить и нажимаете на кнопку Отправить.
Подождать еще примерно 2-3 минуты для сеанса связи.

Мы запустили Telegram-канал где можно задать вопрос или оперативно прислать скриншот и дать уточнения по картам.
Присоединяйтесь к нашему каналу: https://t.me/travelGPS_Ukraine_maps

Продолжаются работы по улучшению форума. Возможны перерывы во время обновления кода движка форума.

Параллельная работа в SVN - правила, проблемы и решения

Здесь задаем вопросы по ПО, созданию и редактированию карт. Примеры, обмен опытом, ошибки при создании и редактировании карт.

Модераторы: alx69, Vadim_O, OldMan, AGurov, Vlad_UA

Ответить
Сообщение
Автор
Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

Параллельная работа в SVN - правила, проблемы и решения

#1 Сообщение Vadim_O » 21 июн 2007, 22:51

Завожу эту ветку для того чтобы в ней обсуждать вопросы которые будут связаны с проблемами возникающими при параллельной работе SVN и путями и советами решения или как выкрутится ...


ПРАВИЛА работы через SVN

1. Рекомендуется последний набор клиента Tortoise SVN с пакетом руссификации скачать здесь с нашего сайта:

http://www.travelgps.com.ua/soft/TortoiseSVN.zip

Учебник-документация на русском здесь:

http://tortoisesvn.net/docs/release/TortoiseSVN_ru/

Термины возможные при переписке и на форуме
1 - сделать Commit = SVN Зафиксировать - значит отправить сделанные вами изменения на карте в хранилище (репозиторий) - сервер SVN
(при этом потребуется ввести комментарий о том что вы сделали - просьба не писать общие фразы типа "Карта изменена" -
надо писать типа Поправлена дорога/узел/развязка - ... там-то, или поменяны свойства такой-то дороги, или удален несуществующий
проезд и добавлен правильный вариант дороги/объездной или добавлены такие-то точки.
2 - сделать Update = SVN Обновить - получить себе с сервера последние изменения
3 - Поставить на блокировку - это чтобы реально показать что карта занята вами и сейчас редактируется
4 - снять с блокировки - тут и так понятно ...
5 - обозреватель хранилища - через меню - обязательно проверить - какие файлы на блокировке и понять что их менять сейчас вам нельзя.
6 - смержить - объединить
7 - откатить - вернуться к одному из предыдущих вариантов. по причине что кто-то внес ошибки(у) которая быстро не исправляется

Работаем по методу блокировки.
То есть - если вы берете файл в работу - то ставите "Блокировать"
Блокировка увы не дает только возможность обновить файл на сервер, но скачивать его себе с сервера SVN можно.
При этом не надо пытаться этот файл редактировать - раз файл на блокировке, то редактирует кто-то другой.

(Если хотите делать карту города а ваша любимая часть занята - касается карт городов состоящих из частей :
Берите тогда другую часть - стыкуйте неправильные синие узлы,
убирайте самопересечения и т.д. - команда VerifyMap, добавляйте дома по-возможности и т.д. )

Ведущих по Киеву и других городам, которые будут/есть в SVN прошу соблюдать дисциплину
Держать часть в работе не более 2-х дней. Т.е. на 3-й день вы должны выложить обновления и отдать
доступ (снять блокировку).
Если ЧЕРЕЗ день эту часть никто не взял, то опять берете также на 2 дня, на 3-й обновляете и т.д. - по кругу. )

Карта Украины дается на редактирование ЗА ОДИН РАЗ ТОЛЬКО НА 1-2 ДНЯ, на третий день
ведущий должен вернуть обновленный вариант на репозитарий SVN и снять блокировку.

ВНИМАНИЕ - НОВОЕ ПРАВИЛО !

Если вы положили обновленную карту и освободили ее для дальнейшего редактирования, а потом например зашли через несколько часов и увидели что кто-то уже успел отредактировать и выложил релиз(версию) с учетом своих правок и снял с блокировки, то можете взять снова карту в редактирование со сроком НЕ БОЛЕЕ ЧЕМ НА 1 ДЕНЬ.
О том что выложен новый релиз - можно смотреть по-разному - через обозреватель хранилища, через версию карты, через автора и т.д.
Главное чтобы карта в этот момент не была на блокировке !
Кто взял редактировать - поставил на блокировку, - обновил карту - снял с блокировки (или убедился что блокировка снялась)



ИТАК ПРИМЕРНО ПО ШАГАМ:
1. Проверяете - являеется ли кусок который вы хотите взять в работу - заблокирован или нет.
2. Если кусок не заблокирован - нажимаете SVN обновить - получаете последнюю версию.
После того как получили обновленный файл - блокируете этот файл - через контексное меню SVN.
При этом другие видят уже вашу блокировку через обозреватель хранилища.

Вы можете себе добавить столбики SVN в вид папки Windows
(Вид - Таблица, Выбор столбцов в таблице - добавить SVN ревизия, SVN владелец блокировки) то если вы файл поставили на блокировку,
то сам себя можете проконтролировать (почему-то в папке експлорера Windows не всегда видно, кто заблокировал,
поэтому пользуйтесь обозревателем хранилища - 100% видно у кого сейчас эта карта (часть карты) в работе
или если она свободна - то в блокировке никто не указан.
Пример - Vadim_O поставил на блокировку "не разрезанную" карту Киева ( с названием ne_redaktirovat),
и все могут видеть, что она на блокировке.

Обязательные правила:
1. перед тем как что-то делать проверить не было ли обновлений и не стоит ли файл на блокировке
2. если кто-то поставил файл на блокировку - то мы не берем тот релиз, что в хранилище и не пытаемся его редактировать и обновлять,
а ждем пока взявший обновит/зафиксирует изменения и снимет с блокировки
3. Отправляя обновленную версию файла на сервер-хранилище (репозитарий) SVN - иначе говоря "SVN фиксировать"
= SVN Commit не забываем писать в комментарии что меняли.
Минимум длина сообщения должна быть не менее 15 букв.
4. желательно пользоваться классификатором - с папки class через буфер обмена вставляем инфу с Clipboard в поле Comment
свойства объекта (Полилинии, полигона, PIO)
Тогда будет видно что чего хотел поменять=сделать.
5. после того как залили часть которую редактрировали - снимаете этот файл с блокировки.
6. Если вы делаете промежуточные заливки - например вечером дома залили, а завтра утром хотите что-то подправить
на работе, вы можете в момент заливки в левом нижнем углу поставить галочку Keep lock = Сохранить блокировки
7. Если вы хотите добавить информацию с другой карты - то в первую очередь необходимо
а ) предупредить Vadim_O (Вадим) или Mechanic (Алексей) о том что вы будете что-то добавлять из другой карты,
при этом уточнить нюансы, чтобы не испортить основную карту
б) проверить адресную информацию - индексы Страны - Областей - Городов.
Они должны совпадать с точностью до буквы ... :)
реально просто можете вставить в ту карту из которой хотите вытащить информацию
путем добавления из файла index_cities_inf.inmp - можно пользоваться редактором Блокнот (Notepad)
и далее через найти/заменить поменять индексы улиц на правильные, в соответствии с новой шапкой,
если к этому отнестить не брежно - то не удивляйтесь найти поиском ул.Хрещатик в Житомире или еще где-то ...

Внешние ноды (узлы) на границах России, Белоруссии, Молдовы - проставляет и согласовывает только один человек - Vadim_O
Просьба самим ничего не менять, даже если у вас треки проходят по другому. Так как все такие узлы-переходы я согласовываю с ведущими по картографическим проектам (картам) этих стран.
Состыкована Белоруссия, Молдова и уже заканчиваются стыковки по России.
Если есть не совпадения по треку с переходом границы - просьба мне его выслать, для согласовывания.


P.S. по ходу дела - правила будут добавляться.
Цените время других - не надо спешить и делать что-то если файл карты на блокировке.



Теперь практика:
1. Установили (проинсталлировали) клиента TortoiseSVN
2. Создали у себя папку, например Ukraine или по названию города.
3. Становимся на эту папку и наживаем правую клавишу мышки в проводнике видим Update (SVN_Извлечь)
4. нажимаем Извлечь / Update
5. У нас запрашивают IP-адрес, пароль, логин. Вводим эту персональную информацию.
6. Ждем пока создастся хранилище или пойдет информация с хранилища на ваш ПК.
(это замечание касается только SVN Ukraine - там файлы большие и много, первый раз папка может заливаться долго - около часа).
7. После залития на ваш ПК смотрим обозревателем хранилища
(Repo-browser) стоит ли файл карты у кого-то на блокировке.
Если файл свободен - можно ставить на блокировку и начинать работу.
Удачи !
Читаем правила еще раз чтобы не сделать бардак.

Читаем тему про добавление информации с карты на карту чтобы не накосячить с адресной информацией здесь:
http://travelgps.com.ua/forum/viewtopic.php?t=886

------
Последний раз редактировалось Vadim_O 02 сен 2008, 13:57, всего редактировалось 7 раз.

Wladi
помощник развития карт проекта
Сообщения: 229
Зарегистрирован: 26 июн 2006, 16:30
Откуда: Lugansk
Контактная информация:

#2 Сообщение Wladi » 21 июн 2007, 22:59

Я надеюсь к 1 июля мы тоже с Акимом будем править Украину?

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

#3 Сообщение Vadim_O » 21 июн 2007, 23:12

Всем просьба присоединяться, особенно тем, кто уже работает в SVN !
Касается возможных последствий при роутинге и не только.
Возможно я преувеличиваю и что-то уже решено, но лучше "огласить весь список"

Пока буду делать вбрасывание информации с разных источников, но все надо пробовать самим.

Итак, информация от питерцев:
Имеем опыт работы нескольких человек над картой Питера. :-)
"Есть два момента.
Так как GME инструмент неудобный, работать с роутингом нескольким людям не получится. :-(
Каждая дорога имеет последовательно заданный RoadID, и
если несколько человек одновременно добавили дорогу с роутом, у них будет одинаковый ID.
То же самое и ноды графа. Создаются так же с последовательными ID. Результат ошеломляющий. Ноды с одинаковыми ID в разных частях города, маршрут скачет с одной ноды на другую. :-)
В результате коммит слоя дорог делает только один человек.

(поясняю касательно "слоя дорог": в российской нарисуйки ресь деление/разделение на слои при апдейте/комите. Т.е. карта на сервере SVN лежит разбитая по тематическим слоям - слой дорог, слой гидро, слой лесов, болот, административный слой (инфраструктура) и т.д.
Ведущие скачивают информацию (апдейт) сначала всех слоев, а потом уже только тех слоев, что поменялись. Потом запускают скрипт объединения слоев в одну карту. Далее редактируют что надо, и перед тем как сделать Commit - залить изменения на сервер, опять делают разбивку по слоям, при єтом заливаются только те слои, где были изменения.
Не очень долго, хоть и напрягает, но экономится трафик.)

Второе, легко потерять изменения от предыдущего коммита, если перед коммитом не делать апдейт.
Мы работаем так, все в аське, кто хочет делать коммит предупреждает всех, делает апдэйт и коммит.
Потом так же следующий. Нельзя допустить одновременного коммита от двух и более людей.
Ну и надо научить всех правильно редактировать файлы с коллизиями.

ИТАК - что я пока из этого вижу я:
1) возможно будет проблематично добавлять новые дороги через "нарисовать дорогу, понимая под этим как создание объекта полилинии" одновременно нескольким участникам...
2) вроде беспроблемно должны добавляться дома, но опять изучать вопрос ID. Как минимум для домов можно написать несложный скрипт, который будет исправлять одинаковые ID полигонов домов (на роутинг уж это точно не должно влиять).
3) если только редактировать дорогу по треку, не добавляя новых дорог - проблем должно быть меньше, но опять если несколько чел. что-то добавляют - может быть несколько одинаковых ID на разных дорогах ...

Вообщем пора пробовать, начинать дискусию и придумать выход и решения.

Может сделаем какую-то любую тестовую карту и все будем что-то пробовать делать и учится ?

SiteAdmin
Site Admin
Сообщения: 126
Зарегистрирован: 10 июн 2006, 17:00

#4 Сообщение SiteAdmin » 22 июн 2007, 02:24

Wladi писал(а):Я надеюсь к 1 июля мы тоже с Акимом будем править Украину?

Будете не только править, но и разгребать то что направите :)
Хотя хочется граблей избежать.
Увы, тут уже зависит не все только от нас.

Vlad_UA
Картограф проекта
Сообщения: 2398
Зарегистрирован: 17 июн 2006, 16:12
Чаще езжу тут:: Донецк
Откуда: Донецк, Украина
Контактная информация:

#5 Сообщение Vlad_UA » 22 июн 2007, 08:12

Тема то уже есть такая, зачем еще? Там уже довольно подробно писали про проблемы.
1) возможно будет проблематично добавлять новые дороги через "нарисовать дорогу
Немного. Но программа устраняет конфликты неплохо. Ничего не пропадает, только часть добавленных нод становится малиновыми, вот их и надо буде проверять. Но лучше дороги редактировать по-очереди. Не думаю, что это будет проблемой.
2) вроде беспроблемно должны добавляться дома,
Да, всё остальное добавляется/фиксируется без проблем. Например, я обновил и редактирую. В это время еще 3 человека поредактируют и сохранят. Мне нужно вначале обновить, потом фиксировать. Если дороги не трогались, то конфликтов вроде ниразу не вылазило.
Samsung Galaxy Tab 10.1/Mobistel Cynus T1 /

alx69
Старший ведущий по Киеву
Сообщения: 2836
Зарегистрирован: 28 сен 2006, 10:47
Откуда: Kiev

#6 Сообщение alx69 » 22 июн 2007, 17:02

Я на выходных одну темку проверю с дорогами. Посмотрим, что будет.

Вчера уже два опыта делал. Оба прошли удачно, но на большой карте не видно, удачно на все 100% было или нет. На выходных сделаю на карте из 6ти дорог. Там виднее будет.
Samsung S20+ (Android 11.0), NaviMaps, CityGuide, (Windows 7x64, Core i7 3.4GHz, 8G RAM)

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

#7 Сообщение Vadim_O » 22 июн 2007, 19:10

к alx69
для правильности эксперимента:

1) надо сделать для эксперимента несколько одинаковых ID узлов с разными запретами поворотов
2) надо сделать несколько одинаковых RoadID
3) потом сохранить карту как промежуточный вариант в *mp
4) потом пересохранить карту в конечный формат и проложить маршрут и проехаться по нему вживую, и посмотреть будет ли перепрыгивание маршрута (при включенной автоперепрокладке маршрута) между несколькими узлами

сделать пункт 4 для Навитела и для Руссы

OldMan
ВЕДУЩИЙ
Сообщения: 2342
Зарегистрирован: 24 июл 2006, 15:43
Откуда: Донецк, Украина
Контактная информация:

#8 Сообщение OldMan » 26 июн 2007, 19:28

Вообще-то строго говоря редактирование в СВН получается беспроблемным только при последовательном, а не одновременном редактировании. Один человек обновляется, блокирует, редактирует, фиксирует. Потом работает второй.
Конфликты в СВН решаются мудро - просто вносятся в файл все изменения с пометками типа <<<<<<<.mine и <<<<<<<.rXXX, где mine это соответственно мои изменения, а rXXX это номер ревизии, которая получилась до того, как я сподобился зафиксировать (коммитить). В файле с читабельным текстом это можно найти и выбрать правильный вариант, ф файле карты это найти тоже несложно, но выбрать то, что правильно (лучше) просто нереально.
Итак, к чему приводит такое решение конфликта.
В случае с редактированим дорог - к полной жопе. Мало того, что полилинии дублируются и появляются ложные ноды (при одновременном трогании одних и тех же дорог), но и, вследствие изменения роад ИД, летят нахер запреты поворотов. Выловить это всё чрезвычайно сложно.
В случае одновременного редактирования полигонов - как правило полигоны просто дублируются. Выловить это дублирование очень сложно т.к. строго говоря это не дубли, а рядом (с перекрытием) положенные полигоны. Верифай мап их не ловит т.к. они разные (координаты вершин не совпадают).
С точками- тоже самое, что и с полигонами.
Поэтому, при одновременном редактировании, мои советы такие:
- никогда не трогайте дороги.
- полигоны и точки редактируйте только в своём квадрате (зоне) и не лезте в другие.

При работе в монопольном режиме икаких ограничений нет, кроме совета: итоговую, готовую к фиксированию, ревизию пересохраняйте в одинаковой для всех версии редактора. Это связано с тем, что последнии версии редактора Галичского сортируют дороги по ИД, а версии Ланго и Сотина этого не делают. Страшного в этом ничего нет, кроме того, что вы можете сильно увеличить траффик. СВН тупо сравнивает строки и их порядок. В итоге при минимальных изменениях в файле (по сути) это может быть воспринято как сильно новый файл и передано процентов 80% файла.

П.С. Всё это исходя из моего ламерского опыта. Может кто лучше разобраля в СВНе, будет полезно услышать.

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

#9 Сообщение Vadim_O » 27 июн 2007, 19:35

Вариант 1 - снова нарезка + блокировка редактируемого квадрата.
Т.е. можно сделать нарезку карты Украины например на 20-30-40 квадратов.
Берется оболочка+утилиты работы с треками - прогоняется все треки на попадание в этот маленький квадрат, ставится такой небольшой квадрат на блокировку.
Подредактировали квадратик - обновили.

Да пусть потом будет неудобно сшивать ...
Но зато можно поправить 10-15 участниками сразу много дорог и объектов в разных квадратах.
а потом за месяц квадраты опять можно объединить.
При объединении путем добавления одной части карты к другой проблем с одинаковыми ID не будет.

Плюс в том что можно многим ведущим редактировать свой выбранный квадрат, потом меняться - и реально можно много чего обработать.
Минус в том что долго потом объединять кучу этих квадратов - месяц а то и два.

Вариант 2 - карта Украины ложится целиком, без разбивки.
Целиком качается через SVN и блокируется одним участником (ведущим) на срок не более чем 2 дня. Вследующий раз тот же ведущий может редактировать не раньше чем через 4-5 дней, а то и позже - будет зависеть от к-ва желающих.
Каждый постепенно поправит за месяц-два то что он хотел поправить и зато ежемесячно будем иметь подправленную улучшенную несколькими ведущими новую версию, да и не надо будет тратить 4-5 дней на склейку и проверку после склейки, проблем с одинаковыми узлами, ID-объектов, запретами не будет и т.д...
пусть будет не так быстро. но каждый примет посильное участие + не надо будет потом ругаться матом на то что не туда карта маршрут скакнула и т.д.

OldMan
ВЕДУЩИЙ
Сообщения: 2342
Зарегистрирован: 24 июл 2006, 15:43
Откуда: Донецк, Украина
Контактная информация:

#10 Сообщение OldMan » 27 июн 2007, 22:36

Нмд, для того состояния, в котором сейчас находится карта Украины (вполне приличное состояние) однозначно второй вариант.
Желающим править договорится о квадратах в которых они хотят работать и не лезть ни в коем разе не в своё. Если что-то надо сделать на стыке - через ведущего однозначно. Если уж сильно чешутся руки улучшить не всвоём квадрате - всегда можно договорится с ведущим квадрата. Много всё равно не сделаешь в незнакомом регионе.
Блокировать на два дня вовсе необязательно. Достаточно для работы два-три-четыре часа. Если знаешь что надо сделать - делается быстро.
В частых фиксациях ничего страшного нет. Кроме двух моментов - быстое выростание номера ревизии (ерунда) и траффик (но это дело лично каждого).
Зато нет не очень производительной работы по склейке квадратов. Лучше это время отдать редактированию.
За месяц, если каждый сделает по по две-три-четыре грамотной правки - резко снизится кол-во багов.

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

#11 Сообщение Vadim_O » 28 июн 2007, 17:16

Ок, тогда пойдем по 2-му пути и доступ даем только так:

Сегодня если взял в редактирование, то завтра до ночи, или послезавтра к 9-00 откомитил (выложил) что успел.
2 дня в очередь не становиться, пусть другие поправят.

так и пойдет... по кругу ...

изучайте утилиты работы с треками ... пригодится для экономии времени.

Vlad_UA
Картограф проекта
Сообщения: 2398
Зарегистрирован: 17 июн 2006, 16:12
Чаще езжу тут:: Донецк
Откуда: Донецк, Украина
Контактная информация:

#12 Сообщение Vlad_UA » 28 июн 2007, 18:29

Vadim_O писал(а):Сегодня если взял в редактирование, то завтра до ночи, или послезавтра к 9-00 откомитил (выложил)
Вадим, не нужно так надолго.
Кто-то из вас сутками редактирует? Не поверю.
2-3 часа поредактировал, фиксируй. Зачем ночь/день держать? За это время еще кто-то поработает.
Что? кто-то и день и ночь будет работать? Думаю это очень единичный случай, который не стоит рассматривать.
Еще раз, не настраивай народ на длительную блокировку. Не нужна она :!:
Samsung Galaxy Tab 10.1/Mobistel Cynus T1 /

Аким
Активный участник форума
Сообщения: 213
Зарегистрирован: 01 июл 2006, 14:24
Откуда: Луганск
Контактная информация:

#13 Сообщение Аким » 28 июн 2007, 19:58

Vlad_UA писал(а):
Vadim_O писал(а):Сегодня если взял в редактирование, то завтра до ночи, или послезавтра к 9-00 откомитил (выложил)
Вадим, не нужно так надолго.
Кто-то из вас сутками редактирует? Не поверю.
2-3 часа поредактировал, фиксируй. Зачем ночь/день держать? За это время еще кто-то поработает.
Что? кто-то и день и ночь будет работать? Думаю это очень единичный случай, который не стоит рассматривать.
Еще раз, не настраивай народ на длительную блокировку. Не нужна она :!:
Я поддерживаю. Так продуктивнее должно быть.

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

#14 Сообщение Vadim_O » 29 июн 2007, 01:25

Хорошо, принимается окончательное решение - не более чем в течение календарных суток на 1 человека (ведущего) за раз.
Работаем с блокировкой.
Города без согласования не вставляем.

P.S.
у меня накопилось треков и точек на месяц беспрерывной работы :)

Vlad_UA
Картограф проекта
Сообщения: 2398
Зарегистрирован: 17 июн 2006, 16:12
Чаще езжу тут:: Донецк
Откуда: Донецк, Украина
Контактная информация:

#15 Сообщение Vlad_UA » 29 июн 2007, 07:38

Vadim_O писал(а):у меня накопилось треков и точек на месяц беспрерывной работы :)
:lol:
Я думаю у всех хватает :lol:
Было бы столько времени :)
Samsung Galaxy Tab 10.1/Mobistel Cynus T1 /

Ответить

Вернуться в «Создание и редактирование любительских карт.»