Skip to main content

Hello all,

I have a series of point features that I need to convert to line features, but running perpendicular within a layer that contains parallel polyline features.

I want to convert the green dots in the first image below, into the green lines in the second image. There is no data relationship between the existing point and polyline features apart from their spatial proximity.

Can anybody recommend a sensible way of doing this?

Thanks and stay safe (and sane),

Robin

Hi @robinb

I created you case here with just two parallel lines and the point.

As you can see ( Workspace attached ), I used the transformer NeighborFinder - VertexCreator and LineBuilder:

 

 

Workspace - Workspace_Create_Line.fmw

 

Thanks in Advance,

Danilo


Hi @robinb,

You can use the NeighborPairFinder transformer to do this. Connect the lines to the Candidate port and the points to the Base Port. The ClosestVector and SecondClosestVector outputs will give both sides of the new line between the input lines. If you would prefer a single connector line, you can use a couple of VertexCreators to replace the geometry of the output MatchedBase point with the coordinates from the attributes _closest_candidate_x1, _closest_candidate_y1 and _closest_candidate_x2, _closest_candidate_y2.


A similar method to those posted above, but allowing for the fact that the points may not be an equal distance from each line in the pair. So the points get duplicated and assigned a line_id of 0 and 1 which is then used as a group by in the neighborfinder transformer

Edit: I think you may need to be careful with both the above method and the NeighbourPairFinder if you want to get a straightline, my test data results in a line with a slight kink

 

It's a bit more convoluted if you actually need the line in green, rather than the purple line, but I'm not sure whether this is an issue you would see in real world data


Thanks @daveatsafe, @danilo_fme, @ebygomm - I'll have a crack at these ideas and see which works best for me.


Reply