Hi @james_c_452 thanks for your question! There might be a couple of ways you could get a result with FME, but this depends on what geometry type the guideline data is in. If your guideline is in point geometry you could build a line with the LineBuilder. Once your guideline is line geometry you could potentially use a Bufferer and buffer the line by your precision (i.e. 10cm) to create a polygon of your line. You could then use this polygon to clip your point cloud with the Clipper, point cloud in the candidate port and polygon in the clipper port.
For more ways to filter and manipulate point clouds check out these articles:
Hi @james_c_452 thanks for your question! There might be a couple of ways you could get a result with FME, but this depends on what geometry type the guideline data is in. If your guideline is in point geometry you could build a line with the LineBuilder. Once your guideline is line geometry you could potentially use a Bufferer and buffer the line by your precision (i.e. 10cm) to create a polygon of your line. You could then use this polygon to clip your point cloud with the Clipper, point cloud in the candidate port and polygon in the clipper port.
For more ways to filter and manipulate point clouds check out these articles:
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Hi @james_c_452 creating cross sections is totally possible with FME, I would take a look at this article specifically: Profiling and Slicing Point Clouds.
Could you send a screenshot of what your expected outcome would be? (from visual preview, or even from a different application)
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Hi @Evie Lapalme ,
Thanks for the reply. I see from that link that you can segment the point cloud into slices. I'm not sure if I can automatically fit a shape to it. What I want to do is fit a rail template shape to the cloud at each slice (roughly where the guideline is). Then once the template is fitted a point will be made at each cross section. In this case the inner running edge of the rail. Then the points can be strung together to make a line of where the train actually drives.
The picture kind of shows what I am wanting to do, but it might not be clear enough
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Hi,
Has anyone got a way to fit a template to the slices that you can get from the link @Evie Lapalme sent? I want to fit a shape template (the cross sectional profile of a rail line) at 1m increments along a guideline to a pointcloud
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Sorry for the delayed response @james_c_452 I was talking with a colleague and they have some ideas, but also more questions for you to clarify the problem a bit more.
It sounds like you want to filter the point cloud to find just the points that represent the inner top of the inside track. If this is correct, then we can probably help with some of the steps in this workspace attached.
Buffering and clipping to start. Then use the workspace to filter out all the points except the DSM or top most points. Then you would have to figure out which points represent the inside edge. That would then give you a series of points every 0.5 m or so where you could then position their rail cross section template and build a 3d geometry representation of your track.
I'm not sure if this makes sense to you, but maybe we need more clarification.
Hi @Evie Lapalme ,
Thanks for the reply.
My guideline is a line at the moment, and I already have a clipped pointcloud. What I have is a need to find the running edge of a rail track.
My rough guideline is of where the track should be +/-0.1m and a clipped pointcloud that includes the track. what I want to do is fit a template at 0.5m increments along the guideline to that pointcloud. Basically, a lot of cross sections of the actual rail location near the guidline, which I would join to a line if it wasn't output as one. Feature extraction really.
James
Hi @Evie Lapalme ,
I guess I am not explaining myself quite right. I'll try again, sometimes these sort of tasks can get quite confusing for those who aren't surveyors! Sorry about that.
It sounds like it will be easy enough to get the point cloud sections every 0.5m (with say a width of 0.2 to cover sparse clouds). That's really the first step
Then I essentially want a point at each of these locations which I can build into a line.
It is an entirely new point. It won't exist in the point cloud. That is because I want to fit a model to this section, and the new point is a mathematical point based on how the model fits the cloud. Things like noise and tilt will affect this which is why it needs to best fit a profile
See the attached picture of the cross section of the rail. I want to best fit the blue line (the model) to the point cloud at each section. The red point has a constant offset from the blue line. This is called the running edge and it is where a train theoretically runs. In this case that is the point I want to create (to string into a line with all the other create points)
I'm not at all sure if this can be done. From what I have seem in the last few weeks there isn't a way to use FME to do this, other that adding Python (which I can't write)
James