# GeoProfiler v0.3 – Help

Plugin authors: M. Alberti, M. Zanieri
Concept: M. Zanieri
Implementation: M. Alberti

## Overview

GeoProfiler helps you build geological profiles by integrating topography and georeferenced geological data (points, attitudes, lines, polygons) into a reproducible workflow.

It is part of qgSurf and evolves from the standalone qProf plugin, with a largely rewritten architecture.

## Quickstart (2 minutes)

If you just want to create a geological profile quickly:

### 1. Create a topographic profile

- Digitize a trace or load a line layer
- Select a DEM
- Run → Generate 3D profile

This creates a 3D line layer stored in a GeoPackage.

### 2. Select the working profile

- Load the 3D line layer into QGIS
- Run → Choose working 3D profiles layer

### 3. Add geological data

- Points → Point projections
- Attitudes → Attitude projections
- Faults → Line intersections
- Outcrops → Polygon intersections

### 4. Plot

- Run → Plot

You now have a geological profile.

### 5. (Optional) Save your work

- Export geoprofile
- Save graphical parameters

Reload later with Import geoprofile.

### Minimal requirements

- A DEM
- A line (or a digitized trace)

## Quick Example (field use)

Digitize a profile across an Apennine ridge, select a DEM, and generate the 3D profile. Then project bedding attitudes and intersect mapped fault traces. Plot the profile to visualize the relationships between stratification and tectonic structures.

## Workflow Overview (visual)

    [Trace (2D/3D)]        [DEM]
            │                │
            └──────┬─────────┘
                   ▼
         Generate 3D profile
                   │
                   ▼
         [3D profile layer]
                   │
                   ▼
     Choose working profile
                   │
                   ▼
       Add geological data
       ├─ Points (projection)
       ├─ Attitudes (projection)
       ├─ Lines (intersection)
       └─ Polygons (intersection)
                   │
                   ▼
                Plot
                   │
           ┌───────┴────────┐
           ▼                ▼
    Export geoprofile   Save style
           │                │
           └──────┬─────────┘
                  ▼
           Import geoprofile

## Core Concept

GeoProfiler is built around two geometric elements:

- Topographic line → the 3D profile trace sampled from the DEM
- Profile plane → a vertical plane orthogonal to the profile trace

### Data behavior

- Projected data
  - Points
  - Geological attitudes
  projected onto the profile plane
- Intersecting data
  - Lines (faults)
  - Polygons (outcrops)
  intersect the topographic line

## Mental Model (important)

All outputs depend only on:

- profile geometry
- geological data
- graphical parameters

The plot is a pure result, not stored.

## 1. Creating Topographic Profiles

Profiles are stored as 3D line layers in a GeoPackage.

### Define the trace

- Load from an existing layer
- Or digitize in canvas

### Define elevation

- Select DEM

### Generate profile

- Creates 3D line(s)

### Parallel profiles

- Number must be odd (1, 3, 5, …)
- Generated symmetrically around the base trace

## 2. Working Profile Layer

Load the 3D line layer into QGIS and select:

Choose working 3D profiles layer

This defines the reference geometry for all operations.

Redefining the base 3D profile (new line source, DEM, digitized trace, or project reload) clears any previously defined point/attitude projections and line/polygon intersections, since they were computed against the profile just discarded. Redefine the geological data stages afterwards.

## 3. Geological Data Integration

Each stage below (points, attitudes, lines, polygons) runs its own projection/intersection immediately once its dialog is confirmed - there is no separate "create/apply" step: define a stage, and its result is computed and added to the geoprofile right away, ready to be re-plotted.

### 3.1 Point projections

Inputs:

- Point layer
- Elevation field
- Maximum distance from profile

### 3.2 Attitude projections

Inputs:

- Point layer
- Dip direction (or strike, RHR)
- Dip angle

Output:

- Marker + segment representing plane–profile intersection

### 3.3 Line intersections

- Input: line layer
- Output: points along the topographic profile

### 3.4 Polygon intersections

- Input: polygon layer
- Output: categorized intersections along the profile

## 4. Graphical Parameters

Controls the appearance of the plot:

- Figure size
- Vertical exaggeration
- Elevation limits
- Colors, markers, labels

### Persistence

- Save parameters
- Reload parameters

Polygon categories must match when reloading saved parameters.

## 5. Plot

Run:

Plot

- Uses default parameters if none are defined
- Automatically reflects any change in data or graphical parameters

## 6. Export and Import (Reproducibility)

### Key idea

Data and visualization are decoupled.

- Export stores data
- Graphical parameters are stored separately

### Export geoprofile

Use:

Export geoprofile

This saves:

- projected points
- projected attitudes
- line intersections
- polygon intersections

Into a database file: SQLite by default (`.sqlite`/`.db`), or GeoPackage (`.gpkg`) if preferred.

### Import geoprofile

Use:

Import geoprofile

This allows you to:

- reload previously computed data
- restore a working session
- re-plot without recomputing

### Why this matters

- Reproducible workflows
- Reusable datasets
- Shareable results
- Independent styling

## 7. Current Limitations

- No GPX input
- No slope calculation

## Design Philosophy

GeoProfiler is designed to be:

- Reproducible
- Modular
- Flexible (supports non-linear and parallel profiles)