Skip to main content
Solved

How to "fix" a MultiCurve object ?

  • April 9, 2021
  • 3 replies
  • 175 views

mickael
Forum|alt.badge.img+1

Hello !

 

I have MultiCurve objects (GeoJson MultiLineString) that represent routes along roads, and which have some geometry issues : sometimes lines are overlapping, and some lines meet at a point but with opposite direction.

Here is the overall dataset :

FME_questionAnd here is a problematic area :

FME_question2Exemple dataset is available [here].

So my question is : is it possible get a cleaner file, with no overlapping lines or segments, and with a better global direction consistency ? And how to do so ?

I tried to use Deaggregator, Intersector, Snapper, LineCombiner; and a few more, but so far I don't fully understand what I am doing, and don't get closer to what I want.

 

Thanks in advance for any tip or help :)

Best answer by DanAtSafe

Hi @mickael​ Your data has some line segments that are not quite overlapping and share end nodes. If you're not concerned about which to keep then I'd suggest deaggregating the feature and then use a Matcher with the lenient option to get just the unmatched and single-matched features. Then reaggregate afterwards.

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.

3 replies

hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1625 replies
  • April 11, 2021

It seems the file you shared is no long available. Try the LineCombiner with the Input Feature Topology set to Vertex Noded.

 

Or you can pass the geom through a LineOnLineOverlayer then into a LineCombiner. Have a look at the attached workbench

 

 


DanAtSafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 345 replies
  • Best Answer
  • April 12, 2021

Hi @mickael​ Your data has some line segments that are not quite overlapping and share end nodes. If you're not concerned about which to keep then I'd suggest deaggregating the feature and then use a Matcher with the lenient option to get just the unmatched and single-matched features. Then reaggregate afterwards.


mickael
Forum|alt.badge.img+1
  • Author
  • 8 replies
  • April 12, 2021

Thanks gentlemen !

Thank to your help, I eventually got the expected result, using :

Deaggregator > Matcher (with Lenient option) > Aggregator1 > LineCombiner > Aggregator2

(second Aggregator aims at producing a MultiLineString GeoJson output, instead of multiple features. This can probably be improved somehow)

@danatsafe​ : Indeed I am not really concerned about which overlapping nodes / segments are keeped or not

 

Result looks like this :

FME_question3