I'm looking for a good way to add additional data (annotations) to OSM. I've a custom routing application (programmed in java) which requires additional, application specific data. For example, each road segment needs to be annotated with a "priority" field. Since this is an application specific field, this is not something you want to add directly to the existing OSM data. Consequently, I was wondering whether there's a good way to add a new layer ('ApplicationLayer') on top of the OSM data. The purpose of this layer is to add additional application-specific data. Ideally, I'm looking for a way to create the layer such that it remains compatible with the underlying OSM data. So if somebody updates/changes OSM, than this should be reflected in the ApplicationLayer. It would be very annoying if there's no way to keep the ApplicationLayer synchronized with the OSM data, or to detect conflicts. asked 18 Apr '16, 18:45 JorisK |
This is not easy to do, particularly because you cannot assume that OSM ids are stable. I would suggest looking at http://opentraffic.io/ for way matching code. While their application is slightly different they essentially had to solve the same issue as you. Naturally you could build something that tracks changes by consuming diffs, however this is likely to be very tricky to do and you would still need to use something as indicated above as a fallback. answered 19 Apr '16, 10:55 SimonPoole ♦ |
are you talking of software development? What do you mean by "reflected"? Do you mean if a shop is moved 20 meters in OSM, then your annotations should also move?