Skip to main content

I have polylines that have Z coordinates on each vertex. The polylines represent water pipes and are below the ground surface ~1 meter. I have a LAS of the ground surface which can be converted to a raster to create a surface. The situation can occur where the polylines get above the ground surface in between the vertices due to variation in terrain and lack of vertices with X, Y, Z values in the polylines. How can I identify those locations and add an extra vertex so the polylines will stay below the ground surface?

One way to do this:

Generate unique ids for lines. Counter or uuidgenerator.

Densify the lines to get more points. Densifier.

Chop the lines to points. Chopper.

Generate point order per line. Counter, group by line id.

Extract the z values to an attribute. Coordinateextractor.

Compare the points to the surface. Pointonrasteroverlayer or surfacedraper.

Extract the z values to another attribute. Cooordinateextractor.

Check original z vs surface z. Tester.

Correct point height when needed. 3DForcer or Vertexcreator.

Sort the points to get the original order. Sorter, line id, point number.

Rebuild lines from points. Linebuilder, group by line id.

 

 


Thank you, I will look into this


Reply