{structr}
is a free and open-source package for R that provides tools
for structural geology. You can
-
analyze and visualize orientation data of structural geology (including, stereographic projections, contouring, fabric plots, and statistics),
-
do a cluster analysis of orientation data,
-
analyze stress (including visualization of the magnitudes of stress in the Mohr circle and extracting the maximum horizontal stress of a 3D stress tensor),
-
reconstruct the orientation of structures in oriented drillcores by transforming the α, β, and γ angles,
-
calculate fault displacement components,
-
reconstruct orientation and magnitudes using fault-slip inversion (Paleostress analysis),
-
strain analysis (Rf/ϕ), contouring on the unit hyperboloid, Fry plots and Hsu plots
-
perform vorticity analysis using the Rigid Grain Net method, and
-
directly import your field data from StraboSpot.
The {structr} package is all about structures in 3D. For analyzing orientations in 2D (statistics, rose diagrams, etc.), check out the tectonicr package!
You can install the development version of {structr}
from
GitHub with:
# install.packages("devtools")
devtools::install_github("tobiste/structr")
This is a basic example which shows you how to import data and plot them on stereographic or equal-area projections.
library(structr)
library(ggplot2)
library(mapproj)
data(example_planes)
planes <- Plane(example_planes$dipdir, example_planes$dip)
fabric <- or_shape_params(planes)$Vollmer["D"]
ggstereo() +
geom_contourf_stereo(gg(planes)) +
geom_point(data = gg(planes), aes(x, y), color = "grey", shape = 21) +
scale_fill_viridis_d(option = "F") +
labs(
subtitle = "Example data",
title = "Density contour plot",
fill = "Multiples of\nvon Mises-Fisher\ndistribution",
caption = paste0("Equal area, lower hemisphere projection | N: ", nrow(planes), " | Fabric strength: ", round(fabric, 2))
)
The detailed documentation can be found at https://tobiste.github.io/structr/
Tobias Stephan (tstephan@lakeheadu.ca)
I welcome feedback, suggestions, issues, and contributions! If you have found a bug, please file it here with minimal code to reproduce the issue.
MIT License