Good stuff John, that looks fantastic. How did you go about converting the survey into something volumetric?
I ask because a year ago or so I found a simple if clunky method of converting Survex files into CAD data for 3D printing or further manipulation.
It may be of use to you or someone else searching the forum down the line.
import Survex file (.3d) to Therion Loch
export from Loch as .vtk
import to Paraview
export as .x3d
import to Meshlab
export as .stl or .obj
import to Autodesk Meshmixer for tidying up and artistic improvements.
Warning - Stray splays can end up adding some extra lumps that aren't really there. It isn't foolproof but it works fairly well.
Thanks for sharing! I have never used Survex files, are they just a type of 3D file or are they linked to somewhere in space? The advantage with doing this stuff in GIS is that every point in the cave is linked to a specific real world XYZ position. I remember reading somewhere that a QGIS plugin was created that can read Survex files... I'll have to get researching (unless I imagined it!).
That is one limitation of my first quick try, there is no realistic 3D representation of the cave passage. What you see is a standard size I just gave the passages for visualisation purposes. This is something that I figured out later, but if I had measurements with widths and heights I can tell QGIS2threejs to visualise the passage sections as cubes with these height and width dimensions. So you can see that it wouldn't be a true representation of width and height, as this would be done in small 3D blocky sections along a passage.
The proper way that I am going to do it is:
1 Georeference the cave survey
2 Digitise the passages as a polyline shapefile (adding width and height attributes to each section where there is a change in height or width)
3 Digitise points of altitude in the cave as a point shapefile with the altitude as a Z value field
4 Interpolate a surface from the altitude point shapefile
5 Use v.drape to drape the cave passage shapefile onto the interpolated surface to give each section a 3D height value
6 Display in QGIS2threejs and assign each section the original height and width dimensions and display as a cube
The only problem is that height and width are displayed relative to the centre of a polyline in 3D, so the altitude measurements need to be in the centre of the cave passage which can be corrected for.
Tim has kindly shared his Grove Cliff Caves survey data with me which I hope to recreate using this method in 3D. But it will take some figuring out!