Skip to main content

Dear FME community,

 

 

I have a question regarding a road network:

 

 

I have a single road (top blue line) which is called "B 101". The road system has something like a positioning. Each road segment is divided into meters called "the stations", which are similar to a kilometrage on a highway, but the calculation of the stations restarts at every network point (the small red circles). They begin with the start position of 0 (attribute VST -> "FROM station"), and have different end positions (attribute BST -> "TO station") according to the length of the road. In the example the road goes from 0-1000, and therefore it is 1000m long in total. The station number increases with each full meter, the count direction is indicated by the ">" sign.

 

 

In my workspace, I'm splitting these roads into smaller road segments. The blue road is split for example into the red road part, the brown and the green road part. The red part is not needed any more, but the brown + green parts becomes the new roads. I want to calculate the new positioning, which goes from 700 to 800 (brown road) and from 800 to 1000 (green road). The old information (0-1000) which the two lines still have, should be overwritten.

 

 

Is there a way how this can be achieved with FME? It could be that the road is split at meter 800,25..., then I guess I have to round it to the next integer.

 

 

Many thanks for every help and kind regards

 

Thomas

you can use a Snipper (amongst others)

start 700, end 800.

If you have more sections you can use it iteratively or clone the road and merge it with a list (txt, csv or whatever format, or dynamicaly calculated values) of start and enpoints.

There are multiple examples on this forum (search keys would be segmenting/tor iteratie snipper etc.)

Also measures are useful to do this.

Or Networktransformers with TO- From values.


Hi @thomask, I think that the answer would be different depending on how the brown and green lines are holding the old 'positioning' information (0-1000). Could you clarify that?


Hi @thomask, I think that the answer would be different depending on how the brown and green lines are holding the old 'positioning' information (0-1000). Could you clarify that?

Hi @takashi, the brown and green line still has the attribute VST with the value 0, and BST with the value 1000. It's the old attribute from the blue line. But the new, correct value would be for the brown line for example: VST=700 and BST=800. For the green line it would be VST=800 and BST=1000. Does this help you?


Hi @takashi, the brown and green line still has the attribute VST with the value 0, and BST with the value 1000. It's the old attribute from the blue line. But the new, correct value would be for the brown line for example: VST=700 and BST=800. For the green line it would be VST=800 and BST=1000. Does this help you?

The new values should be calculated from the position, that is the length: a value of 700 means that the start point (VST) of the brown line is 700 metres away from the original start point (VST = 0). For the green line, the new start point (VST = 800) is 800 metres away from the start point of the former blue line.


Hi @thomask, if you add measure to the original line with the MeasureGenerator before dividing the blue line, you can extract the measure values of start and end node of the brown and green lines with MeasutreExtractors after dividing.

  • Type: Individual Vertex by Index
  • Destination Attribute of Point or Vertex: VST / BST
  • Index: 0 for VST, -1 for BST

Hi @thomask, if you add measure to the original line with the MeasureGenerator before dividing the blue line, you can extract the measure values of start and end node of the brown and green lines with MeasutreExtractors after dividing.

  • Type: Individual Vertex by Index
  • Destination Attribute of Point or Vertex: VST / BST
  • Index: 0 for VST, -1 for BST

Many thanks @takashi! This looks excactly like what I was searching. I will try it out.


Hello, it is very old question. But Maybe u can still give me some direction. I have same situation, only difference is the line. It is more complex. such as dual carriage way, roundabouts and etc. So do you know which transformer can help to solve this problem? Thank you in advance. I can send you sample.


Reply