[OSM-dev] coastline error checker and crossing ways

Ben Supnik bsupnik at xsquawkbox.net
Thu Aug 13 06:30:34 BST 2009


Hi Y'all,

I have a single stand-alone C file for catching self-intersections in 
the coastline file. :-)

http://dev.x-plane.com/cgit/cgit.cgi/xptools.git/tree/src/OneOffs/shape2xon.cpp

The input format is a single shape file of polygons, e.g. processed_p. 
The output is a shapefile of multipoints.  For each input polygon, each 
self-intersection is a point in a multipoint (one multipoint for eac 
input polygon).

Checking only within the polygons runs in about 10 seconds and seems to 
catch all of the self-intersections, because the tiler correctly 
partitions them.

Checking every segment against every other segment is probably viable 
(it'd a "minutes" type operation) but the number of errors + segments is 
too much for a 32-bit machine.

The intersection check is based on a vertical sweep, which helps perf.

Could someone who works on "the" coastline checker integrate this into 
the process?

I can't simulate the entire coastline pass myself..the perl script won't 
run.  But I can change or modify the output format as desired to 
simplify things.

cheers
Ben

Lennard wrote:
> Ben Supnik wrote:
> 
>> Perhaps one of the existing error checkers that finds intersecting ways 
>> could catch this.
> 
> It was explained that it isn't checking for this at the moment, since 
> it's hard to check. Or so I was told.
> 
>> If the coastline processor source code is available, I could at least 
>> take a look at it...depending on what toolset it's written on top of, I 
>> don't know if I am qualified to fix these problems.
> 
> http://svn.openstreetmap.org/applications/utils/coastcheck/
> 
> 

-- 
Scenery Home Page: http://scenery.x-plane.com/
Scenery blog: http://xplanescenery.blogspot.com/
Plugin SDK: http://www.xsquawkbox.net/xpsdk/
X-Plane Wiki: http://wiki.x-plane.com/
Scenery mailing list: x-plane-scenery at yahoogroups.com
Developer mailing list: x-plane-dev at yahoogroups.com




More information about the dev mailing list