[OSM-dev] Why no curves in map data?

Udo Giacomozzi udo.osm at nova-sys.net
Sun Mar 15 03:21:44 GMT 2009


Hello Cartinus,

Sunday, March 15, 2009, 2:57:30 AM, you wrote:
C> Because to do curves _right_ you need more data then you have now. First you
C> need to know if a line has to curve at a point at all. (I wouldn't want to
C> have rounded corners on every square.) If the line curves, then you need to
C> know how it curves. E.g. the length and direction of the "anchors" as seen
C> in: 
C> <http://en.wikipedia.org/wiki/File:Bézier_curve_in_Adobe_Illustrator_CS2.png>

I know Bezier curves well from the Flash file format and I wrote the
software renderer for Gnash (open source Flash player).

Not everything would need to be a curve, especially XML would allow a
simple distinction between straight and curved lines.

Flash uses quadratic Bezier curves and those require one additional
"control point". A normal street will require much less curves and
require less points while guaranteeing a near perfect rendering at any
zoom level compared to straight lines.
http://en.wikipedia.org/wiki/File:Bezier_2_big.gif

I often trace bitmap graphics using Bezier curves and I normally
need significantly less points to get a good looking vector graphic
when using curves.

This especially gets into my mind when I see my TomTom draw those
ugly jagged lines..


Of course I realize that now the OSM data format can't be extended to
curves without breaking existing renderes and tools...

Udo








More information about the dev mailing list