Question

Multiple Lines Intersecting


I am creationg a cross street file in fme from a road centerline network (INTERSECTOR, ).  Retrieving the on and at streets into attributes in the outputted point file.  My problem is some of the centerlines have more than two intersectiong centelines. Example, a T shaped intersection. What i get is the same ON AT name of one of the road names not the third street intersectiong it.  I am using Attribute Splitter to separate the ONAT Concatenated field into two then "expose elements".  Can anyone assist?

 

 

David

8 replies

Userlevel 2
Badge +17
Hi David,

 

 

I think there are many situations in actual road crossings and junctions. Could you please explain about the attributes which you need to add to the points, a little more concretely?

 

For example, in these cases, what should the point have as its attributes?

 

 

Takashi
Userlevel 4
Hi,

 

 

just a suggestion, also have a look at the TopologyBuilder.

 

 

David
Hi Takashi, on a typical crossroads the On/At should be On = AAA, AT = BBB; on a T junction it should be On= AAA, At=BBB; on a multi forced junction it would be preferable to have three records of On Ats to account for the three streets; however, this may not be possible to obtain.  If so any single combination for the ON/At would have to suffice.

 

 

Regards,

 

 

David
Badge +3
Hi,

 

 

If the a line has intersections with 2other lines and u set a listname, the list of the relevant node wil contain the data of all three lines.

 

After exploding the list you will have to Spatialrelate the lines with the nodes u just extracted.

 

 

 

Or you might want to use these points together with the lines to build a topology, using a topology-builder. (wich mounts to the same thing)

 

Userlevel 2
Badge +17
If each road has an attribute called "NAME" and you specify List Name parameter of the Intersector (e.g. _list), output points (Nodes) will have list attribute called "_list{}.NAME". The list contains names of all roads which touch with the point. So you can create preferable non-list attributes (On, At(s)) based on the list after removing duplicate elements with the ListDuplicateRemover.
Thanks Takashi, issue has been resolved to our satisfaction expect for one more detail.  Just need to work on creating a single point in the center of double line segments.  Where the double line segments occur it creates a square box.  I would like to merge the intersection points into one point in the center of the box.  Any ideas on where to start, I think if might be quite complex, see attachment.  Thanks, David
Badge +3
-Maybe extract centerlines of the roadpolys and redo the intersectionprocess. (succes wil vary depending on the quality of the poly's though)

 

 

Assuming the parallel lines have a common id (they are from the same roadsection). U then could calulate distance of points and replace the 2 points with one using the calculated distace and falling inside the area of intersecting roads wich the 2 points touch.
I resolved the issue to our satisfaction.  I use the Intersector to retive each crossing point then a buffer with dissolve.  Then used Bounding box replacer with Center of Gravity to create the point in the middle of the intersection.  Once complete I re-attached the attributes using NeighourFinder.  See result below:

 

 

Reply