[GIS] Comparing GRASS v.Overlay/QGIS Intersect Speed intersecting line and polygon?

grassqgis

Im currently trying to convert my scripts from ArcGIS to QGIS but one aspect that is extremely slow is trying to intersect a polygon with a line feature. I feel as though there must be a better way to accomplish trying to clip the voronoi polylines with the original polygon itself i.e. :

Voronoi_Lines

by

Original Polygon

These are some of the bench tests that i've done with these two layers.

ArcGIS 10.1 Intersect
2min 24sec

Grass 7 v.Overlay
quit after ~1hour (~70% Selecting lines…) – Currently not supported in processing (Sextante)

Grass 7 v.split + v.Overlay
~2min + 45min

QGIS 1.9
quit after ~3hours

ogr2ogr -clipsrc
quit after > 1hour

SAGA GIS Intersect Line-Polygon
~15min — acceptable but still 7x slower than ArcGIS and produces wrong results? The images below show SAGA GIS Intersect(with dangles removed) and same area with ArcGIS Intersect – Clearly SAGA did not intersect the line and polygon correctly as there should be no connection of the lines. These errors are scattered throughout the new output!!! In addition Line-Polygon does not retain the polygon intersect attributes to the line unlike the other methods mentioned above…

SAGA GIS Intersect

I have placed the original dataset in a GitHub repository here so hopefully others can make their own benchmarks and thereby provide suggestions?

I notice that ArcGIS Desktop splits (cracking) the featureclass so I do not know if that is another possibility to improve intersection speed within one of the opensource alternatives mentioned above?

***Note that the reason I mention QGIS here is that I have made some scripts within the processing toolbox (formally known as Sextante) and i'd like to remain in that environment if at all possible.

System – Intel Core i7-2760QM CPU @2.40GHz and 8GB ram

Best Answer

What I did to speed up this process was to load SHP files in PostgreSQL and do clipping there. Not a perfect solution but faster for me since I quite powerful server behind it. And yes, this operations are slow.

Related Question