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)?


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.

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

12 replies

daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 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
  • 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
  • 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
  • October 24, 2022
sibe wrote:

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
  • October 24, 2022
sibe wrote:

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
  • October 24, 2022
daveatsafe wrote:

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
  • October 24, 2022
daveatsafe wrote:

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
  • October 24, 2022
daveatsafe wrote:

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
  • 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
  • March 3, 2023
sibe wrote:

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
  • March 3, 2023
daveatsafe wrote:

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
  • March 3, 2023
daveatsafe wrote:

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.


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