commit a4111ccf9b8799ef37c438a4a7d57e47eac04420
parent 5c136f753c74a0f1955700cceef87720d3222374
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Wed, 8 Apr 2026 17:00:56 +0200
fix(qgis): render doi above layers
Diffstat:
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
@@ -28,7 +28,7 @@ Each file gets its own layer group. Layers are styled with pre-built QML styles
1. Open a QGIS project and set the project CRS (falls back to EPSG:4326 if unset).
2. Go to **Plugins > TEM Loader > Load TEM XYZ files…**.
3. Select one or more `.xyz` inversion files.
-4. Three CSV files (`.points.csv`, `.doi.csv`, `.layers.csv`) are written beside each source file, and the corresponding layers are added to the project.
+4. Three CSV files (`.points.csv`, `.doi.csv`, `.layers.csv`) are written beside each source file, and the corresponding layers are added to the project with `points` above `doi` above `layers`.
## XYZ File Format
diff --git a/tem_loader/tem_loader.py b/tem_loader/tem_loader.py
@@ -55,12 +55,13 @@ class TEMLoaderPlugin:
group = root.insertGroup(0, group_name)
failed = []
- load_order = [
+ loaded_layers = {}
+ source_layers = [
('layers', lyr_csv, 'LineString'),
('doi', doi_csv, 'Point'),
('points', pts_csv, 'Point'),
]
- for name, csv_path, geom_type in load_order:
+ for name, csv_path, geom_type in source_layers:
uri = (
f'file://{csv_path.as_posix()}'
f'?type={geom_type}'
@@ -79,7 +80,15 @@ class TEMLoaderPlugin:
layer.loadNamedStyle(str(qml))
project.addMapLayer(layer, False)
- group.addLayer(layer)
+ loaded_layers[name] = layer
+
+ insert_index = 0
+ for name in ('points', 'doi', 'layers'):
+ layer = loaded_layers.get(name)
+ if layer is None:
+ continue
+ group.insertLayer(insert_index, layer)
+ insert_index += 1
if failed:
QMessageBox.warning(