
Hi Andrzej,
attached patch forwards the "guessed" drive-on-left value in a thread safe way to the NOD header by using a ThreadLocal variable. This is a small code change. Anyhow this makes only sense if you think that the guess algorithm is ok.
Shouldn't it be a TRE header? Or TRE header too? If we use guessing, yes, TRE header too.
According to help for options, guessing is connected with "check-roundabouts", which revers directions of roundabouts. This option is wrong for tiles, that contain multiple countries with different drive-on rules. In that case "check-roundabouts" would damage some good roundabouts.
well, "check-roundabouts" also enables some checks in RouteNode regarding overlapping and forking of roundabouts. I do not yet understand the meaning of them.
If you make a map for a single country, you don't need guessing. And you can't invoke guessing for a map with multiple countries. So this guessing feature looks rather redundant.
+1
In my opinion there should be no guessing but a simple count. If a tile has more than 50% of roundabouts as drive-on-left, then this tile should be marked as drive-on-left. That way most of roundabouts would look correctly when navigating.
+1, esp. if you take care to have reasonable tile borders. In my eyes, a value near 50% should produce a warning.
Perfect solution would be to make tile splitting along country border. But if we can't do that, then maybe we could get statistically best settings for drive-on flags?
That's a very interesting point. If I got that right, the IMG format doesn't require a rectangular tile border, so we would need some changes: 1) tile splitter should allow to create such tiles. The bounding polygon option was a first step into this direction. 2) tile splitter has to pass the information about the used polygon within each tile. I don't know an "official" way, so maybe this means to add a way with a tag like splitter:tile-border which has to be filtered by mkgmap? Gerd