Skip to main content

Hi All,

 

I'm trying to find a way to snap a point on a line segment to a point on one of the line ends, based on whichever one is closer. The points on the line segment and the line itself share a common asset ID, but the points on the ends of the lines are strictly geometry. The only attribution is a unique ID, but it doesn't relate to the line or the point on the line at all.

 

Right now I am using a spatial relator on the lines and end points. I now have, per each line segment feature, a list of end points that touch it.

 

I want to find a way to use NeighborFinder (or anything else - i'm open to ideas) to say "ok, where the line asset ID and the on-line point asset ID match, find the closest line end-point from the list. I've attached a small diagram/graphic to illustrate what I'm on about.

 

Any help would be appreciated!

Use NeighborFinder or PointOnLineOverlayer to get Line ID to the points dataset and AnchoredSnapper with lines (or end points of lines) as Anchors and points as Candidates with GroupBy enabled on the Line ID attribute that you just got.


Maybe you couild try to convert the lines to points using the chopper and then use the NeighborFinder.


in my own case I have points and lines, I want to snap the lines to the points, both edges, ends and sides. I tried using the snapper and also tried using the anchored snapper, but still don't get to snap some. I have used intersector, it does the major part of the snapping but creates new points at any intersection without a point. I really would love to do this snapping based on relationship (attribute)


in my own case I have points and lines, I want to snap the lines to the points, both edges, ends and sides. I tried using the snapper and also tried using the anchored snapper, but still don't get to snap some. I have used intersector, it does the major part of the snapping but creates new points at any intersection without a point. I really would love to do this snapping based on relationship (attribute)

Can you post your question as a new question? That way you avoid having multiple discussions in various threads (and potentially somebody spending time answering it in one thread while it's already been answered in another)


Reply