Skip to main content
Solved

cut Lines base on Points

  • August 11, 2022
  • 14 replies
  • 356 views

arash_hokm
Contributor
Forum|alt.badge.img+8

Hallo FME community,

I have a network consisting of interconnected lines. on the other side I have some points lying on the line. I need to cut out my network based on these points and the line between two points must be aggregated with each other.

Also, PointOnAreaOverlayer couldn't help me.

CutLineI would be grateful if someone can help me how to do this process.

 

 

Best answer by geomancer

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

Different approach: Buffer the points by a tiny amount, clip the lines with the buffers, deaggregate the outside results, use a NetworkTopologyCalculator, and aggregate on the _network_id.

NetWorkTopologyCalculator_Demo

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.

14 replies

tomfriedl
Contributor
Forum|alt.badge.img+13
  • Contributor
  • August 11, 2022

I think you need the TopologyBuilder, maybe NetworkTopologyCalculator.


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

I think you need the TopologyBuilder, maybe NetworkTopologyCalculator.

it didn't work. I need a transformation like Split line at point in ArcGIS

 


tomfriedl
Contributor
Forum|alt.badge.img+13
  • Contributor
  • August 12, 2022

geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

@tomfriedl​ yes

I have a complicated network. in this network the lines are connected to each other. I first aggregate the lines to get one line then I have 10 points that need to split my line. When I use PointOnLineOverlayer I get the line I had before the aggregator. That means instead of 11 lines, I get 55,000 lines that are not cut out on the point


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

I don't know why it doesn't work for me. as you can see i have to get 6 lines as a result but i get 78000 lines.SplittLine 


geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

What happens when you aggregate the features coming out of the Edge port?

EDIT: No, this won't work.


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

What happens when you aggregate the features coming out of the Edge port?

EDIT: No, this won't work.

aggregate


geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

I have no access to ArcGIS, but searching on the internet leads me to expect it will not aggregate all lines between points. Instead it works just like the PointOnLineOverlayer.

You have a large maze of lines, so many orignal lines will be kept in the results.


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

I have no access to ArcGIS, but searching on the internet leads me to expect it will not aggregate all lines between points. Instead it works just like the PointOnLineOverlayer.

You have a large maze of lines, so many orignal lines will be kept in the results.

it looks like i don't have a solution


geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • Best Answer
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

Different approach: Buffer the points by a tiny amount, clip the lines with the buffers, deaggregate the outside results, use a NetworkTopologyCalculator, and aggregate on the _network_id.

NetWorkTopologyCalculator_Demo


geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • August 12, 2022

Replace the Aggregator with a LineCombiner, pass the results and the points to a TopologyBuilder. The Edge port will contain the lines you are looking for. Mind that the points need to lay exactly on the lines for this to work.

LineCombiner_Demo

Something like this (insert your own data).


arash_hokm
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • August 12, 2022

Different approach: Buffer the points by a tiny amount, clip the lines with the buffers, deaggregate the outside results, use a NetworkTopologyCalculator, and aggregate on the _network_id.

NetWorkTopologyCalculator_Demo

Many Thanx. it works 😊


geomancer
Evangelist
Forum|alt.badge.img+60
  • Evangelist
  • August 12, 2022

Different approach: Buffer the points by a tiny amount, clip the lines with the buffers, deaggregate the outside results, use a NetworkTopologyCalculator, and aggregate on the _network_id.

NetWorkTopologyCalculator_Demo

My pleasure! 😊