Is glTF an alternative to VTK for the representation of voronoi mesh Modflow6 models?

hakuchikscreenshot1.png

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.

Linear cell types found in VTK. Numbers define ordering of the defining points. From: https://kitware.github.io/vtk-examples/site/VTKBook/05Chapter5/

Linear cell types found in VTK. Numbers define ordering of the defining points. From: https://kitware.github.io/vtk-examples/site/VTKBook/05Chapter5/

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

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.

Comment

Saul Montoya

Saul Montoya es Ingeniero Civil graduado de la Pontificia Universidad Católica del Perú en Lima con estudios de postgrado en Manejo e Ingeniería de Recursos Hídricos (Programa WAREM) de la Universidad de Stuttgart con mención en Ingeniería de Aguas Subterráneas y Hidroinformática.

 

Suscribe to our online newsletter

Subscribe for free newsletter, receive news, interesting facts and dates of our courses in water resources.