Is glTF an alternative to VTK for the representation of voronoi mesh Modflow6 models?
/Representation of geospatial objects in 2D are well covered by the GIS software and standards where we have powerful tools and interchangeable spatial files, however when we work on 3D objects the universe of software and tools is like a jungle with a wide variety of issues as:
Commercial software that does not work with open standards
Open standards that can’t be imported to open/commercial software
Standards that have poor Python libraries and
Standards with unfriendly documentation
We will always consider 3D as the ultimate representation of an object using a computer, by sure the holograms and augmented reality can improve the way we interact with a object geometry, but since we are not in the common near future we will give much effort to the representation of these objects in our computer screens, tables and cellphones.
As hydrogeologists we believe that 3D representation is key for raising consciousness on the problems related to the quality and quantity of our groundwater resources, for engaging stakeholders and developing sustainable management plans. However, in this stage of life we came to the conclusion that we might be a small minority since we haven’t seen a session of hydrogeologic visualization (not even modeling visualization) in any conference or webinar.
In the field of scientific 3d representation the VTK standard it a great choice since there are great related tools as the Paraview visualization software and the Pyvista Python package that makes it really easy to create, merge and process 3D objects, but there are some core issues with the format when dealing with voronoi meshes and that comes from the cell types available.
We can find types for extruded triangles, squares, pentagons and hexagons although the voronoi meshes can bring us cells with 7 sides and more and all are part of the same mesh and have the same head / parameter data. There is one abstraction of the VTK cell that is the vtkPolyhedron or the Cell3D but the documentation is not clear about how to go one way up on the abstraction level or our level of C++ is not good enough.
On the search for alternatives for the representation of hydrogeological models, contaminant plumes, flowpaths we found a series of formats as the Wavefront Obj that is actually considered on the Pyvista package and it can be opened with Blender with different Python libraries even for the Dash integrations.
We selected the glTF since it's a new standard backed by the Khronos Group with the support of Nvidia, Intel, Sun Microsystems. The standard has a key role on the web3D for ecommerce and from that it will have a lot of momentum now and in the future because, to talk clearly, in hydrogeology there is never momentum, our initiative runs as slow as flow in the porous media. The standard has a Python library and has some initiatives for the representation of geospatial data.
glTF example
Buster Drone, by LaVADraGoN.
So far, we haven’t done any glTF file, but we are sure that when it comes the time we will review the way to define points, voxels and cells to create new and better 3D representations of the groundwater flow regime.