geology · structural

Stereonet (Equal-Angle / Equal-Area Projection)

click formula to derive ↑
MODE:
Inputs
—
—
—
Paste one row per line — separate columns with a comma or tab: Strike (°), Dip (°), Group (Set 1/Set 2/Set 3/Set 4/Set 5)
⚠ Needs at least 1 valid row to calculate — 0 so far.
Paste one row per line — separate columns with a comma or tab: Trend (°), Plunge (°), Group (Set 1/Set 2/Set 3/Set 4/Set 5)
⚠ Needs at least 1 valid row to calculate — 0 so far.
—
—
%
—
—
—
Description
Plots planar (strike/dip) and linear (trend/plunge) structural measurements on a lower-hemisphere stereographic projection — the standard graphical tool for analyzing the 3D orientation of bedding, faults, joints, foliations, fold axes, and lineations. Both the Equal-Angle (Wulff) and Equal-Area (Schmidt) projections are supported, planes can be shown as poles (points), full great-circle (cyclographic) traces, or both at once, and Kamb-method density contours can be overlaid on either population.
Variables
Variable symbols, units, and descriptions for this calculation
SymbolUnitDescription
Poles—Plane Poles & Great Circles
Lines—Line Points
Ngrp—Distinct Groups Pasted
Nshown—Groups Plotted (capped at 4)
Fisher—Fisher Mean Direction & Confidence Cone
Contours—Kamb Density Contours
Proj—0 = Equal-Angle (Wulff/stereographic) projection — preserves angular relationships, the traditional choice for structural-geology stereonets. 1 = Equal-Area (Schmidt/Lambert azimuthal) projection — preserves areas, the standard choice when plotting many measurements to assess clustering/density without a systematic areal bias toward the net's center. This affects the actual projected coordinates, not just how they're displayed.
Poles—1 = plot each plane's pole (a single point). Independent of Show Great Circles — both, either, or neither may be shown for the same set of planes.
GC—1 = plot each plane's full great-circle (cyclographic) trace. Independent of Show Plane Poles — both representations are always computed regardless of which are currently shown, so toggling either is instant.
θ/δ—One row per planar measurement (bedding, fault, joint, foliation): strike and dip in degrees, right-hand-rule convention (dip is 90° clockwise of strike, looking in the dip direction), and an optional group label (e.g. a station or structural-domain name) for overlaying several datasets on one net with separate, color-coded pole/great-circle populations. Leave the group cell blank, or leave off the whole third column, for a group of "Set 1" (today's default single-population behavior). This platform's array-input schema has no optional-input mechanism for a whole INPUT (only for a trailing column within one), so at least one row is still required here even for a dataset with only line measurements — see this calc's own limitations. The Planes and Lines inputs share ONE combined pool of at most 4 simultaneously overlaid groups (this net's legible non-red, non-cone color limit — see this calc's own limitations) — a plane group and a line group with the same name are the SAME overlay group and share one color.
T/p—One row per linear measurement (fold axis, lineation, slickenline, borehole axis): trend and plunge in degrees, lower hemisphere (plunge 0-90, always downward), and an optional group label — see the Planes input's own description for the shared group-pool/color convention. At least one row is required even for a dataset with only planar measurements — see this calc's own limitations.
Poles Fisher—1 = compute and plot a Fisher mean direction, concentration (kappa), and confidence cone for the Planes input's poles, treated as a single homogeneous population. Independent of Show Lines Fisher Mean/Cone — planes and lines are always computed as two separate Fisher populations, never mixed together into one statistic (tier2-session3-confidence-cones scoping).
Lines Fisher—1 = compute and plot a Fisher mean direction, concentration (kappa), and confidence cone for the Lines input, treated as a single homogeneous population, independent of the Planes population's own Fisher statistic.
Conf%Confidence level for the Fisher confidence cone (e.g. 95% is the conventional default). Applies to both the Poles and Lines Fisher populations. The cone is only meaningful/computable for a population whose R-bar (mean resultant length) is >=0.65 and whose sample size supports this confidence level's cone formula — see this calc's own limitations for both guards.
Poles Kamb—1 = plot Kamb density contours for the Planes' poles (same population scoping as the Fisher mean/cone). Disabled while more than one group is overlaid.
Lines Kamb—1 = plot Kamb density contours for the Lines, independent of the Planes population's own contours.
σ—Kamb counting-circle size in standard deviations (1, 2, or 3; rounded to the nearest). Higher = more smoothing. The only contouring parameter exposed.
Assumptions
  • Each pasted strike/dip measurement uses the right-hand-rule convention (dip is 90° clockwise of strike, looking in the dip direction) — a quadrant-notation (e.g. N45E) or dip-direction/dip convention measurement must be converted to right-hand-rule strike before entry.
  • All measurements are lower-hemisphere by construction (dip and plunge are entered 0-90°, always downward) — there is no upper-hemisphere mode, matching universal structural-geology convention.
  • The Equal-Area (Schmidt) projection is appropriate when comparing the relative density/clustering of many measurements; the Equal-Angle (Wulff) projection is appropriate when angular relationships between individual planes/lines (e.g. measuring the angle between two lineations) must be read directly off the net.
Limitations
  • This platform's array-input schema has no optional-input mechanism (the same gap rose_diagram's own limitations document), so both the Planes and Lines array inputs require at least one row — a dataset with only planes (or only lines) still needs a placeholder row in the other input; deferred cleanly rather than built as a half-finished optional-field hack.
  • A Fisher mean direction, concentration (kappa), and confidence cone are computed per population (Planes' poles, Lines) but require at least 3 measurements in that population, a well-defined mean direction (R̄>=0.10), and — for the cone specifically — R̄>=0.65 plus a sample size that keeps the cone formula's own domain valid at the chosen confidence level; a population failing any of these guards shows a clear note instead of a silently wrong or missing result (tier2-session3b-confidence-cones-build). This is Fisher (point/pole clustering) statistics only — Bingham/girdle-distribution statistics (fitting a best-fit plane or cylindrical axis to a scattered set of poles/lines, e.g. finding a fold axis from folded-bedding poles) is a materially different statistical method and remains a genuinely separate, not-yet-built future extension, not silently folded into this feature.
  • The background graticule (10° meridian/parallel spacing, degree tick marks every 10°/30° on the primitive circle) is a fixed-spacing reference grid, not a user-adjustable one — 10° was chosen as the legible spacing at this panel's ~260px net radius (2°, the traditional paper-net spacing, was tested and found illegibly dense at this size; 20° was tested and found comfortably legible but sparser). The grid is drawn at half opacity behind the crosshair and the user's own plotted planes/lines so it never competes with the actual data.
  • Multi-group overlay (tier2-session4-multidataset-overlay) is capped at 4 simultaneously plotted groups (Planes and Lines share one combined pool) — a dataset naming more groups than that still computes group_count correctly, but only the first 4 (in order of first appearance) are plotted, with a flag identifying which groups were dropped. Confidence cones, density contours, and multi-group overlay are MUTUALLY EXCLUSIVE by design, not merely a display choice: whenever more than one group is present, fisher_stats and contour_stats both come back empty regardless of their toggles, since both describe only a single combined population — showing one net-wide cone or contour field next to group-colored data would misrepresent something never computed per group. Per-group Fisher/contour statistics remain a separate, not-yet-built future extension (same boundary as the Bingham/girdle-distribution gap above).
  • Kamb density contours (one population at a time, 3+ measurements needed) use only exponential-smoothing weighting (Vollmer's own default) with σ (1/2/3, default 3) as the sole exposed parameter — grid resolution and the fixed [1σ,2σ,3σ] levels aren't adjustable, and every measurement is an unsigned axis, never a directed vector. A contour level is standard deviations by which local density departs from uniform, NOT a confidence percentage ('3σ' ≠ '99.7% confidence') — per mplstereonet's density_grid() docs, an open reimplementation of Vollmer 1995. Higher σ smooths more (same source), which can blur distinct tight clusters together.
Use Cases
  • → Fault/fracture orientation and kinematic analysis: Plot fault-plane strike/dip measurements as great circles alongside slickenline trend/plunge measurements as lines to visualize the geometric relationship between fault surfaces and their associated slip lineations — a standard structural-geology field and lab technique.
  • → Bedding/foliation orientation mapping: Plot bedding or metamorphic foliation strike/dip poles from multiple outcrops as points to visually assess fold geometry, structural domains, or a regional dip pattern — clustering of poles reveals the fold axis or dominant structural trend.
Related Calculations
Region Notes
Global
Always state which projection (Equal-Angle vs. Equal-Area) and hemisphere convention (lower, used exclusively here) were used alongside a stereonet plot — the two projections place the same measurement at visibly different radii for any plunge strictly between 0° and 90°, which can matter when comparing a plot against a hand-plotted net from older field notes or a different software package.
References
Primary source
Primary source
Need geoscience support? BauerCalc is just one of the tools we build. If you're looking for independent expertise in well planning, geosteering, reservoir characterization, or opportunity evaluation, visit BauerSubsurface.com.
BauerCalc is a technical reference tool, not a substitute for professional engineering judgment — and it must never be used as the sole basis for real-time operational or well control decisions.Powered by Bauer Subsurface Solutions