Skip to main content
Solved

point on line overlayer skip first segment.

  • June 11, 2020
  • 1 reply
  • 12 views

gisbradokla
Enthusiast
Forum|alt.badge.img+16

I have points with attributes and a line. I have used the point on line overlayer to break the line at each point. however there is not a point at the beginning. I assume that is why the attribute of the point is attached to the line the point is at the end of. I need to attach that attribute to the next segment of line. in other words the begin point of the broken piece would give it's attribute to the following segment.

I can think of a long way around by creating a crc with the points coords, then by getting the begin point of the broken segment and creating a crc with it but if there were any round issues it would not find it's match. Any other more elegant method anyone has used?

If i simply add a point to the beginning of the line will that offset them all to the beginning?

Best answer by daveatsafe

Hi @gisbradokla2,

The PointOnLineOverlayer will transfer the the attributes from the first point it finds that lies on that line, to all resultant lines. If you enable the list, you will get a list of all the points that intersect the line.

I think you will get the results you want from the TopologyBuilder transformer. Set the point tolerance in Advanced - Tolerance, and enable Generate List from Input Nodes.

Each resulting line segment will have the attributes _from_node and _to_node with node ids numbers. These node ids are also in the node list as _list{}.node_number. If you want the segment to get the attribute from the point at the beginning of the segment, you can use the ListSearcher to search _list{}.node_number for _from_node.

I am attaching a simple workspace that will transfer the attribute from the point at the beginning of the segment to the line.

 

addpointattributetoline.fmw
View original
Did this help you find an answer to your question?

1 reply

daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • Best Answer
  • June 11, 2020

Hi @gisbradokla2,

The PointOnLineOverlayer will transfer the the attributes from the first point it finds that lies on that line, to all resultant lines. If you enable the list, you will get a list of all the points that intersect the line.

I think you will get the results you want from the TopologyBuilder transformer. Set the point tolerance in Advanced - Tolerance, and enable Generate List from Input Nodes.

Each resulting line segment will have the attributes _from_node and _to_node with node ids numbers. These node ids are also in the node list as _list{}.node_number. If you want the segment to get the attribute from the point at the beginning of the segment, you can use the ListSearcher to search _list{}.node_number for _from_node.

I am attaching a simple workspace that will transfer the attribute from the point at the beginning of the segment to the line.

 

addpointattributetoline.fmw

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings