during the last days I've tried to find a better algo for the WrongAngleFixer
The WAF tries to fix problems caused by the rounding of 32 bit OSM coordinates
to 24 bit Garmin coordinates.
Sometimes it removes points, sometimes it moves them to another Garmin point so
that zig-zagging is reduced
and round ways look rounder and straight ways look straigther.
I've found several places where the current code in trunk doesn't find the best
at small roundabouts with flare roads. Unfortunately it is often impossible to
render them as circular ways in
24 bit resolution, so don't expect miracles.
See also svn log .
Please test r4135 in the branch, you can download it here:
If you find places where the code is worse compared to trunk or where it might
need further improvements, please let me know.
I am aware of some problems:
1) Sometimes the roundabout way is moved so that it overlaps the flare road,
this happens here:
It is not visible in Basecamp but in GPSMapEdit.
2) It removes a sharp turn here:
where the old code keeps it.
The algo is more or less a try+error approach without a special order. In some
cases I see better results when
wrong angles are treated in a different order, but I did not yet find a general
The code checks what happens when a node is removed or when one or two nodes
are moved. In a few cases it would probably be better
to check a combined move of more nodes or other combinations. I think I'll try
to code that.
mkgmap-dev mailing list