OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
396 stars 106 forks source link

XML format for Vikazimut #2166

Open Eric-P-Kmz opened 1 year ago

Eric-P-Kmz commented 1 year ago

Steps to reproduce

We have continued to improve the link between OOM and Vikazimut for creating routes from OOM. 1 - We've managed the differences between the IOF and OOM formats in the XML file, but the map scale is missing from your XML.

2 - Would it be possible to create multiple races in one XML?

3 - If you can make it easier to create the definition table, it would remove a big drawback to creating courses under OOM.

Actual behaviour

2 - Only one race in XML

3 - No GUI to build the definition table

Expected behaviour

1 - Is it possible to add this tag to the XML? RaceCourseData> Map> Scale>10000 /Scale> /Map> ... /RaceCourseData>

2 - Create multiple tags in the XML file 3 - Create a GUI for the definition table

Configuration

Mapper Version: 0.9.5 Operating System: Windows

dl3sdo commented 1 year ago

@Eric-P-Kmz: I added a PR that adds the map scale to the XML. It was also necessary to add the top left and bottom right positions to get an IOF compliant XML. You can use one of the created artifacts from the Azure Pipeline to test the XML output with Vikazimut.

Eric-P-Kmz commented 1 year ago

Hello,

We have just tested this new version. No more errors. I'm preparing a video to show how to create a course with OOM and export it to Vikazimut. Thanks

dl3sdo commented 1 year ago

Regarding topic 2 (multiple races in one XML): You propose that it should be possible to create multiple, e.g., 'Simple Orienteering Course' objects and export them as multiple < RaceCourseData> elements of the same < Event> ?

Eric-P-Kmz commented 1 year ago

Yes, that's right. You'd have to be able to name 'Simple Orienteering Course' objects to do that . OCAD XML exemple Course> Name>Chasse Length>2630 Climb>0 CourseControl type="Start">

S1
  </CourseControl>
  <CourseControl type="Control">
    <Control>31</Control>
    <LegLength>34</LegLength>
  </CourseControl>
  CourseControl type="Finish">
    Control>F1</Control>
    LegLength>63</LegLength>
  /CourseControl>
/Course>

Course>
  Name>Vert - facile</Name>
  Length>1300</Length>
  Climb>0</Climb>
  CourseControl type="Start">
    Control>S1</Control>
  /CourseControl>
  CourseControl type="Control">
    Control>31</Control>
    LegLength>34</LegLength>
  /CourseControl>
  CourseControl type="Finish">
    Control>F1</Control>
    LegLength>175</LegLength>
  /CourseControl>
/Course>

dl3sdo commented 1 year ago

@Eric-P-Kmz, it seems as if your example however contains one race with two courses.

Currently, Mapper's IOF export allows a single race that contains a single course. In general you could have one or more races that consist of one or more courses.

I think that we could use object tags to associate line objects with races and courses in order to avoid complex GUI.

Is Vikazimut using the 'Length' element for courses? It's not a problem to add this to a course if the length should just be the nominal length of the line object.