adamsgaard.dk

my academic webpage
git clone git://src.adamsgaard.dk/adamsgaard.dk # fast
git clone https://src.adamsgaard.dk/adamsgaard.dk.git # slow
Log | Files | Refs | README | LICENSE Back to index

018-tem-loader.txt (3623B)


      1     Install via the QGIS Plugin Manager:
      2 	https://plugins.qgis.org/plugins/tem_loader/
      3 
      4 If you run into problems installing or using the plugin, please get
      5 in touch.
      6 
      7 ## Motivation
      8 
      9 The Transient Electromagnetic Method (TEM) is used for imaging
     10 subsurface electrical properties from the ground surface or with
     11 airborne instrumentaiton. The method is popular in ground-water
     12 surveys, mineral exploration, and other geological applications
     13 where differences in electrical resistivity of the subsurface are
     14 of interest.
     15 
     16 The subsurface resistivities are calculated through numerical
     17 inversion, where the observed decay of an induced magnetic field
     18 is matched against subsurface properties. The inverted resistivity
     19 models are the end goal for the geological analysis, and are typically
     20 exported from the inversion software as XYZ text files. The files
     21 contain one row per sounding, with a stack of resistivity layers
     22 and a depth of investigation. Reading these data usually requires
     23 specialized commercial software.
     24 
     25 TEM Loader is a QGIS plugin that does the import to QGIS. I made
     26 it for teaching activities under the Danish Strategic Sector
     27 Cooperation program, where we collaborate with geological surveys
     28 and water authorities in african countries on geophysics and
     29 geological modelling.
     30 
     31 ## What it does
     32 
     33 The plugin reads inversion XYZ files exported from TEMImage and
     34 Aarhus Workbench. For each file it creates three layers in a group:
     35 
     36   - Points: surface positions of each sounding.
     37   - DOI: depth-of-investigation points, revealing the lower confidence
     38     boundary in the model.
     39   - Layers: resistivity layers as vertical 3D line segments.
     40 
     41 These layers are styled with bundled QML files. The imported
     42 geometries are visible in the QGIS 3D Map viewer and Elevation
     43 Profile tool, where it is possible to draw cross-sections along any
     44 line.
     45 
     46 If the XYZ header declares an EPSG code, it is used. Otherwise the loader falls
     47 back to the project CRS, and then to EPSG:4326. Three CSV files
     48 (filename.points.csv, filename.doi.csv, filename.layers.csv) are written next
     49 to the source file.
     50 
     51 ## How the data becomes geometry
     52 
     53 The parser is a small core.py module with no QGIS dependency, which
     54 keeps it unit-testable. TEMImage and Aarhus Workbench headers are
     55 normalised into a common schema.
     56 
     57 Geometry is written as [2]WKT strings into the CSVs and parsed by
     58 QGIS on load.  For a sounding at (x, y) with surface elevation z
     59 and depth of investigation doi:
     60 
     61 z_doi = z - doi
     62 point_wkt = f'POINT Z ({x} {y} {z})'
     63 doi_wkt   = f'POINT Z ({x} {y} {z_doi})'
     64 
     65 Each resistivity layer is emitted as a vertical LINESTRING Z between
     66 the top and bottom elevations of that layer:
     67 
     68 z_top = z - depth_top
     69 z_bot = z - depth_bottom
     70 layer_wkt = f'LINESTRING Z ({x} {y} {z_top}, {x} {y} {z_bot})'
     71 
     72 For TEMImager data the depths are accumulated from the Thick_*
     73 columns. For Aarhus Workbench data the explicit DEP_TOP_* and
     74 DEP_BOT_* columns are used when present. Rendered side by side along
     75 a survey line, the stacked line segments form a fence diagram
     76 coloured by resistivity.
     77 
     78 TEM Loader targets QGIS 3.40 or later, and works on Windows, MacOS,
     79 and Linux.
     80 
     81 Source and issue tracker: [3]https://gitlab.com/qgeomodel/qgis-tem-loader.
     82 
     83 If something does not work, or the loader rejects a file it should
     84 handle, please [4]send me an email.
     85 
     86 Examples:
     87 - sTEM data from Kenya: https://andersdamsgaard.dk/img/tem-loader.png
     88 - tTEM data from Denmark: https://andersdamsgaard.dk/img/tem-loader2.png
     89 
     90 References:
     91 
     92 [1] mailto:andam@geus.dk
     93 [2] https://www.ogc.org/standard/sfa/
     94 [3] https://gitlab.com/qgeomodel/qgis-tem-loader
     95 [4] mailto:andam@geus.dk