fzi-forschungszentrum-informatik / Lanelet2

Map handling framework for automated driving
BSD 3-Clause "New" or "Revised" License
800 stars 327 forks source link

XSD/DTD/XML Definition #3

Closed JWhitleyWork closed 5 years ago

JWhitleyWork commented 5 years ago

In the document https://github.com/fzi-forschungszentrum-informatik/Lanelet2/tree/master/lanelet2_maps/README.md, it is described that lanelet2 uses the OSM XML format. However, the "OSM XML format" is not clearly defined. The format differs from version-to-version (currently on 0.6) and is a function of the API version that a server providing the document is using. Because the format changes from version-to-version and it was designed to be a document requested from a web API, a static definition of the format (XSD or DTD) is not available and/or provides many unnecessary elements which are not related to the driving task (API version, timeout values, etc.). In addition, you state that you are "converting" the lanelet2 primitives to OSM primitives. This brings me to my questions:

  1. Why was the OSM XML format chosen given the shortcomings listed above?
  2. Is FZI considering creating their own XML format and accompanying XSD or DTD?
  3. If the answer to 3 is no, would FZI be interested in working with a 3rd party to develop a new XML format and accompanying XSD or DTD?

I think lanelet2 is a great project and would work well as the base structure for many applications (simulation, visualization, automated driving, etc.) but I think the lack of a well-supported, static storage format is a big drawback.

poggenhans commented 5 years ago

There is a couple of reasons why we use the osm xml format:

That said, Lanelet2 is not tied to a specific storage format. New formats could easily be included, either in the lanelet2_io package or in by a plugin. I agree that it might make sense to have a static format for the case that a future osm xml version is incompatible with our representation. But since there have not been any substantial changes to the osm representation, developing something like this is not our priority.

You are of course invited to help creating such a format. But I suppose that we will always have to be able to read and write to osm xml, since the comfort of using the osm ecosystem (e.g. the JOSM editor) will be hard to replace.

JWhitleyWork commented 5 years ago

Thanks for the response. I will look into adding support for additional transport formats such as OpenDRIVE or RoadXML if we decide to use lanelet2 as the core storage format.