Skip to content

ivanobrunet/PZero

Repository files navigation

PZero

Workflow Testing DOI

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):

  • Andrea Bistacchi (since the beginning)
  • Gloria Arienti (since December 2020)
  • Gabriele Benedetti (since January 2022)
  • Ivano Brunet (since March 2024)
  • Tommaso Comelli (April 2023 - July 2023)
  • Luca Penasa (since April 2023)
  • Francesco Visentin (since March 2024)
  • Waqas Hussain (since November 2023)
  • Riccardo Monti (since November 2023)

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 GitHub Wiki can help!

Installing PZero executables

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 available.

Installing PZero source code with Anaconda

At the moment the easiest way to run and develop new code for PZero is to clone this repository locally as discussed here, and install a suitable Anaconda environment as explained here. Alternatively PyPi could be used in macOS and Linux as discussed here.

Then you can start PZero from PyCharm, or from the terminal with:

python pzero.py

Test data

We have uploaded some test project on public repositories:

PZero-test Simple-synthetic

PZero-test Llyn-Padarn


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages