Skip to main content

In my workflow I need to check whether multiple lines (paths) crosses within some areas (hazard zones). I'm doing this with LineOnAreaOverlayer, but it is too slow only with 17K lines and 8 areas. It has taken more than two hours and the process didn't finish (On the bottom of the workbench I get this message performing low-level intersection phase X%)

I've read that I could enable paralellism with grouping. However, when I did this the process doesn't find any overlaping line with the area, when it certainly are lines that do it. How could I improve the performance of this process?

For using Parallel Processing it is important that both Lines and Areas share a common attribute to find matches.

Another solution would be to use the SpatialFilter. If you are able to get the areas in first as Filters and the Lines next as Candidates, the data will directly pass and continue the workspace. Features that intersect will exit through the Passed port and the others will use the Failed port.


Hi @rrdlpl, if a line could cross two or more areas and also you need to split the lines by the boundaries of the areas, the Clipper could also be a solution. Send the areas to the Clipper port, send the lines to the Clipee port. If it's sure that all the area features will be input before any line feature, you can set "Clippers First" to the "Clipper Type" parameter to improve performance.


Hi @rrdlpl, if a line could cross two or more areas and also you need to split the lines by the boundaries of the areas, the Clipper could also be a solution. Send the areas to the Clipper port, send the lines to the Clipee port. If it's sure that all the area features will be input before any line feature, you can set "Clippers First" to the "Clipper Type" parameter to improve performance.

Hi @takashi we only need to know if a line intersects any polygon (area) we do not need to know wich one, we have a set of dangeous areas, if an student path (line) intersect any dangerous area we need to take some actions.

 


Hi @rrdlpl, if a line could cross two or more areas and also you need to split the lines by the boundaries of the areas, the Clipper could also be a solution. Send the areas to the Clipper port, send the lines to the Clipee port. If it's sure that all the area features will be input before any line feature, you can set "Clippers First" to the "Clipper Type" parameter to improve performance.

Hi @velasquezvictor, in the case, I think @lars_de_vries' suggestion - the SpatialFilter could take the best performance.

For using Parallel Processing it is important that both Lines and Areas share a common attribute to find matches.

Another solution would be to use the SpatialFilter. If you are able to get the areas in first as Filters and the Lines next as Candidates, the data will directly pass and continue the workspace. Features that intersect will exit through the Passed port and the others will use the Failed port.

SpatialFilter would most probably be the solution.

 

 


For using Parallel Processing it is important that both Lines and Areas share a common attribute to find matches.

Another solution would be to use the SpatialFilter. If you are able to get the areas in first as Filters and the Lines next as Candidates, the data will directly pass and continue the workspace. Features that intersect will exit through the Passed port and the others will use the Failed port.

it worked like charm thanks @lars_de_vries

 

 


Reply