[Qgis-developer] why Difference takes much more time then Clip?

G. Allegri giohappy at gmail.com
Tue Jul 1 11:05:27 PDT 2014


To be correct, the two postgis queries are:

select min(l.osm_id),st_difference(l.geom,st_union(e.geom)) as geom from
linee_selezione_s l join edifici_buffer_s e
on ST_Intersects(l.geom, e.geom) group by l.geom

select min(l.osm_id),st_intersection(l.geom,st_union(e.geom)) as geom from
linee_selezione_s l join edifici_buffer_s e
on ST_Intersects(l.geom, e.geom) group by l.geom


2014-07-01 19:37 GMT+02:00 G. Allegri <giohappy at gmail.com>:

> I'm doing some tests on fTools/Processing spatial operators, with a cover
> multilinestring layer and a base polygon layer.
>
> Running the following query on PostGIS I get similar timings with
> st_intersection and st_difference:
>
> select l.osm_id,ST_intersection(l.geom,e.geom) as geom from
> linee_selezione as l,edifici_buffer as e where ST_Intersects(l.geom, e.geom)
>
> while if I run the Difference tool QGIS chokes and it takes magnitudes of
> more time then Clip.
> If made both tools as similar as possible, just changing this [1] line of
> code, but the difference in execution time remains big.
>
> I can't find out where is the difference, because both PostGIS and QGIS
> base the operations on GEOS.
> Any hints?
>
> giovanni
>
> [1]
> https://github.com/qgis/QGIS/blob/master/python/plugins/processing/algs/qgis/ftools/Clip.py#L107
>
> --
> Giovanni Allegri
> http://about.me/giovanniallegri
> Twitter: https://twitter.com/_giohappy_
> blog: http://blog.spaziogis.it
> GEO+ geomatica in Italia http://bit.ly/GEOplus
>



-- 
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/20140701/0d57d2f9/attachment-0001.html>


More information about the Qgis-developer mailing list