Showing posts with label Umbria. Show all posts
Showing posts with label Umbria. Show all posts

Saturday, 17 December 2022

GIS evidences for low-angle segments in the Valnerina fault system (Central Apennines, Italy)

A long time ago, my PhD thesis was about the Valnerina line, a Cenozoic structural lineament in the Central Apennines of Italy, that runs parallel to the more important Olevano-Antrodoco line (Fig. 1), that is considered by many Authors to have played an major syn-sedimentary role during the Mesozoic pre-orogenic phase. The Valnerina line was investigated, among others, by Francesco Antonio Decandia (e.g., Decandia 1982), my thesis supervisor in Siena University. 

During the Cenozoic compression phase, both the Valnerina and the Olevano-Antrodoco lines would have been acted as oblique-dextral ramps in the Apenninic thrust-and-fold belt. This role would have derived from the reactivation of syn-sedimentary faults of the Mesozoic Umbrian basin (Decandia, 1982). 

Fig. 1. Map of the described zone. From Fig. 9 in Alberti, 2006.

I remember, in a field trip with students, that Decandia showed us a large fault slickenside between Jurassic Calcari Diasprini/Calcari a Posydonia and Cenozoic Scaglia tectonites in the Schioppo segment of the line. The slickenside was quite high angle, dipping 70° or more to the West (Fig. 2).

 

Fig. 2. Mesofaults with dextral movements in the footwall of the Schioppo fault. From Alberti, 1998.
 

In the Umbrian sector, the Valnerina line is composed of a few segments, mainly with a NNE-SSW trend. I studied two segments at the North of the Schioppo one, the Tassinare and the Grotti faults (Fig. 3). 

 

Fig. 3. Traces of Tassinare and Grotti segments of the Valnerina line. From Alberti, 2006.

Studying the slickensides and shear zones exposed along the trace of the Grotti fault, while top-to-NE movements were common, I didn't  find abundant examples of high-angle meso-faults (e.g., Fig. 4, 5).

Fig. 4. The Grotti faults (left) and observed meso-faults at structural stations (right). From Alberti, 2006.

 

Fig. 5. S-C calcareous mylonites, with calcite shear veins, in a shear zone in the Grotti area. Foto M. Alberti.

At the time, during the first half of '90, I was not aware of GIS tools and related quantitative digital techniques for studying geological surfaces. I just remember, during a stage in Basel University, the geologist Daniel Bernouilli, digitizing a structural surface at the table with the equivalent of a mouse.

Only after the PhD, while working in the Museo dell'Antartide in Siena, I began knowing and working with commercial GIS tools, i.e. ArcView and Arc/Info. Later I began using QGIS, Saga, Grass, i.e, the open source side of the GIS software.

With Python, a scripting language well integrated with QGIS, I started creating plug-ins devoted to structural analysis of geological field data. One of these plug-ins, qgSurf, includes a module, named 'DEM-plane intersection' that allows to calculate the expected intersections between a geological plane and a topography. 

When applying this module to the data of the Grotti fault, I was surprised to find that a very low angle plane (West-dipping and about 7° of dip angle) would approximate in a more than acceptable way the traces of both the Grotti fault and the southern portion of the Tassinare fault, even when considering that the Grotti fault is locally displaced by a few minor NW-SE normal faults  (Fig. 6).

Fig. 6. Map of traces (red lines) of the Grotti (NNE-SSW mean trend, central part) and Tassinare (broadly N-S trending, to the West) faults. The theoretical trace of the inferred geological plane with dip direction 269° and dip angle of 6.7° is superposed (semi-transparent thick orange line).

In Fig. 6 you may note that in the South-Eastern part a large klippe, plus a minor one to the North would be expected. There are no geological evidence of these klippen in the field (cf. Fig. 7), but it could be explained by the fact that the geological surface increases its dip to the South-East.

Fig. 7. Geological sketch of the Tassinare-Grotti zone (from Alberti, 1998).

 

To represent the inferred attitude of the plane with respect to the geological situation, I have modified the gsf and gst Python modules to allow plotting significant planes into parallel profiles, as visualized in the profiles below. 

The input data are geological outcrops, faults and a DEM of the zone. Analyses and plots were made within a Jupyter Notebook.

The five parallel lines in the map (Fig. 8, white lines), from North (# 1) to South (# 5), are shown as topographic profiles in Fig. 9, with geological formations (see legend) and fault traces (red dots) added.

The very low-angle geological plane 269°/06.7° is represented in these profiles by the thick semi-transparent orange line. 

It can be seen that it approximates quite well the mapped traces of the NNE-SSW trending Grotti segment. It is therefore possible that the Grotti segment is a low-angle fault, differently from the Schioppo segment of the Valnerina line.

Fig. 8. Topographic map of the studied zone, with fault traces (red lines) and paralell profiles (white lines). Created with gst and gsf Python modules.
Fig. 9. Topographic profiles as in Fig. 8, with geological formations and fault traces (red dots). The low-angle plane is represented by the thick orange line. Created with gst and gsf Python modules.


References

Alberti, M., 1998. Ruolo cinematico e dinamico di lineamenti sisedimentari mesozoici durante la tettogenesi Appenninica - Linea della Valneria, Umbria. Unpublished Phd thesis.

Alberti, M., 2006. Spatial structures in earthquakes and faults: quantifying similarity in simulated stress fields and natural data sets. Journal of Structural Geology, 28, 998–1018.

Decandia F.A., 1982. Geologia dei Monti di Spoleto (Prov. di Perugia). Boll. Soc. Geol. It., 101, 291-315.

 

 

 

 



Thursday, 29 September 2011

Creare una semplice mappa web geologica con Leaflet


Leaflet è una libreria Javascript che permette di creare e visualizzare mappe interattive, sia su desktop sia in dispositivi mobili. Dal punto di vista dell'utente, un suo aspetto apprezzabile è una buona velocità di caricamento e navigazione. Per gli sviluppatori è importante la sua facilità di sviluppo di mappe.

Leaflet permette di visualizzare dati sulla base cartografica OpenStreetMap. Possiamo utilizzare dati WMS e geoJASON. GeoJSON è un formato vettoriale, testuale, che può essere letto direttamente da Javascript. File GeoJSON possono essere creati a partire per esempio da shapefile con strumenti come OGR, che è disponibile in FWTools.

In questo post consideriamo come esempio la creazione di una mappa web della geologia di una zona in Umbria (Valnerina). In questa mappa è possibile avere informazioni sulle formazioni geologiche e visualizzare due sezioni geologiche associate alle loro tracce in mappa.

Quello che descriverò sono solo alcuni aspetti della creazione della mappa. La documentazione completa e gli esempi di Leaflet sono disponibili nel sito di Leaflet: http://leaflet.cloudmade.com.
Il codice sorgente della mappa può essere visualizzato dalla URL http://www.malg.eu/webmaps/leaflet_test/ll_01.html. La mappa è  stata testata su versioni Win recenti di Chrome, Firefox, Opera, Safari e IE (9). L'immagine sottostante rappresenta un esempio di schermata .




Passi preliminari

Carichiamo la libreria Leaflet sul server nel quale vogliamo creare la nostra mappa. Registriamoci come utente Leaflet presso CloudMade e richiediamo una API key per la nostra mappa web.


Configurazioni della pagina html

La API key viene incorporata nella linea di codice html che definisce la URL di collegamento a CloudMade:

var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/YOUR-API-KEY/997/256/{z}/{x}/{y}.png'

Colleghiamo la libreria Leaflet all'interno della pagina web che creiamo, nel suo head:

<link href="../../Leaflet/leaflet.css" rel="stylesheet"></link>
<!--[if lte IE 9]><link rel="stylesheet" href="../../Leaflet/leaflet.ie.css" /><![endif]-->

La seconda linea di codice è necessaria per far sì che la mappa web sia visualizzata anche in IE (io ho testato solo con la versione 9).

La struttura della pagina è ispirata a quella di http://kothic.org/js/ nella parte che riguarda la legenda.

Creazione del livello geologico

In questo esempio considereremo dati della geologia di una zona della Valnerina (Umbria). E' una mappa geologica che deriva dai dati di terreno che ho raccolto nel corso della mia tesi di dottorato in geologia strutturale. Questi dati sono in formato shapefile poligonale, in coordinate geografiche (cioè non proiettati in UTM e simili). Vengono convertiti in formato geoJSON con OGR, utilizzando FWTools con il comando ogr2ogr, per esempio:

ogr2ogr -f "GeoJSON" geologia.js geologia_geogr.shp geologia_geogr

Apriamo il file in formato JSON appena creato e aggiungiamo al suo inizio la definizione della variabile (evidenziata in giallo) che conserva i dati geologici:

var geologia = {
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "AREA": 20906.211000, "PERIMETER": 791.990000, "GEOL_CL_": 4.000000, "GEOL_CL_ID": 0.000000, "FORMATION": "Scaglia Rossa" }, "geometry": { "type": " ....

Questo file geoJSON deve essere collegato alla pagina web che crea la mappa, incorporandone il riferimento nell'head del file html:

<script src="geologia.js" language="javascript"></script>

Dopo questo passo, si può editare la pagina html, inserendo tutte le funzioni in uno script Javascript inserito o collegato nell'head della pagina.

La variabile Javascript che rappresenta i dati geologici viene richiamata nel codice Javascript che definisce la mappa, facendole creare l'oggetto geoJSON (evidenziata in giallo). Lo stile del livello viene definito attraverso la variabile formation_colors (in verde).

var geojson = new L.GeoJSON();
geojson.on('featureparse', function(e) {
// you can style features depending on their properties, etc.
var popupText = 'Formazione: ' + e.properties.FORMATION + <br \>;
if (e.layer instanceof L.Polygon) {
e.layer.setStyle({color: 'gray', weight: 1, fillColor: formation_colors[e.properties.FORMATION]});
}
e.layer.bindPopup(popupText);
});

geojson.addGeoJSON(geologia);
map.addLayer(geojson);

Nel codice sovrastante viene anche definito il contenuto di una finestra di poup che si attiva al click su ogni poligono del livello, oltre allo stile di rappresentazione  delle formazioni geologiche. Quest'ultimo si basa sulla proprietà FORMATION (e.properties.FORMATION) definita nel file geologia.js per ogni poligono, e su una 'colormap' che assegna un colore ad ogni formazione geologica:

var formation_colors = {
'Depositi fluviali':'#cFF',
'Depositi quaternari':'#cCF',
'Bisciaro':'#Fc6',
'Scaglia Cinerea':'#Fcc',
'Scaglia Variegata':'#0cc',
'Scaglia Rossa':'#3c6',
'Scaglia Bianca':'#cc0',
'Marne a Fucoidi':'#c06',
'Maiolica':'#063',
'Calcari Diasprini': '#309'
}


Definizione delle tracce delle sezioni

L'ultimo aspetto che descrivo è la creazione delle due sezioni geologiche. Il codice relativo alla prima delle due sezioni è:

var p1 = new L.LatLng(42.76554, 12.79581);
var p2 = new L.LatLng(42.83028, 12.91872);
var section_a = [p1, p2];
var sezione_a = new L.Polyline(section_a, {weight: 1, color: 'blue', opacity: 0.5});
map.addLayer(sezione_a);
sezione_a.bindPopup("<img style='width: 600px;' src='ims/sezione_a.jpg' alt='sezione A' />", {maxWidth: 650});

Vengono creati due punti con le coordinate geografiche che corrispondono agli estremi della sezione. Questi due punti vanno a creare una lista, la quale serve da base per la creazione di una Polyline, che viene aggiunta alla mappa e alla quale viene collegato un popup, con la funzione bindPopup, che apre una immagine che rappresenta la sezione specifica. E' opportuno definire la maxWidth della finestra di popup in maniera tale che contenga completamente l'immagine collegata.