Skip to main content
Solved

I would like to know how I can transfer z-coordinates from nearest neighbour point features to all the vertices of a polyline in such a way that each vertex gets a unique z (so multiple unique z's per polyline)?

  • October 23, 2022
  • 12 replies
  • 124 views

Forum|alt.badge.img

The Z-coordinates are not the same and varying. The points are located within a buffer of 0.1meter and extend over the entire area of the polyline. I have to join them based on a search area I think of 0.1 meters. The points are created from a las and transformed using the pointcloudtopointcourcer. As an example, I would like to have for this polyline which has 5 vertices 5 unique z-values from the closest points.

Best answer by daveatsafe

Hi @sibe​,

It may be possible to do this with the NeighborFinder and some vertex manipulation in Python, but the simplest way to get the same result would be use the SurfaceDraper transformer with the original compete las file used for the Points/Lines input.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

12 replies

daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • Best Answer
  • October 24, 2022

Hi @sibe​,

It may be possible to do this with the NeighborFinder and some vertex manipulation in Python, but the simplest way to get the same result would be use the SurfaceDraper transformer with the original compete las file used for the Points/Lines input.


Forum|alt.badge.img
  • Author
  • 17 replies
  • October 24, 2022

Thank you very much. I got it working :) One question, the breaklines parameter I don't understand. What is the breaklines feature used for?


Forum|alt.badge.img
  • Author
  • 17 replies
  • October 24, 2022

It seems this tool is always using some kind of interpolation. Is it also possible to only take the closest point for the Z-coordinate?


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • October 24, 2022

Thank you very much. I got it working :) One question, the breaklines parameter I don't understand. What is the breaklines feature used for?

Breaklines are used to force the edges of the generated triangles into a desired orientation. For example, road edges are often used as breaklines, to ensure that edges in the triangulation follow the edge of the road. This gives you better definition in the resulting surface.


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • October 24, 2022

It seems this tool is always using some kind of interpolation. Is it also possible to only take the closest point for the Z-coordinate?

Please set the Interpolation to CONSTANT to use the Z value of the closest vertex.


Forum|alt.badge.img
  • Author
  • 17 replies
  • October 24, 2022

Please set the Interpolation to CONSTANT to use the Z value of the closest vertex.

I tried that, but it seems it doesn't take the closest value in some instances. For this vertex it assigned a Z of +0.06, while the closest point was -0.149? The point was located within the surface tolerance of 0.25. Drape method set to VERTEX and existing elevation Replace Z.


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • October 24, 2022

Please set the Interpolation to CONSTANT to use the Z value of the closest vertex.

Try setting the surface tolerance to 0.


Forum|alt.badge.img
  • Author
  • 17 replies
  • October 24, 2022

Please set the Interpolation to CONSTANT to use the Z value of the closest vertex.

That did it thank you


Forum|alt.badge.img
  • Author
  • 17 replies
  • March 2, 2023

Hi, one more question regarding the constant interpolation in the surface draper tool. For the constant interpolation the documentation says: ''Interpolation method: CONSTANT: The z value of each output point is set to the z value of the closest vertex in the underlying model.'' Does this mean X, Y and Z is taken into account when the closest Z value is joined from the LAS to the 2D feature vertex? (surface tolerance is set to 0)


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • March 3, 2023

Hi, one more question regarding the constant interpolation in the surface draper tool. For the constant interpolation the documentation says: ''Interpolation method: CONSTANT: The z value of each output point is set to the z value of the closest vertex in the underlying model.'' Does this mean X, Y and Z is taken into account when the closest Z value is joined from the LAS to the 2D feature vertex? (surface tolerance is set to 0)

The X and Y are used to determine the closest vertex. The Z is used to set the elevation on the draped feature.


Forum|alt.badge.img
  • Author
  • 17 replies
  • March 3, 2023

The X and Y are used to determine the closest vertex. The Z is used to set the elevation on the draped feature.

Just to clarify for me: Does this mean that when the constant interpolation method is used in the surface draper tool that no Delaunay triangulation is used? Or that Delauney Triangulation is used but only looking at X, Y to find the nearest neighbour as you stated. The Z is then copied based on X, Y nearest neighbour.


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • March 3, 2023

The X and Y are used to determine the closest vertex. The Z is used to set the elevation on the draped feature.

The Delauney triangulation is done in either case, to make use of the Surface Tolerance filtering. The nearest surface vertex in XY to the drapee vertex is used to supply the Z value.