Skip to main content
Solved

Identify similar lines between two networks

  • December 6, 2018
  • 4 replies
  • 288 views

djmcdermott
Contributor
Forum|alt.badge.img+7

Hi FME'ers,

I have two network datasets, one for all streets and one for footpaths only. There are instances where the footpath and the streets follow a similar path. This is never exact and they often weave around each other, intersecting each other at multiple points. I need to find a way of identifying sections where the street network and footpaths are similar. The goals is to reconcile their geometries but the decison over which geometry take precedent is not mine to make.

I have attached an example. The green is the street network and the turquoise is the footpath.

Thanks,

David

Best answer by daveatsafe

Hi @djmcdermott,

The FME Hub transformer FuzzyParallelLineFinder should be able to find the matching sections of lines for you.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

4 replies

ebygomm
Influencer
Forum|alt.badge.img+44
  • Influencer
  • 3429 replies
  • December 6, 2018

I would try buffering your road lines to create areas, then using these areas to clip the paths. Deaggregate the output and then keep only lines that are a significant length. What you should be left with are path segments that are running along/alongside the roads.

I wouldn't expect a perfect outcome from the above, looking at the sample data, but should be a start. Will probably require some trial and error with how much to buffer by.


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • Best Answer
  • December 6, 2018

Hi @djmcdermott,

The FME Hub transformer FuzzyParallelLineFinder should be able to find the matching sections of lines for you.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • 2252 replies
  • December 6, 2018

@djmcdermott

 

Chop the lines of the datasets by 2. Extract ortientation.

Neighborfinder or Buffer at relevant tolerance.

 

Compare orientation. Keep those within some tolerance.


djmcdermott
Contributor
Forum|alt.badge.img+7
  • Author
  • Contributor
  • 43 replies
  • December 13, 2018

Hi @djmcdermott,

The FME Hub transformer FuzzyParallelLineFinder should be able to find the matching sections of lines for you.

This works pretty well. There are a few false positives and not all the lines get line_id's but it works.