I've run into the same error today. Following patch makes it work for me:
Index: lines2curves.pl
===================================================================
--- lines2curves.pl (revision 8167)
+++ lines2curves.pl (working copy)
@@ -147,8 +147,7 @@
shift @$points_ref;
foreach my $point_ref (@$points_ref) {
- if ($point_ref->[0].$point_ref->[1] eq
- $clean_points_ref->[-1][0].$clean_points_ref->[-1][1]) {
+ if (($point_ref->[0] == $clean_points_ref->[-1][0]) &&
($point_ref->[1] == $clean_points_ref->[-1][1])) {
next;
}
I don't understand why numeric values were compared using eq operator.
There are other places in lines2curves.pl comparing points this way.
On 6/6/08, Martijn van Oosterhout <[EMAIL PROTECTED]> wrote:
> 2008/6/6 Dirk-Lüder Kreie <[EMAIL PROTECTED]>:
>
> >> It would be helpful if someone could determine which routine in
> >> lines2curves is causing the problem. However, looking at the code in
> >> lines2curves it appears the problem could be caused by a way
> >> containing two successive nodes at the same location (either the same
> >> node or a different one). Does this sound plausible?
> >
> > Yes that would be a very plausible cause for this behaviour.
> >
> > Next question: how do we avoid this?
>
>
> Not sure, somewhere in the loop you would need to do a test like:
>
> if( $vec->length == 0 ) # or < epsilon
> { next }
>
> so it just skips that node, since by definition it's not relevent.
>
>
> Have a nice day,
> --
> Martijn van Oosterhout <[EMAIL PROTECTED]> http://svana.org/kleptog/
>
> _______________________________________________
> Tilesathome mailing list
> [email protected]
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/tilesathome
>
_______________________________________________
Tilesathome mailing list
[email protected]
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/tilesathome