[GRASS-dev] vector layer contains error not detected by v.build nor cleaned in v.clean

Paulo van Breugel p.vanbreugel at gmail.com
Thu Jan 26 01:28:49 PST 2017



On 26-01-17 08:40, Markus Metz wrote:
>
>
> On Wed, Jan 25, 2017 at 5:19 PM, Paulo van Breugel 
> <p.vanbreugel at gmail.com <mailto:p.vanbreugel at gmail.com>> wrote:
> >
> >
> >
> > On 25-01-17 16:57, Markus Metz wrote:
> >
> >
> >
> > On Wed, Jan 25, 2017 at 12:31 PM, Paulo van Breugel 
> <p.vanbreugel at gmail.com <mailto:p.vanbreugel at gmail.com>> wrote:
> > >
> > > Dear all,
> > >
> > > 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:
> > >
> > > Warning 1: Ring Self-intersection at or near point
> > > 88.100626640406631 27.668444701473838
> > > ERROR 6: Invalid polygon
> > > Warning 1: Ring Self-intersection at or near point
> > >
> > > 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.
> > >
> > > When I import the layer in Spatialite and check the geometries I 
> am getting similar warnings / error messages, e.g.,:
> > >
> > > 27 Ring Self-intersection at or near point 82.397900772562522 
> 29.707213605319616
> > >
> > >
> > > 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.
> >
> > Did you try
> > v.clean -c type=boundary tool=rmsa,break,rmdangle threshold=0,0,-1
> > ?
> >
> > Yes, I tried
> >
> > Also try v.build -e
> >
> >
> > Tried that too, it does not report any error.
> >
> > 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.
> >
> > +-----+   +
> > |     | /   \
> > |  A  |+  A  +
> > |     | \   /
> > +-----+   +
> >
> 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.
That did help me to get rid of many of the reported errors, thanks!

>
> Just a guess.
>
> Markus M
>
> >
> > 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.
> >
> > Markus M
> >
> > >
> > > Paulo
> > > _______________________________________________
> > > grass-dev mailing list
> > > grass-dev at lists.osgeo.org <mailto:grass-dev at lists.osgeo.org>
> > > https://lists.osgeo.org/mailman/listinfo/grass-dev
> >
> >

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20170126/ba094b53/attachment.html>


More information about the grass-dev mailing list