PZero is a Python open-source 3D geological modelling application, leveraging various libraries, with a user-friendly graphical user interface allowing to perform most standard geomodelling data management and analysis tasks, explicit surface interpolation, and advanced implicit interpolation.
To build PZero we use several open-source libraries. VTK provides classes for all 3D objects, in addition to 3D visualization and basic analysis and modelling tools. The PZero graphical user interface is built with Qt. All objects in a PZero project and their metadata are collected and managed in pandas dataframes. We use a VTK-Numpy interface that allows performing most mathematical processing with simple NumPy syntax, while 2D plotting is performed with Matplotlib. PyVista and vedo provide simplified access to VTK visualization and I/O tools. Various 2D graphical and topological editing tools in PZero are based on Shapely, while GeoPandas, Rasterio, Xarray, laspy, and EzDxf provide I/O tools for GIS, point cloud, and CAD data. LoopStructural provides three different implicit surface interpolation algorithms. mplstereonet provides stereoplots for orientation analysis.
Developers of these libraries are warmly thanked!
The PZero project started in spring 2020 thanks to a research project funded by Pro Iter Tunnelling & Geotechnical Department and lead by Andrea Bistacchi and Luca Soldo. PZero is now supported by the Geosciences IR project lead by ISPRA - Servizio Geologico d'Italia and funded by PNRR.
The PZero developers are (or have been):
PZero © 2020 by Andrea Bistacchi, released under GNU AGPLv3 license.
The name of PZero was inspired by the zeroth element in Emile Argand's 3D model of the Pennine Alps nappe stack - possibly the first quantitative 3D geological model in the history of geological sciences (Argand E., 1911. Les Nappes de recouvrement des Alpes pennines et leurs prolongements structuraux. Mat. Carte géol. Suisse, 31, 1-26), and by Python.
If you want to know more about the project or want to contribute, our Wiki can help!
PZero runs on Linux, macOS and Windows. Executable files can be downloaded from the releases section of this repository.
Alternatively, you can download the most recent source code and test it, provided that a suitable Python and required libraries are installed as discussed in the Wiki.
We have uploaded some test project on public repositories: