<div dir="ltr"><div><div><br><br>On Wed, Jan 25, 2017 at 5:19 PM, Paulo van Breugel <<a href="mailto:p.vanbreugel@gmail.com">p.vanbreugel@gmail.com</a>> wrote:<br>><br>><br>><br>> On 25-01-17 16:57, Markus Metz wrote:<br>><br>><br>><br>> On Wed, Jan 25, 2017 at 12:31 PM, Paulo van Breugel <<a href="mailto:p.vanbreugel@gmail.com">p.vanbreugel@gmail.com</a>> wrote:<br>> ><br>> > Dear all,<br>> ><br>> > I have a vector layer which I cleaned up using v.clean. It all appears to be fine, but when trying to export using the libkml in v.out.ogr and the type=area option, I am getting the warning and error messages like below:<br>> ><br>> > Warning 1: Ring Self-intersection at or near point<br>> > 88.100626640406631 27.668444701473838<br>> > ERROR 6: Invalid polygon<br>> > Warning 1: Ring Self-intersection at or near point<br>> ><br>> > In the resulting kml file, some of the polygons are missing. If I use the kml output in v.out.ogr, I am not getting any warnings, but similarly, some of the polygons are missing.<br>> ><br>> > When I import the layer in Spatialite and check the geometries I am getting similar warnings / error messages, e.g.,:<br>> ><br>> > 27 Ring Self-intersection at or near point 82.397900772562522 29.707213605319616<br>> ><br>> ><br>> > How can I identify and clean these issues in GRASS? Checking for topological errors with v.build does not result in any error, and I tried the various tools in v.clean to no avail.<br>><br>> Did you try<br>> v.clean -c type=boundary tool=rmsa,break,rmdangle threshold=0,0,-1<br>> ?<br>><br>> Yes, I tried<br>><br>> Also try v.build -e<br>><br>><br>> Tried that too, it does not report any error.<br>><br>> Generally where the boundaries of two polygons with the same category touch each other by one point (illustrated below), Spatialite and QGIS (both using geos) seem to report an error for that point.<br>><br>> +-----+   +<br>> |     | /   \<br>> |  A  |+  A  +<br>> |     | \   /<br>> +-----+   +<br>><br>OK. In some cases, the vertex is not exactly on the line but just slightly off. It depends on how floating point precision is handled if this is regarded as an intersection or not. If GRASS assumes a smaller floating point precision error than GEOS, GRASS treats it as no intersection while GEOS might recognize an intersection. A solution could be to snap boundaries with a very small threshold.<br><br></div>Just a guess.<br><br></div>Markus M<br><div><div><br>><br>> I am not sure yet if that is what is causing the problem (missing polygons) when exporting to kml. I am cleaning a layer now for export. Will report how that worked out.<br>><br>> Markus M<br>><br>> ><br>> > Paulo<br>> > _______________________________________________<br>> > grass-dev mailing list<br>> > <a href="mailto:grass-dev@lists.osgeo.org">grass-dev@lists.osgeo.org</a><br>> > <a href="https://lists.osgeo.org/mailman/listinfo/grass-dev">https://lists.osgeo.org/mailman/listinfo/grass-dev</a><br>><br>></div></div></div>