qgis-tem-loader

qgis plugin for loading TEM geophysical inversion XYZ files as 3D objects
git clone git://src.adamsgaard.dk/qgis-tem-loader # fast
git clone https://src.adamsgaard.dk/qgis-tem-loader.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit 0ede6e3ba4b40f5c2fdfcfdecdab6f78cdc0b989
parent 2444f6ea0afaf4faae96aae33b416a8ce545a141
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Fri, 15 May 2026 23:29:40 +0200

feat(qgis): include DEM raster in import options

Diffstat:
Mtem_loader/tem_loader.py | 4++++
Mtest/test_core.py | 17+++++++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/tem_loader/tem_loader.py b/tem_loader/tem_loader.py @@ -179,9 +179,13 @@ class _ImportOptionsDialog(QDialog): self.setLayout(layout) def options(self): + elevation_raster_layer = None + if self._dem_checkbox.isChecked(): + elevation_raster_layer = self._dem_raster_combo.currentLayer() return { 'mask_below_doi': self._mask_checkbox.isChecked(), 'below_doi_opacity': self._opacity_spinbox.value(), + 'elevation_raster_layer': elevation_raster_layer, } diff --git a/test/test_core.py b/test/test_core.py @@ -927,6 +927,7 @@ class PluginTests(unittest.TestCase): { "mask_below_doi": True, "below_doi_opacity": module.core.BELOW_DOI_OPACITY, + "elevation_raster_layer": None, }, ) @@ -939,6 +940,7 @@ class PluginTests(unittest.TestCase): { "mask_below_doi": False, "below_doi_opacity": 35, + "elevation_raster_layer": None, }, ) @@ -962,6 +964,21 @@ class PluginTests(unittest.TestCase): dialog._dem_checkbox.setChecked(False) self.assertFalse(dialog._dem_raster_combo.enabled) + def test_import_options_dialog_returns_dem_layer_only_when_enabled(self): + module, _, _ = self._import_plugin_module() + raster_layer = object() + dialog = module._ImportOptionsDialog(object()) + + dialog._dem_raster_combo.setLayer(raster_layer) + + self.assertIsNone(dialog.options()["elevation_raster_layer"]) + + dialog._dem_checkbox.setChecked(True) + self.assertIs(dialog.options()["elevation_raster_layer"], raster_layer) + + dialog._dem_raster_combo.setLayer(None) + self.assertIsNone(dialog.options()["elevation_raster_layer"]) + def test_import_options_dialog_supports_qt6_button_namespace(self): module, _, _ = self._import_plugin_module(qt6_enums=True)