Добавление в RouteGadget соревнований по Рогайну проведенных с программой RogainManager

Введение

Загрузка в RouteGadget эстафетных соревнований, соревнований по выбору и по рогайну имеет некоторую особенность. Сходу разобраться как это сделать не всегда получается, поэтому и родилась эта статья. Тут будет описан метод загрузки в RouteGadget результатов Рогайна когда для проведения соревнований использовалась программа RogainManager. Метод описанный ниже был взят с форума Эстонской Федерации Ориентирования, немного подправлен и дополнен. Ссылка на оригинальную статью –

 

Общая идея

В чем принципиальное отличие Рогайна от других соревнований? В том что у каждой команды свой маршрут. Классы конечно тоже могут быть, например Рогайн 3 часа, Рогайн 8 часов и Рогайн 24 часа но сути это не меняет. Заставить RouteGadget составлять «дистанции» на базе результатов каждой команды можно только когда результаты участников представлены в формате программы SportIdent CSV. В результате все сводится к вопросу – как же получить наши данные в этом формате.

 

Подготовка исходных файлов

Как обычно – нам потребуется карта, описание дистанций (в нашем случае – можно сказать описание контрольных пунктов) и результаты.

Карта

Для обычных соревнований карту для RouteGadget-a готовят без пунктов. Для Рогайна наоборот – желательно карту делать со всеми пунктами и с номерами, тогда при анализе дистанций будет видно и количество очков которое дается за каждый пункт и пункты которые команда пропустила. В OCAD9 открываем файл с пунктами, жмем справа кнопку Preview, поправляем расположение номеров пунтов так чтобы все номера хорошо читались, выбираем команду File -> Export, справа – gif 150 dpi, жмем OK, в выскочившем окошке выбираем All Controls и жмем OK. Сохраняем карту выбрав имя например map.gif. Карту можно еще сохранять в формате jpg, но gif больше подходит для изображения карты, разрешение можно тоже брать 200 dpi, но качества 150 dpi тоже вполне хватает.

Описание дистанций

Открываем файл описания дистаций, в OCADе это отдельный файл. Для рогайна на карте рисуется только Старт и сами пункты. Финиш обычно не ставится, подразумевается что место Старта и Финиша – это одно и тоже место. Также в меню Course -> Courses и Course -> Classes тоже обычно ничего не добавляется. В результате при экспорте дистанций в xml файле не будет собственно ничего кроме описания номеров пунктов и их координат на карте. Файл описания дистанций получаем из меню Courses -> Export -> Courses (XML)… Выбираем имя файла, например courses.xml и жмем Save. Создастся xml файл который тут же откроется для просмотра. (у меня открывается по умолчанию в программе Internt Explorer). Оцените визуально все ли там в порядке.

На всякий случай в Ocad-е загляните в меню Map -> Scale and Coordinate System. Если выбран режим координат с Real world coordinates и угол поворота карты (Angle) стоит ненулевой - переключитесь на режим Paper coordinates и сгенерите файл описания дистанций снова. Иначе все координаты пунктов будут с "поворотом" на этот градус и позже не получится совместить пункты с картой в RouteGadget-e...

Результаты

Файл результатов получаем в 2 шага. Сперва создаем файл в формате IOF-XML, потом из него получаем файл в формате SportIdent CSV.

Шаг 1. В программе Rogain Manager открываем меню Tools -> Export (IOF XML), на вопрос Save as compressed XML file? Отвечаем No. Окошко Done с кнопкой OK говорит нам о том что файл iofXML.xml создан в папке с соревнованиями. Одно замечание – файл должен быть сделан в формате iof-xml 2.0, поэтому на всякий случай загляните в меню Secretary -> Event setup (F2), перейдите в закладку Setup и убедитесь что НЕ стоит галочка IOF XML ver 3.0

Шаг 2. Нам потребуется программа XML Converter, ее можно бесплатно скачать с адреса www.tak-soft.com (точную ссылку не подскажу) или по ссылке внизу этой статьи. И еще нам потребуется файл трансформации - XML2RG_Rogain.xsl, его тоже можно скачать по ссылке внизу. Открываем XML Converter, на первой закладке XML lahtefail жмем кнопку Lae XML fail, выбираем наш iofXML.xml файл полученный на шаге 1. Загруженый xml файл будет показан ниже в текстовом поле. Идем на вторую закладку XSL fail, там жмем кнопку Lae XSL fail, выбираем наш XML2RG_Rogain.xsl файл. Идем на третью закладку Tulemus, на ней в текстовом поле должен появиться результат «слияния» xml и xsl файлов. XSL файл написан таким образом что он преобразует данные в формат SportIdent csv. Сохраняем полученный результат в файл – жмем кнопку Salvesta tulemus faili, задаем имя файла например SportIdent.csv и жмем кнопку Save. Теперь все файлы готовы – двигаемся дальше.

 

Добавление соревнования в RouteGadget

1. Заходим в интерфейс Администратора (...cgi-bin/manager/reittimanager.cgi), вводим логин-пароль.

2. Жмем ссылку Events: Add new event.

3. На форме Adding new event выбираем следующие опции.

  • Для карты - Load new map (загрузить новую карту)
  • Для результатов - SportIdent CSV
  • Для дистанций - IOF-XML (Condes, Ocad9), no forking (Individual race)
  • Жмем ОК.

4. Следующая форма – задаем все указанные файлы:

  • Задаем имя карты, жмем кнопку Browse, выбираем нашу карту map.gif
  • Задаем название соревнований (Event name)
  • Задаем назване клуба организатора соревнований и дату проведения
  • Задаем «ранг» соревнований (от международных до местных)
  • Ниже в разделе Result жмем Browse и выбираем наш SportIdent.csv файл
  • Выбираем опцию Classify competitors by course
  • Выбираем опцию Create individual courses using SI csv control codes
  • В разделе Courses выбираем файл courses.xml i. Жмем ОК.

5. Все файлы загружаются на сервер, анализируются и показываются загруженные пункты, «ничего» в разделе Radat (дистанций в рогайне нет) и показывается ссылка на форму где можно совместить пункты с изображением карты.

6. Cовмещаем пункты:

  • Выбираем справа в разделе Choose competitors (max 10) значение All controls
  • Карту можно двигать мышкой перетаскивая ее и уменьшать увеличивать нажимая кнопки + и – справа на экране. Жмем кнопку Fit.
  • Уменьшаем карту находим верхний левый кружок пункта, кликаем в центре, находим его место на карте – кликаем в центре. Дальше карту можно снова уменьшать-увеличивать-двигать, для того чтобы найти пару «нижних-правых» пунктов. Делаем третий клик – в центре кружка и четвертый – в нужном месте на карте.
  • После 4го клика кружки пунктов совместятся с кружками пунктов на карте, если надо – повторяем операцию, чтобы центры всех кружков совпали как можно точнее.
  • Внизу справа жмем кнопку Save.

7. Задаем старт и финиш. Для рогайна – в обоих случаях и для Старта и для Финиша оставляем S1. Ниже показывается весь список команд найденых в файле с результатами. Внизу – жмем кнопку Valmis («Готово»).

8. Сообщение Ready - Valmis!!!! говорит нам о том что у нас все получилось.

 

Возможные ошибки и их устранение

Control not found

В самом конце загрузки данных в RoutGadget можно увидеть сообщение: ERROR! All courses were not created successfully! Control not found. Такая ошибка может говорить о том что у какой-то из команд есть проблемы с пунктами. Один из вариантов – пропущеный кп и нулевое время. Смотрим наш файл iorXML.xml, где-то в середине строки данных есть такая последовательность: ...0;0;0;63;ROGAIN;0;0;0;0;720:00;4:09:20;;0:00:00;20;0:11:34;30;0:18:43;40;0:30:41;...

В случае такой ошибки – в текстовом редакторе командой Replace «вырезаем» все такие вхождения. Строка примет такой вид:

...0;0;0;63;ROGAIN;0;0;0;0;720:00;4:09:20;20;0:11:34;30;0:18:43;40;0:30:41;...

При повторном добавлении соревнований в RouteGadget эта ошибка должна пропасть.

(продолжение следует...)

 

Ссылки

 Швед Дмитрий, май 2014