# GeoProfiler vers. 0.1 help

Plugin creators: M. Alberti and M. Zanieri.
The original concept is by M. Zanieri, while the implementation is by M. Alberti.
The purpose of the experimental geoProfiler module is to help in the creation of geological profiles.
Georeferenced data describing topography, geological outcrops and attitudes can be used as source data.
This module is a successor to qProf, an independent QGIS plugin, whose code has now been largely rewritten and incorporated as a new module into qgSurf.
The original qProf plugin will continue to exist but only bug-fixes will be applied to it and no new feature will be added.
geoProfiler is however not at parity with qProf functions, lacking a few features while on the other hand has more advanced features for the creation of parallel profiles.
The most notable limitations of the current geoProfiler version with respect to qProf are: a) the inability to handle datasets with different CRS, so that all input data must share the same, non-geographic CRS; b) no processing for GPX input data is available; c) no slope calculation is performed.
Two major improvements are that geological profiles are no longer restricted to straight lines (i.e. just a segment) and parallel profiles are automatically created by a single source profile trace.
Fig. 1. The module interface, with the various commands expanded.

## 1. General workflow

The most important aspect to consider is that in this initial, experimental release all used data must be in the same planar CRS (e.g., use data projected in the same UTM or Lambert projection, not with lat-long coordinates). The module in fact do not reproject data between different CRS.
Considering now the processing workflow, you may consider it to be from top-to-bottom as depicted in the module UI (fig. 1).
As a first step you have to define a profile trace source, by reading it from a loaded line layer or directly drawing it in the map canvas.
Afterwards you define the input DEM that will be used for the topography representation.
These two steps already allow to plot a profile, that would be a single topographic profile with default parameters (fig. 2).
Fig. 2. Example of topographic profile with standard parameters. Data: Aster, Southern Italy (Calabria- Basilicata boundary, Thyrrenian coast to Ionian coast.
Otherwise, you may define the number of parallel profiles to create and their spacing, add geological data and specify the graphical parameters to use for the plot. Finally you can export the profiles as point or line shapefiles.
Geological data can be projected on the profile (e.g., points or geological attitudes) or can intersect the profile (e.g., faults, geological outcrops). Geological data are stored in point, line or polygon layers. >
In details, these processings can be:

- the projection of points on the profile section;
- the projection of geological attitudes;
- the intersection of geological lines (e.g., faults) on the profile section;
- the intersection of geological polygonal elements (e.g., outcrops) on the profile section.

The last step consists in exporting created datasets as graphics or GIS data, for further elaborations via graphic or geological software.

## 2. Initial dataset definitions

### 2.1 Definition of profile trace

The first step in the profile creation is the definition of the trace to use. It has to be a single trace, that can be straight or not.
It can be loaded from a line layer, using "load trace from line layer" under "Profile trace" or can be digitized in the canvas with "digitize trace" under "Profile trace/digitize trace in canvas" (fig. 3).
A profile line may be digitised directy in the map canvas by using the "Digitize line" button. After activating the button, you add a point with a left click, and terminate the line with a right click. It is possible to delete the digitized line by cliking the "clear trace" button. With the "save trace" button it is possible to save the line as a shapefile and add it to the project.
Note that if you digitize the profile in the canvas, the project CRS must be the same as all the other used data (e..g, the DEM, the geological attitudes, and so on).
Fig. 3. Definition of the input profile trace.

### 2.2 Definition of elevation source

By clicking on "Elevation source" the user can choose which one of the loaded DEMs to use (fig. 4).
Fig. 4. Choice of source DEMs.

### 2.3 Profile parameters

Having defined both the source profile trace and the DEM, it is possible to define the number of parallel profiles and their lateral spacing. By default the number is 1, so if you do not define this parameters the plot will consist of just one profile. The profile parameters UI is available from double-clicking the "Profiles generation" item (fig.5). The parallel profiles will be at the left and right of the base profile, so that the total profile number is always an odd number.
Fig. 5. Definition of the profile parameters. In this example 5 parallel profiles will be created with a spacing of 200 units (depending on the CRS, meters, feet or others).

## 3. Profile plot

The profile plot is created by double-clicking the "Plot profiles" item (fig. 3).
Just the source profile and the DEM definitions are required between plotting the profiles.
Default plot and graphical parameters will be used unless you define them using the graphical parameters definition ("define graphical parameters" in fig. 1).
When you modify the graphical parameters or you add geological information by using the items under "Geological data" (fig. 1), the plot will show the updated settings and data when the "Plot profiles" item is double-clicked again .

## 4. Geological data

There are various kinds of geological data that can be plotted into profiles. Based on their own geometric nature and the geometric relationship with the profile plane and the topographic line, we can distinguish between data that are constrained to lie in the topographic surface and others that are not linked to the topographic line in the profile.
In the latter case we have simple points (e.g. seismic hypocenters) and plane data with point-like extension at the profile scale (e.g. geological attitudes), that can be projected onto the profile plane irrespective of the topographic profile position.
In the former we have surficial line (e.g., fault traces) and polygonal features (e.g., geological outcrops) that are constrained to the topographic profile. Here we say that these geological features intersect the profile plane at the topography line.
Fig. 8. The plugin interface for geological data ingestion.

### 4.1 Point projections

When considering point data projected onto the profile plane, an obvious example is that of seismological data such as the hypocenters of a seismic sequence.
To plot this kind of data, we need to define the source layer, the field storing the elevation value for each point, the maximum allowed orthogonal distance of the point from the profile plane and the field that will be used to label the points when useful (fig. 9).
Fig. 9. Example of point projections UI.
By double-clicking the "Plot profiles" item and fine-tuning the plot parameters from the "Graphical parameters" we obtain a profile where the points are plotted normally to the profile plane, with the height extracted by the "Z field"-defined values (fig. 10).
Fig. 10. Seismic hypocenters of the 2007 Colfiorito sequence (Central Apennines) plotted in a profile with parameters as in fig. 9.

### 4.2 Attitude projections

The case for attitude projections is similar to the point projections but it adds also a local plane-like nature for the projected data.
The source for geological attitudes is therefore still a point layer, but we need also to define the sources for the plane attitude, as given by its dip direction (or strike azimuth, following the Right-Hand-Rule) and the dip angle. Moreover, to limit the distance of the attitudes from the profile plane we set the "Max. profile distance" value and, when labelling data, the chosen "Id" field values will be used.
Fig. 11. Geological attitudes projection UI.
The geological attitudes are projected on the section plane perpendicular to the profile line, and are represented by a marker and a short segment representing the intersection between the geological plane and the profile plane (example in fig. 12).
Fig. 12. Example of geological attitudes projection along a profile in the eastern sector of Mt. Alpi zone (Basilicata, Southern Italy).

### 4.3 Line intersections

Line intersections is the first of the two cases of intersections between features and profile plane. Line features, such as the surficial traces of faults, plot as points lying on the topographic profile. We have to define just two elements: the input layer representing the features and a field storing the id/code/category for each feature, to be used when labelling them in the profile (fig. 13).
Fig. 13. Line intersections UI.
In fig. 14 the faults are represented in the plot as labelled triangles, plus the previously described seismic hypocenters (projected as points). It is therefore possible to reason on the relationships between active seisms and the mapped fault traces.
Fig. 14. Example of labelled fault intersections, together with seismic hypocenters of the 2007 Colfiorito sequence (Central Apennines).

### 4.4 Polygon intersections

Last case is the intersection of polygons lying on the topographic surface with the profile plane. As is the linear intersection case, we must just define two parameters: the input polygonal layer and a code/category field whose values will be used to categorize the intersections (fig. 15).
Fig. 15. Geological polygon intersection UI.
In the following example (fig. 16) the features intersecting the profile plane fall into just two categories, whose symbolization is chosen by the user. Under each feature intersection its code/category is written, as an help for the visualization/analysis.
Fig. 16. Example of geological polygon intersection on 3 parallel profiles in the Timpa San Lorenzo zone (Calabria, Southern Italy).

## 5. Graphical parameters

The graphical parameters window ("Graphical parameters" in figs 1. 3 and 8) allows to fine-tune the plot graphical parameters. It is possible to define the figure width and height (expressed in inches), the vertical exxageration value (1 means scale of horizontal axis equal to scale of vertical axis), and the maximum and minimum elevations (fig. 17). Values for the vertical exaggeration and minimum and maximum elevation in the plot are precomputed, the user may however modify them.
It is possible to save the currently defined graphical parameters ("save graphical parameters" in fig. 1) and to load them ("load graphical parameters") in a subsequent session. A note of caution for the polygonal intersections case: loading an obsolete parameters file could cause errors when using modified category field or input values.
Fig. 17. The window for the definition of the graphical parameters.
The user can change the color for the topographic profile by defining it via the "Topographic elevations" menu item (fig. 18).
Fig. 18. The window for the definition of the topographic profile color.
The point and attitude projections, as well the line intersections, present almost the same interface, that allows to define marker parameters and the presence of labels (fig. 19).
Fig. 19. The window for the definition of the point projections.
In the polygon intersections case, the user defines the colors to apply, categorized by the category field previously set (fig. 20).
Fig. 20. The window for the definition of the polygon intersections parameters.

## 6. Result export

Profile data can be exported by double clicking the "Export -> topographic profiles" menu item (fig. 1). The two available export formats as 3D point or line shapefiles (fig. 21). The profile plots can be saved as figures from inside the plot window, using the usual Matplotlib save tool.
Fig. 21. The plugin interface for profile result export.
-----
Doc version 2022-09-08, by Mauro Alberti - alberti.m65@gmail.com