Closed springmeyer closed 12 years ago
Upgrading to geos trunk it now works (confirming to me this is a geos bug):
Reading ways (1st pass through input file)...
There are 2 nodes where the coastline is not closed.
There are 455418 coastline rings (446662 from a single way and 8756 from multiple ways).
Done (about 17 minutes). │
VmPeak: 1279684 kB │
VmSize: 1094764 kB │
------------------------------------------------------------------------------- │
Reading nodes (2nd pass through input file)... │
Done (about 43 minutes). │
VmPeak: 2550144 kB │
VmSize: 2484604 kB │
------------------------------------------------------------------------------- │
Create and output polygons... │
Warning 1: Self-intersection at or near point -93.649499999999989 61.876250000000006 │
Warning 1: Self-intersection at or near point -63.518999999999991 65.539500000000004 │
Warning 1: Self-intersection at or near point 23.622058972617769 37.938603015817954 │
ERROR 1: IllegalArgumentException: point array must contain 0 or >1 elements │
│
ERROR 1: IllegalArgumentException: point array must contain 0 or >1 elements │
│
Warning 1: organizePolygons() received an unexpected geometry. │
Either a polygon with interior rings, or a polygon with less than 4 points, │
or a non-Polygon geometry. Return arguments as a collection. │
Done (about 5 minutes). │
VmPeak: 3397232 kB │
VmSize: 3203628 kB │
I bumped into this problem also and have a workaround before calling geos. I have not released that fix yet, because I have to test it some more.
I'm not positive, but this looks like a geos bug. If so, apologies creating here. But, I figured it would be good to get your feedback @joto before proceeding.
Basically, playing around with this cool tool and hit a crash while processing invalid geoms. The output leading up to it was:
Then I re-ran the process with osmcoastline compiled with
-g -ggdb -O0
and see:On the hunch that the
id
above is the actual osm_id I then tried: