[QGIS-Developer] [Processing][Vector Geometry] Check Validity Algorithm

João Gaspar joao.f.r.gaspar at gmail.com
Fri Sep 27 11:50:25 PDT 2019


Nice Jorge,
I think for now is relevant to explain the possible errors (I will try to
put some images) and explain to the users what is each one and give
possible hints how to fix them.

Cheers,
João

A sexta, 27/09/2019, 16:36, Jorge Gustavo Rocha <jgr at di.uminho.pt> escreveu:

> Hi João,
>
> If you can see a good way to make both validation errors strings more
> similar (when the GEOS and QGIS error are the same), feel to make a
> proposal.
>
> Right now, for the same error, a user will see (for example):
>
> Using GEOS:
> Ring self-intersection
>
> Using QGIS:
> segments 2 and 126 of line 0 intersect at -2632521.58859, 5137728.25013
> segments 3 and 126 of line 0 intersect at -2632521.58859, 5137728.25013
>
> Regards,
>
> Jorge Gustavo
>
> PS For my classes/workshops, I use the alaska shapefile from
> https://qgis.org/downloads/data/
> It contains errors :-)
>
> Às 16:24 de 27/09/19, Jorge Gustavo Rocha escreveu:
> > Hi João,
> >
> > That would be great!
> >
> > For the GEOS validation, you can get the list of errors from:
> > src/core/geometry/qgsgeos.cpp
> >
> > QStringLiteral( "topology validation error" ), QObject::tr( "Topology
> > validation error", "GEOS Error" )
> > QStringLiteral( "repeated point" ), QObject::tr( "Repeated point", "GEOS
> > Error" )
> > QStringLiteral( "hole lies outside shell" ), QObject::tr( "Hole lies
> > outside shell", "GEOS Error" )
> > QStringLiteral( "holes are nested" ), QObject::tr( "Holes are nested",
> > "GEOS Error" )
> > QStringLiteral( "interior is disconnected" ), QObject::tr( "Interior is
> > disconnected", "GEOS Error" )
> > QStringLiteral( "self-intersection" ), QObject::tr( "Self-intersection",
> > "GEOS Error" )
> > QStringLiteral( "ring self-intersection" ), QObject::tr( "Ring
> > self-intersection", "GEOS Error" )
> > QStringLiteral( "nested shells" ), QObject::tr( "Nested shells", "GEOS
> > Error" )
> > QStringLiteral( "duplicate rings" ), QObject::tr( "Duplicate rings",
> > "GEOS Error" )
> > QStringLiteral( "too few points in geometry component" ), QObject::tr(
> > "Too few points in geometry component", "GEOS Error" )
> > QStringLiteral( "invalid coordinate" ), QObject::tr( "Invalid
> > coordinate", "GEOS Error" )
> > QStringLiteral( "ring is not closed" ), QObject::tr( "Ring is not
> > closed", "GEOS Error" )
> >
> > For the QGIS validation, you have to look at:
> > src/core/qgsgeometryvalidator.cpp
> >
> >             QString msg = QObject::tr( "segment %1 of ring %2 of polygon
> > %3 intersects segment %4 of ring %5 of polygon %6 at %7" )
> >       QString msg = QObject::tr( "ring %1 with less than four points"
> > ).arg( i );
> >       QString msg = QObject::tr( "ring %1 not closed" ).arg( i );
> >     QString msg = QObject::tr( "line %1 with less than two points"
> > ).arg( i );
> >       QString msg = QObject::tr( "line %1 contains %n duplicate node(s)
> > at %2", "number of duplicate nodes", n ).arg( i ).arg( j );
> >       QString msg = QObject::tr( "segments %1 and %2 of line %3
> > intersect at %4" ).arg( j ).arg( k ).arg( i ).arg( s.toString() );
> >       QString msg = QObject::tr( "Ring %1 of polygon %2 not in exterior
> > ring" ).arg( i ).arg( idx );
> >
> > I hope it helps.
> >
> > Best regards,
> >
> > Jorge Gustavo
> >
> > Às 15:20 de 27/09/19, João Gaspar escreveu:
> >> Hi devs,
> >> I need some guidance to help me find all possible error messages that
> >> are saved in the attribute table when we run the Check Validity
> >> Algorithm for both methods.
> >> This can be found in the source code?
> >>
> >> I search here but didn't find:
> >>
> https://github.com/qgis/QGIS/blob/master/python/plugins/processing/algs/qgis/CheckValidity.py
> >>
> >> I'm asking this because this can be a good addition in the documentation
> >> to explain the errors that can occur to help understand what is what and
> >> why happens.
> >>
> >> Please feel free to give any advice.
> >>
> >> Thank you for your time.
> >>
> >> Cheers,
> >> João
> >>
> >> _______________________________________________
> >> QGIS-Developer mailing list
> >> QGIS-Developer at lists.osgeo.org
> >> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >>
> >
> > J. Gustavo
> >
>
> J. Gustavo
> --
> Jorge Gustavo Rocha
> Departamento de Informática
> Universidade do Minho
> 4710-057 Braga
> Gabinete 3.29 (Piso 3)
> Tel: +351 253604480
> Fax: +351 253604471
> Móvel: +351 910333888
> skype: nabocudnosor
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20190927/cf752ddb/attachment-0001.html>


More information about the QGIS-Developer mailing list