BASEMENTBasic Simulation Environment for computation of environmental flow and natural hazard simulationLaboratory of Hydraulics, Hydrology and Glaciology (VAW)ETH Zurich |
You are not logged in.
Hi there,
I'm trying to find a simple way (as simple as possible) to go from original terrain data to a valid mesh in BASEMesh in order to run a computation on BASEMent.
By terrain data I particularly mean :
1. data acquired by UAV and processed by computer vision algorithm; ending on y a Stanford *.ply file containing lots of 3D points (millions of).
2. data acquired by LASER techniques, frequently *.las raw files containing lots 3D points (also millions of) as well as classification values and other informations on each point.
I surely can't import theses points directly in QGIS (we are speaking about multiples of 10^6 numbers of points); the modeling within BASEMENT will even not be possible in an acceptable amount of time.
And there is one main issue; we're having 3D points, lots of them, and QGIS "works in 2D (or 2.5D as the Z coord. can be in the attributes)", so "overlapping points" will be a problem for the triangulation.
But what defines if points overlap others or not? This is not a basic question to answer.
I'm exploring the vectorial way for that, simply said; using triangular 3D meshes.
But I still get the problem of overlapping points on the mesh, (i.e. after running a 3D surface reconstruction algorithm, like Poisson surface reconstruction (Kazhdan et al., 2006, triangular faces "pointing downwards" will surely be an issue in a 2D triangulations on their vertices!).
The crucial point here is how to go from a real 3D mesh to a 2D hydrologically valid mesh. We must rely on other techniques...
There is several algorithm available to extract ground from a point cloud (e.g. Sithole and Vosselman, 2004, Vosselman, 2000, Zhang et al., 2016, Evans and Hudak, 2007 and many others).
These algorithms are never implemented on true GIS softwares but rather on what we can call "Point Cloud software" like for example the excellent MeshLab or CloudCompare.
It's rather time consuming to end up with a clean 3D mesh and relaunching a triangulation within BASEMesh which will be 2D only (using Triangle from Shewchuk) makes me feel I'm making twice the same job.
But I know, as it's 2D only (let's say 2.5D) within BASEMesh, it is necessary to run this other triangulation again (and it's of course needed for the quality meshing, what previous P.C. softwares won't necessarily do as they rely on more complex algorithms like mentioned above).
So, first, do you know a simple way to import 3D meshes in QGIS ?
I have a nice triangulated 3D mesh with my ground in *.ply format.
The only way I found is extracting only the vertices from the mesh to import them in QGIS (as a CSV) and them run the Triangle 2D Delaunay triangulation in BASEMesh on these points.
It's obvious I will not end on the exactly same mesh result as the 3D mesh they were extracted from.
So, here is a question ; do you know some bare-earth extraction algorithms that make a nice 3D triangulated mesh out of a point cloud that would also be hydrologically compliant (i.e. with the good constraints on triangles as they would be calculated in BASEMesh) ?
Second question related to breaklines; if I have some 2D breaklines that where acquired using different techniques or provided by local government mapping solution. Their vertices will certainly not be the same as the ones of the quality mesh result. I think BASEMesh won't agree with that.
Do you know a way to project theses lines on the quality mesh to give their vertices a Z coordinate (= intersection with the triangles edges)?
It's told in the manual that breaklines must rely on vertices from the quality mesh*.
How could I add the intersection points to the mesh? (I may be wrong on some points here, do not hesitate to tell me).
--
*In such a process, the quality mesh will be the same as the elevation mesh as I have Z values for every point of the mesh.
Thanks a lot!
Kind Regards.
Offline
Dear swiss_knight,
I am dealing with a similar problem, since I have a LiDAR dataset.
I think the best way for you to have the mesh you need would be to extrapolate a DEM from your cloud and than use that for the 2D mesh.
To deal with las raw files you might consider:
1. using HydroVISH (http://ahm.co.at/wiki/en/index.php/Features_Overview) and maybe contact the guys at AHM, or
2. using lastools (https://rapidlasso.com/lastools/) even directly in QGIS
I hope I have understood your problem correctly and helped you solving it!
Best,
Matteo
Offline