osmcode / osmcoastline

Extracts coastline data from OpenStreetMap planet file.
https://osmcode.org/osmcoastline/
GNU General Public License v3.0
107 stars 14 forks source link

Reversed coastline results in "Hole lies outside shell" output #41

Open wangi opened 2 years ago

wangi commented 2 years ago

Hi, seeing an issue which results in a continent worth of coastline output to the error_lines table in the spatialite file, with "invalid" status - so very hard to troubleshoot. Looking the output of osmcoastline v2.3.1-6-g5652a7b gives more information:

[ 0:05] Writing out rings... (Because you gave the --output-rings/-r option.)
[ 0:20] Create polygons...
Warning 1: Hole lies outside shell at or near point 128.80197369999999 35.702867900000001
[ 0:36] Fixing coastlines going the wrong way...
[ 0:36]   Turned 0 polygons around.

Looking at that location, there is a island with reversed coastline, which isn't getting picked up by the normal checks (we parse out the db and use for basis of display here).

Thanks/L

joto commented 2 years ago

There are occasions where osmcoastline doesn't work correctly and I have never figured out what happens exactly. Something between my code and the GEOS library code. In very few cases the error output generated by osmcoastline is not enough to find the problem, but then, as you have seen, you'll get that warning on the command line output, which is generated directly by the library. Fixing the issue around that point has always fixed the problem for me.

wangi commented 2 years ago

Thanks, i'll probably wrap around the osmcoastline output, grep out that error and manually insert into the db for the checker to use.