Question

Find Overlapping Lines in Network

  • 20 November 2017
  • 9 replies
  • 156 views

Badge

Hi There,

I've got a question that seems to appear a fair bit within the forum but I have so far been unable to find a methodology that works for my case.

I'm attempting to identify water mains within a water distribution network that have accidentally been duplicated, incorrectly split and not removed, or more generally are errors that went unnoticed. What I think it boils down to is isolating where lines overlap exactly (Scenario B of attach image), where mains have been split and a segment wasn't retired/removed when (Scenario A), or where a segment was completely replaced the old segment wasn't removed or retired (Scenario C). *Orange segments below are the erroroneous segments I'm attempting to isolate.

From the forum posts I've read here there's a lot of talk of using the LineOnLineOverlayer which I have tried using. However, I'm don't want to report on valid intersects where mains are connected to each other. I've have some difficulty trying to weed these false positives out of my results.

I'm looking for some suggestions as to how I might be able to achieve this QA task.

Thanks,

Warren

 


9 replies

Badge +22

Have you looked at the CommonSegmentFinder?

Badge

Have you looked at the CommonSegmentFinder?

 

Hi @jdh

 

 

I have tried the CommonSegmentFinder however all of the water mains I'm evaluating come from the same features so it doesn't yield anything other than a perfect copy of the inputs since the base and candidate variables are the same features and therefore everything overlaps. Perhaps I've configured it wrong or I'm attempting to use it in the wrong way. Any thoughts would be appreciated.

 

Badge +22

 

Hi @jdh

 

 

I have tried the CommonSegmentFinder however all of the water mains I'm evaluating come from the same features so it doesn't yield anything other than a perfect copy of the inputs since the base and candidate variables are the same features and therefore everything overlaps. Perhaps I've configured it wrong or I'm attempting to use it in the wrong way. Any thoughts would be appreciated.

 

No you're correct, the CommonSegmentFinder does not have a Candidates Only or an Attribute that Must Differ setting to have a single input source. You may want to vote on this idea https://knowledge.safe.com/idea/58303/improvements-to-the-commonsegmentfinder.html

 

 

 

 

Badge +22

Try the attached workspace, it uses the SpatialRelator to create a GroupBy for the CommonSegmentFinder to prevent self-matches.

 

 

commonsegment.fmw
Badge

Try the attached workspace, it uses the SpatialRelator to create a GroupBy for the CommonSegmentFinder to prevent self-matches.

 

 

commonsegment.fmw
That worked @jdh. Just so I'm clear on how this combination of transformers works to achieve what I was looking for it's because the ListExploder creates a feature for each 'overlap' from the list and gives it the ID of the overlapping feature but the geometry of the origin feature? This then allows me to do the compare action of the CommonSegmentFinder without creating perfect duplicates since the IDs are different?

 

 

Thanks so much for your help!

 

Badge +22
That worked @jdh. Just so I'm clear on how this combination of transformers works to achieve what I was looking for it's because the ListExploder creates a feature for each 'overlap' from the list and gives it the ID of the overlapping feature but the geometry of the origin feature? This then allows me to do the compare action of the CommonSegmentFinder without creating perfect duplicates since the IDs are different?

 

 

Thanks so much for your help!

 

Sort of, the geometry of a feature was duplicated for every intersecting feature and given their ID. That allows you to create groups with a common ID for the CommonSegmentFinder. Because the SpatialRelator has the option to set Attributes that Must Differ to the ID, the "perfect duplicate" won't be in the Base pool of the CommonSegmentFinder, when settting the group by to the attribute.

 

 

Try the attached workspace, it uses the SpatialRelator to create a GroupBy for the CommonSegmentFinder to prevent self-matches.

 

 

commonsegment.fmw

Hello jdh.

 

Can you help me? I´m trying to find your workspace " commonsegment.fmw" because I think it solves my problem with intersection on the same contour line.

Could you provide that workspace so i try it?

Badge +22

Hello jdh.

 

Can you help me? I´m trying to find your workspace " commonsegment.fmw" because I think it solves my problem with intersection on the same contour line.

Could you provide that workspace so i try it?

You are in luck, I still have it.

Badge +3

Hello jdh.

 

Can you help me? I´m trying to find your workspace " commonsegment.fmw" because I think it solves my problem with intersection on the same contour line.

Could you provide that workspace so i try it?

@orlando​  did you find a method for solving overlaps in contour lines? I have the exact same issue. Many thanks

Reply