Solved

Identifying intersected lines from different datasets

  • 30 January 2019
  • 4 replies
  • 30 views

Badge +6

I have two datasets . Both of them consist of linestring. One data set is street centerline and the second one is the left and righ side of the street. I would like to find the lines in second dataset where they intersect with lines in the first dataset.

It is pretty straight forward. I can do it in QGIS with help of spatial query. However, I am not able to identfy those lines correctly. Both Spatial Relator and Spatial Filter find some of the disjoint lines as intersected. I do not know what I am doing wrongly.

I would be very happy, if someone could help me. Thanks in advance.

Here is the snapshot how my two datasets look like. I would like to find the intersection as marked in the pic.

This is how the workbench and spatial filter parameter lok

 

 

 

Here one can see the lines that are detected as intersected however they are not even touching each other.

 

Those lines are however identfy correctly as intersected.

icon

Best answer by daveatsafe 30 January 2019, 22:57

View original

4 replies

Userlevel 5
Badge +30

Hi @jugoslaviaa

Did you try to use the transformer Intersector?

 

Thanks,

 

Danilo

 

Userlevel 5
Badge +30

Hi @jugoslaviaa

Did you try to use the transformer Intersector?

 

Thanks,

 

Danilo

 

Interesting link

https://knowledge.safe.com/questions/2351/line-intersect.html

Userlevel 2
Badge +17

Hi @jugoslaviaa,

In the SpatialFilter, please change the Support Mode to Support All Predicates, then change the Spatial Predicates to Test to 'Filter Crosses Candidate'. If you have any aggregates in your source geometry, you will need to use a Deaggregator before the SpatialFilter. This should find all the crossing lines.

Badge +6

Hi @jugoslaviaa,

In the SpatialFilter, please change the Support Mode to Support All Predicates, then change the Spatial Predicates to Test to 'Filter Crosses Candidate'. If you have any aggregates in your source geometry, you will need to use a Deaggregator before the SpatialFilter. This should find all the crossing lines.

It worked! Thank you very much. I knew that I am doing something wrongly. I have both add the deaggretor and change the parameter in the filter. I kept both cross and intersection and the output is as I expected now.

Reply