[Qgis-developer] Geom collection and QGIS (was QgisLogger can be a serious bottleneck)

G. Allegri giohappy at gmail.com
Sat Jul 5 11:15:45 PDT 2014


Well, Andrea, QGIS adopts GEOS capabilities as far as it can.
As you will know it doesn't support Z and M geoms as well.
I hope future founders will help extending its capabilities...

giovanni


2014-07-05 20:10 GMT+02:00 Andrea Peri <aperi2007 at gmail.com>:

> Is wrong.
> The geos return a collection when the collectionis the right result.
>
> if the result is a collection like:
> collection (multipolygons, multilinestrings, multipoint)
>
> why it should remove the lines and points.
>
> It could be useful to the client.
> The fact that the client is capable to understand only point/line and
> polgons is a problem of the client , not of the geos.
>
> If the invoker is not capable to understand collection, but it want do
> operation that could return collection.
> The invoker (the client) should increase him matematics capability ,
> not decrease the capability of geos.
> :)
>
> In postgis and spalite is easy manage this kind of situation even if
> the table is not a collection.
>
> With a  "ExtractFromCollection(ForceToCollection(geometry)..)"
> you can easily to resolve the problem on postgis/spatialite.
>
> If this capability is not available in qgis is a problem of qgis not of
> geos.
>
> :)
>
> A.
>
>
> 2014-07-05 17:23 GMT+02:00 G. Allegri <giohappy at gmail.com>:
> > (I changed the topic)
> >
> > Geometry collections in QGIS must be treated at the GEOS level.
> > There isnt a QGIS::wkbType for geometry collections, so if GEOS return a
> > collection they must be managed as GEOS geometries, before "moving them
> up"
> > to QgsGeometry.
> >
> > Correct me if I'm wrong.
> >
> > giovanni
> >
> >
> > 2014-07-05 17:17 GMT+02:00 Andrea Peri <aperi2007 at gmail.com>:
> >>
> >> Thx GioHappy, this is imprtant for me to know.
> >>
> >> So is surely better to use the postgis or spatialite
> >> because it allow you to extract from the collection the section with
> >> the right type.
> >>
> >> If you do a difference beetwen two polygons is the result is a
> >> collection with a polygon section and a point section.
> >> You should extract the polygon and discard the point.
> >> If the strategu is discard all the collection this mean that on qgis
> >> the difference could lost domething of important and so potentially
> >> the difference do a wrong result.
> >>
> >> Regards,
> >> Andrea.
> >>
> >>
> >> 2014-07-05 16:47 GMT+02:00 G. Allegri <giohappy at gmail.com>:
> >> > AFAICS whenever a new feature needs to be created, geom collections
> are
> >> > discarded, because QGIS cannot manage them.
> >> >
> >> > giovanni
> >> >
> >> >
> >> > 2014-07-05 16:40 GMT+02:00 Andrea Peri <aperi2007 at gmail.com>:
> >> >
> >> >> Ok, sorry.
> >> >>
> >> >> Just a my personal curiosity:
> >> >> The difference could give also a collection not empty.
> >> >> If the difference of two polygons is a collection with some polygons,
> >> >> some lines and some points.
> >> >> What happened to this collection in QGIS ?
> >> >>
> >> >> Thx,
> >> >> A.
> >> >>
> >> >>
> >> >> 2014-07-05 16:03 GMT+02:00 G. Allegri <giohappy at gmail.com>:
> >> >> > Hi Andrea, as I said above I'm not considering it an error.
> >> >> > The topic of this post is QGIS message logging.
> >> >> > The processing completes as expected, with the same results as
> >> >> > Spatialite
> >> >> > and PostGIS. These simply do it silently :)
> >> >> >
> >> >> > giovanni
> >> >> >
> >> >> >
> >> >> >
> >> >> > 2014-07-05 15:59 GMT+02:00 Andrea Peri <aperi2007 at gmail.com>:
> >> >> >
> >> >> >> Hi GioHappy,
> >> >> >>
> >> >> >> the empty-collection is absolutelly not necessarylly a bug.
> >> >> >> It is the obviously result of an operation on a machine (like the
> >> >> >> computer) with a binary finite arithmetic.
> >> >> >>
> >> >> >> Usually the empty is due to a too low value to be describe with a
> >> >> >> finite binary arithmetic.
> >> >> >>
> >> >> >> If the dataset is small or it is topologically correct (this not
> >> >> >> mean
> >> >> >> only to be snapped).
> >> >> >>  the collection results never happened.
> >> >> >> Instead if the dataset is not topologically correct and is big the
> >> >> >> probability to have some collection result grow.
> >> >> >> We tipically have alway an 0.01% of collection on our results.
> >> >> >>
> >> >> >> I suggest you to use directly postgis or spatialite to do this
> kind
> >> >> >> of
> >> >> >> operations.
> >> >> >>
> >> >> >> In these products you have the useful tools to resolve the
> >> >> >> collections
> >> >> >> correctly.
> >> >> >>
> >> >> >> Regard,
> >> >> >>
> >> >> >> Andrea.
> >> >> >>
> >> >> >>
> >> >> >> 2014-07-05 12:40 GMT+02:00 G. Allegri <giohappy at gmail.com>:
> >> >> >> > Hi Jurgen,
> >> >> >> > I wouldn't call them errors. GEOSDIfference returned a lot of
> >> >> >> > empty
> >> >> >> > geomcollections, which the QgsVectorFileWriter couldn't manage.
> >> >> >> > Consequently
> >> >> >> > it wrote a log message for each geometry it couldn't write [1].
> >> >> >> >
> >> >> >> > Surely the logging should be improved in this specific case.
> >> >> >> > Anyway,
> >> >> >> > I
> >> >> >> > think
> >> >> >> > the option to turn QgsMessageLog off could be useful anyway...
> >> >> >> >
> >> >> >> > giovanni
> >> >> >> >
> >> >> >> > [1]
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> https://github.com/qgis/QGIS/blob/master/src/core/qgsvectorfilewriter.cpp#L1718
> >> >> >> >
> >> >> >> >
> >> >> >> > 2014-07-05 12:31 GMT+02:00 Jürgen E. <jef at norbit.de>:
> >> >> >> >
> >> >> >> >> Hi Giovanni,
> >> >> >> >>
> >> >> >> >> On Sat, 05. Jul 2014 at 10:27:24 +0200, G. Allegri wrote:
> >> >> >> >> > As I reported in a previous post, I was unable to conclude a
> >> >> >> >> > difference
> >> >> >> >> > operation on a vector because the tool was running in
> >> >> >> >> > exponential
> >> >> >> >> > time.
> >> >> >> >>
> >> >> >> >> > Debugging pointed me to the problem: QgsVectoFileWriter was
> >> >> >> >> > logging
> >> >> >> >> > tons
> >> >> >> >> > of
> >> >> >> >> > empty geometres with an incompatible type which will be
> >> >> >> >> > discarded.
> >> >> >> >> > After commenting the line of logging the process completed in
> >> >> >> >> > linear
> >> >> >> >> > time.
> >> >> >> >>
> >> >> >> >> > Shouldn't we offer the opportunity to turn QgsLogger off?
> This
> >> >> >> >> > would
> >> >> >> >> > let
> >> >> >> >> > the user/developer to switch it off whenever he already knows
> >> >> >> >> > what's
> >> >> >> >> > happening.
> >> >> >> >> > Is it already there and I missed it?
> >> >> >> >>
> >> >> >> >> What error message did you get and wouldn't it be better to
> kill
> >> >> >> >> them
> >> >> >> >> where it
> >> >> >> >> origins or to issue a final "%n empty geometries skipped"
> instead
> >> >> >> >> of
> >> >> >> >> logging
> >> >> >> >> individual errors.
> >> >> >> >>
> >> >> >> >> Alternatively we could issue a "last message repeated %n times"
> >> >> >> >> in
> >> >> >> >> message
> >> >> >> >> log
> >> >> >> >> to make it behave better - although that only works the error
> >> >> >> >> message
> >> >> >> >> are
> >> >> >> >> identical.
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> Jürgen
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> Jürgen E. Fischer           norBIT GmbH             Tel.
> >> >> >> >> +49-4931-918175-31
> >> >> >> >> Dipl.-Inf. (FH)             Rheinstraße 13          Fax.
> >> >> >> >> +49-4931-918175-50
> >> >> >> >> Software Engineer           D-26506 Norden
> >> >> >> >> http://www.norbit.de
> >> >> >> >> QGIS release manager (PSC)  Germany                    IRC: jef
> >> >> >> >> on
> >> >> >> >> FreeNode
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> norBIT Gesellschaft fuer Unternehmensberatung und
> >> >> >> >> Informationssysteme
> >> >> >> >> mbH
> >> >> >> >> Rheinstrasse 13, 26506 Norden
> >> >> >> >> GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502
> >> >> >> >>
> >> >> >> >> _______________________________________________
> >> >> >> >> Qgis-developer mailing list
> >> >> >> >> Qgis-developer at lists.osgeo.org
> >> >> >> >> http://lists.osgeo.org/mailman/listinfo/qgis-developer
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > --
> >> >> >> > Giovanni Allegri
> >> >> >> > http://about.me/giovanniallegri
> >> >> >> > Twitter: https://twitter.com/_giohappy_
> >> >> >> > blog: http://blog.spaziogis.it
> >> >> >> > GEO+ geomatica in Italia http://bit.ly/GEOplus
> >> >> >> >
> >> >> >> > _______________________________________________
> >> >> >> > Qgis-developer mailing list
> >> >> >> > Qgis-developer at lists.osgeo.org
> >> >> >> > http://lists.osgeo.org/mailman/listinfo/qgis-developer
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> -----------------
> >> >> >> Andrea Peri
> >> >> >> . . . . . . . . .
> >> >> >> qwerty àèìòù
> >> >> >> -----------------
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Giovanni Allegri
> >> >> > http://about.me/giovanniallegri
> >> >> > Twitter: https://twitter.com/_giohappy_
> >> >> > blog: http://blog.spaziogis.it
> >> >> > GEO+ geomatica in Italia http://bit.ly/GEOplus
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> -----------------
> >> >> Andrea Peri
> >> >> . . . . . . . . .
> >> >> qwerty àèìòù
> >> >> -----------------
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Giovanni Allegri
> >> > http://about.me/giovanniallegri
> >> > Twitter: https://twitter.com/_giohappy_
> >> > blog: http://blog.spaziogis.it
> >> > GEO+ geomatica in Italia http://bit.ly/GEOplus
> >>
> >>
> >>
> >> --
> >> -----------------
> >> Andrea Peri
> >> . . . . . . . . .
> >> qwerty àèìòù
> >> -----------------
> >
> >
> >
> >
> > --
> > Giovanni Allegri
> > http://about.me/giovanniallegri
> > Twitter: https://twitter.com/_giohappy_
> > blog: http://blog.spaziogis.it
> > GEO+ geomatica in Italia http://bit.ly/GEOplus
>
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
>



-- 
Giovanni Allegri
http://about.me/giovanniallegri
Twitter: https://twitter.com/_giohappy_
blog: http://blog.spaziogis.it
GEO+ geomatica in Italia http://bit.ly/GEOplus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140705/babce712/attachment-0001.html>


More information about the Qgis-developer mailing list