osmcoastline icon indicating copy to clipboard operation
osmcoastline copied to clipboard

Reversed coastline results in "Hole lies outside shell" output

Open wangi opened this issue 3 years ago • 2 comments

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).

  • Test data: https://ogfdata.rent-a-planet.com/extracts/osmcoastline-issue41/ogf-coastline-data.osm.pbf
  • Output db: https://ogfdata.rent-a-planet.com/extracts/osmcoastline-issue41/ogf-coastlines-split.db
  • Command line: osmcoastline --verbose --srs=3857 --overwrite --output-lines --output-polygons=both --output-rings --max-points=1000 --output-database ogf-coastlines-split.db ogf-coastline-data.osm.pbf

Thanks/L

wangi avatar Mar 08 '22 23:03 wangi

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.

joto avatar Mar 09 '22 09:03 joto

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

wangi avatar Mar 09 '22 17:03 wangi