On 4 Jan 2008, at 13:41, bvh wrote:

> On Thu, Jan 03, 2008 at 03:16:47PM +0000, Artem Pavlenko wrote:
>> What people think about explicitly supporting curves as a part of
>> geometry model? This way we can model the world better.
>
> I would be heavily in favor of it. IMHO the simplest way to do this
> is best.
>
> What I could see working is something like this :
>
> we define a standard interpolation method that turns a set of point  
> into
> a sucession of bezier curves. (for an example see
> http://www.antigrain.com/research/bezier_interpolation/index.html)
> I understand you have already implemented another on the fly
> algorithm in mapnik, we could use that as well.

mapnik is using AGG for rendering, so yes, this is exactly what I'm  
doing :)

>
> next there is a smooth=yes tag that would mean : apply the smoothing
> on this road.
>
> The big advantage is : no change is necessary on our data model.
> Maintained tools can implement support for this on their own pace.
> Old tools that don't know about smooth ways keep working. And
> since we are only adding capabilities we are sure this introduces
> no regressions (ie, everything that worked before keeps on working)
>
I agree, this is a less destructive solution.
> The only disadvantage is that over time, people working with
> editors with smoothing support are going to add ways with very
> little points, possibly resulting in choppy maps on renders
> that don't know (yet) how to deal with the smooth tag.

Or an opposite, people will be adding too many vertices in editors  
that are lacking support for bezier interpolation..

>
>> P.S. Are there some hints (tags) in OSM that can be used for to
>> smooth or not?
>
> No, so I proposed one
>
> http://wiki.openstreetmap.org/index.php/Proposed_features/smooth

Great, I'll have a look later on.
>
>> Also, are there are examples where it does work well and where it
>> doesn't?
>
> I see two problematic cases with this approach : assuming you have
> one flowing road that you've split up in multiple ways for
> whatever reason. Now there could be a tangential discontinuity
> at the junction point. I feel this is more a theoretical problem.
> In practice people will probably put two
> extra nodes close to the junction point to 'guide' the tangential
> direction at both ends if the break is visually disturbing.
>
> The other case is related : assuming a flowing road with one
> sharp corner. Whereas now you just lay it out as one way, you might
> want to split this road to preserve the sharp corner in my proposal.
>
> Not a big deal either : in the worst case you can still fall back
> to an ordinary way and just add a bootload of points to make it
> appear smooth as we do now.

Sounds good to me.
Artem
>
> cu bart
>
> _______________________________________________
> dev mailing list
> dev@openstreetmap.org
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev


_______________________________________________
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev

Reply via email to