Skip to main content

Hello,

 

I have a problem to find overlapping lines with FME, in a DWG file :

 

If there are common vertices between lines, SpatialRelator (or SpatialFilter) works.

Wheareas, if there is no common vertex, overlaps are not found.

 

I tried LineOnLineOverlayer, Intersector and TopologyBuilder, but They have not fixed the problem.

I read these articles, but I didn't find a solution :

https://knowledge.safe.com/questions/1633/intersector-overlap-issue.html

https://knowledge.safe.com/questions/58290/find-overlapping-lines-in-network.html

 

Is there another solution to do this ?

 

Thank you.

Did you have a tolerance set in the intersector?


I attach a DWG File, only with 2 lines, where the SpatialRelator don't find overlap between them : drawing2.dwg


Did you have a tolerance set in the intersector?

No tolerance in the intersector


No tolerance in the intersector

You didn't set a tolerance, or you don't have that option? With the current version of the intersector, those overlapping segments are found if a tolerance is set


@arxit

That is because the line do not have same function. ..and do not intersect.

 

Check their angles, they differ after the 10 decimal.:

Angle

6.024405345316602

6.024405345377287

 

As @egomm said if you use a tolerance in the LineOnLineOverlayer (0.000000001 or larger works..)

you get your expected result.

 

(You could also round the coordinates, extend the lines, sync the angles, unify the functions etc.)


@arxit

That is because the line do not have same function. ..and do not intersect.

 

Check their angles, they differ after the 10 decimal.:

Angle

6.024405345316602

6.024405345377287

 

As @egomm said if you use a tolerance in the LineOnLineOverlayer (0.000000001 or larger works..)

you get your expected result.

 

(You could also round the coordinates, extend the lines, sync the angles, unify the functions etc.)

Yes, it works with a tolerance in the Intersector.

however I tried with a CoordinateRounder before the SpatialRelator, but it don't find Overlaps.


You didn't set a tolerance, or you don't have that option? With the current version of the intersector, those overlapping segments are found if a tolerance is set

I didn't set a tolerance


I didn't set a tolerance

Thank you, it works with a tolerance


Reply