Suggestion: set mkgmap:dead-end-check=no when endpoints have FIXME=*

I came across an incompletely mapped area that has some dead-end oneways, and mkgmap duly complained. Initially, I "fixed" this with a bogus road that had a FIXME tag, but the original mapper reverted that change. Now I have added fixme=continue to each bogus oneway. I wanted to suppress the dead-end check if the endpoints of the oneway have FIXME or fixme set, but neither Coord nor CoordNode carry any OSM attributes. Where could this be achieved? I would rather not add any mkgmap:dead-end-check=no to the OpenStreetMap repository? The FIXME would be more universal and also show up in validators. Marko

Hi Marko,
I came across an incompletely mapped area that has some dead-end oneways, and mkgmap duly complained. Initially, I "fixed" this with a bogus road that had a FIXME tag, but the original mapper reverted that change. Now I have added fixme=continue to each bogus oneway. I wanted to suppress the dead-end check if the endpoints of the oneway have FIXME or fixme set, but neither Coord nor CoordNode carry any OSM attributes. Where could this be achieved? I would rather not add any mkgmap:dead-end-check=no to the OpenStreetMap repository? The FIXME would be more universal and also show up in validators.
Yes, something like that could be done. Not sure about doing it for FIXME=*, though because if it said FIXME='not sure about road name' or something else that was unrelated to the routing/connectivity of the way then disabling the dead end check would not be appropriate. I don't have a problem with adding mkgmap:dead-end-check=no to the GB map but I am not really concerned about someone having a dead end on a residential road. So now, I just add mkgmap:dead-end-check=no in my style file to all ways that I don't really care about (tracks, footpaths, residential, service, etc.) Cheers, Mark

Hi Mark, On Wed, Dec 02, 2009 at 11:38:56AM +0000, Mark Burton wrote:
Hi Marko,
I came across an incompletely mapped area that has some dead-end oneways, and mkgmap duly complained. Initially, I "fixed" this with a bogus road that had a FIXME tag, but the original mapper reverted that change. Now I have added fixme=continue to each bogus oneway. I wanted to suppress the dead-end check if the endpoints of the oneway have FIXME or fixme set, but neither Coord nor CoordNode carry any OSM attributes. Where could this be achieved? I would rather not add any mkgmap:dead-end-check=no to the OpenStreetMap repository? The FIXME would be more universal and also show up in validators.
Yes, something like that could be done. Not sure about doing it for FIXME=*, though because if it said FIXME='not sure about road name' or something else that was unrelated to the routing/connectivity of the way then disabling the dead end check would not be appropriate.
I actually thought about this. I would not convert FIXME way attributes to mkgmap:dead-end-check=no, nor even FIXME attributes on other way nodes than the endpoints. A node near a junction could say FIXME=survey if the crossing way has not been mapped yet. But if the end node of the way says FIXME=continue or FIXME=survey, it would make sense to suppress the dead-end-check for the whole way. This particular error is not likely to go away in the near future, because it is at the entrance of an access=private harbour area. I do not think that truck drivers are going to contribute traces or time to OSM.
I don't have a problem with adding mkgmap:dead-end-check=no to the GB map but I am not really concerned about someone having a dead end on a residential road. So now, I just add mkgmap:dead-end-check=no in my style file to all ways that I don't really care about (tracks, footpaths, residential, service, etc.)
I have no trouble with --report-dead-ends=1, other than this harbour area. If I enabled --report-dead-ends=2, I would certainly see some more warnings and use something like that to suppress errors for highway=service. I would not expect to find any other bogus oneways. Marko

Hi Mark,
I came across an incompletely mapped area that has some dead-end oneways, and mkgmap duly complained. Initially, I "fixed" this with a bogus road that had a FIXME tag, but the original mapper reverted that change. Now I have added fixme=continue to each bogus oneway. I wanted to suppress the dead-end check if the endpoints of the oneway have FIXME or fixme set, but neither Coord nor CoordNode carry any OSM attributes. Where could this be achieved? I would rather not add any mkgmap:dead-end-check=no to the OpenStreetMap repository? The FIXME would be more universal and also show up in validators.
Yes, something like that could be done. Not sure about doing it for FIXME=*, though because if it said FIXME='not sure about road name' or something else that was unrelated to the routing/connectivity of the way then disabling the dead end check would not be appropriate.
I put my foot where my mouth is and implemented this in the OSM parser: if either endpoint of a oneway carries a FIXME or fixme attribute, mkgmap:dead-end-check=false will be added to the way. It is left as an exercise for the reader to port the patch to the MP parser. :-) I tested the patch with --report-dead-ends 1 and 2 and got zero or several oneway warnings, depending on whether FIXME was set on the way endpoints. Best regards, Marko
participants (2)
-
Mark Burton
-
Marko Mäkelä