Skip to main content
Solved

Find overlapping line features where either of the edges have no vertex.


Forum|alt.badge.img

Hi there,

I'd like to know how I can detect scenarios where polyline features cross each other without the presence of any vertices. See my awful paint work as example:

So in this scenario, both the red and blue line has no vertices where they cross. These kinds of situations, as well as one where just one or the other has no vertex, is what I'm trying to identify. Meaning, in all cases in my data, both edges need to each have a vertex wherever lines cross.

 

Thank you in advance!

Best answer by david_r

One option could be to use the TopologyBuilder and then detect the new nodes it creates (PointOnPointOverlayer)

View original
Did this help you find an answer to your question?

6 replies

david_r
Celebrity
  • Best Answer
  • October 14, 2019

One option could be to use the TopologyBuilder and then detect the new nodes it creates (PointOnPointOverlayer)


Forum|alt.badge.img
david_r wrote:

One option could be to use the TopologyBuilder and then detect the new nodes it creates (PointOnPointOverlayer)

Hi @david_r,

I'm not quite sure I follow. I'm trying to run the data through a TopologyBuilder, but after that I'm not sure how to set the PointOnPointOverlayer to "detect" new nodes?


david_r
Celebrity
  • October 14, 2019
robbie_botha wrote:

Hi @david_r,

I'm not quite sure I follow. I'm trying to run the data through a TopologyBuilder, but after that I'm not sure how to set the PointOnPointOverlayer to "detect" new nodes?

Come to think of it, you could also use the ChangeDetector to detect the new nodes, that might be easier (starting FME 2019).

Original = your existing nodes

Revised = the nodes output by the TopologyBuilder

You then want to look at the output of the "Inserted" port. It might be necessary to specify a small tolerance for the geometry comparison.


ebygomm
Influencer
Forum|alt.badge.img+38
  • Influencer
  • October 14, 2019

I would use the intersector to create nodes, separately use a chopper to turn the original data into points and then send both outputs to a matcher to find any unmatched nodes. These are the areas where your lines cross without a node being present.

 

The only thing to consider is whether you want to find where lines cross where there is a node on one line but not on the other. This process will not identify these

 

Lines Cross No Node.fmw


Forum|alt.badge.img
david_r wrote:

Come to think of it, you could also use the ChangeDetector to detect the new nodes, that might be easier (starting FME 2019).

Original = your existing nodes

Revised = the nodes output by the TopologyBuilder

You then want to look at the output of the "Inserted" port. It might be necessary to specify a small tolerance for the geometry comparison.

Hi @david_r,

Thanks, this one works great. I had to add a chopper as well to convert my original data to nodes, but the output after that is perfect.


ebygomm
Influencer
Forum|alt.badge.img+38
  • Influencer
  • October 14, 2019
robbie_botha wrote:

Hi @david_r,

Thanks, this one works great. I had to add a chopper as well to convert my original data to nodes, but the output after that is perfect.

This will suffer from the same limitation, that if lines cross but only one has a node at the point of intersection, this won't be highlighted. This may or may not be an issue depending on what you are trying to achieve


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings