Skip to main content

geogst is a structural geology module

Project description

geogst

Structural geology tools with Python.

geogst is a Python 3 module library for structural geology geodata processing.

It allows to perform geological operations, such as determining the intersections between a geological plane and a topographic surface, creating multiple parallel geological profiles with attitudes, geological outcrop and line intersections.

Plane-DEM intersections

Geological profiles

Moreover, it allows to perform geometric operations on orientation data (planes, axes) and to plot the attitudes of geological plane and axes in stereonets.

Installation

You should have python-setuptools already installed, otherwise you can install it via apt or pip3, e.g.:

Linux:

sudo apt-get install python-setuptools

To install geogst, from the shell (you should be in the geogst directory) you can run:

pip install .

You can then check if the module was successfully installed in Python3 by importing the module via:

import geogst

Usage example

Orientations

Orientations can refer to linear or planar features. When referring to linear orientations, we subdivide them into directional, with a defined direction, or axial, without direction. We import all classes/methods from the orientations sub-module:

from geogst.core.geology.orientations import *

A Direct is equivalent to a unit vector in the 3D space, with orientation expressed by polar coordinates: a direction defined by a trend (from the North, 0°-360°) and a plunge (-90° to 90°, where positive values are downward-directed while negative ones are upward-directed):

or1 = Direct(130, 10)  # orientation defined by its trend and plunge. Pointing downward, since positive plunge.
or2 = Direct(312, -45)  # or2 points upwards, since it has a negative plunge
or3 = Direct(300, -20)  # as or2

We can plot using the plot function. The data to plot have to be inserted into a list.

plot([or1, or2, or3]) # we provide the function arguments in a list

P-T focal mechanisms

Creation of a P-T axes instance from a FaultSlick instance:

ptbx_from_fltsl = PTBAxes.from_fault_slickenline(Fault(90, 45, slickenlines=[Slickenline(90, 45)]))
print(ptbx_from_fltsl)

PTBAxes(P Axis(az: 180.00°, pl: 90.00°), T Axis(az: 90.00°, pl: 0.00°))

For tutorials, please refer to the Jupyter Notebooks in the doc/tutorials folder:

Geometries

Intersections

Orientations

Profiles

Meta

Mauro Alberti – alberti.m65@gmail.com

Distributed under the MIT license. See LICENSE for more information.

https://gitlab.com/mauroalberti/geogst

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geogst-2.1.0.tar.gz (50.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geogst-2.1.0-py3-none-any.whl (50.7 MB view details)

Uploaded Python 3

File details

Details for the file geogst-2.1.0.tar.gz.

File metadata

  • Download URL: geogst-2.1.0.tar.gz
  • Upload date:
  • Size: 50.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for geogst-2.1.0.tar.gz
Algorithm Hash digest
SHA256 bb597507cd2a71fba6b8635ecd096746e45ad23cd503976ffd12fc272baa01c2
MD5 22d2d411c91428d383966b34dfbac937
BLAKE2b-256 64dde4d154d7e084db02364b021ad319c7ed2e30f80ef085edae37f28346cb91

See more details on using hashes here.

File details

Details for the file geogst-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: geogst-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for geogst-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65daf2551903ac88557a1024cf8fb1c399f33974877b702bc305b914c53fb9e7
MD5 4a9df9c31eaeae07e22094724ab3af27
BLAKE2b-256 ddf77a07440464ae7f7b49f3e38d5a2cd1a366055e1e398b6216f2d0ad964e19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page