Using QGIS + Grass, I've added a shapefile of coastline and islands to my map.
I then buffer this shapefile to create a coastal zone of a known width. At this stage the buffer consists of the offshore (buffered) area + the area occupied by the land/ islands. As I am only interested in the offshore part, I then "clip" the land shapefile from the buffer.
I have tried this using both Vector>Geoprocessing Tools>Difference and GRASS v.overlay.xor. Either approach results in geometry errors (lots of them).
segments 0 and 24 of line 43 intersect at xx.xxx, yy.yyyy
This appears to be due to narrow connections between land areas (yellow in the picture below) resulting in intersecting nodes after the ocean (blue) is clipped.
My land data comes from an external source, and I don't have a lot of scope to simplify or adjust this.
What is the best way to handle these errors, or to avoid them in the first place?
I'm not a GIS expert, so there's a good chance that I'm approaching this problem from the wrong end. Would appreciate any tips or advice to avoid these errors.