commit 796ead957ab22f968689687f1a2eb7b864636684
parent 164fa1020ccde595da397c6820b2deee164ac7dc
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 4 Jun 2026 21:59:29 +0300
docs: update README for v0.1.0 accuracy
Diffstat:
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/README.md b/README.md
@@ -1,18 +1,13 @@
# Profile Interpreter
-A QGIS 3.40+ plugin (proof of concept) for placing 3D interpretation points by
-clicking directly on the **Elevation Profile** view.
+A QGIS 3.40+ plugin for placing 3D interpretation points by clicking directly
+on the **Elevation Profile** view.
It is data-agnostic: use it to digitize geological boundaries, borehole picks,
geophysical layer tops, or any other interpretation on a profile/cross-section
view — for example the profiles produced by the
[TEM Loader](https://gitlab.com/qgeomodel/qgis-tem-loader) plugin.
-> [!IMPORTANT]
-> This is an early proof of concept. It demonstrates the core interaction and
-> coordinate math; it is not yet a finished interpretation tool. See
-> [Limitations](#limitations-proof-of-concept-scope).
-
## How it works
When you click on the elevation profile, the plugin converts the click into a
@@ -29,14 +24,14 @@ click position (canvas pixels)
The clicked vertical position becomes the feature's elevation (Z), and the
horizontal position is mapped back to a true map X/Y along the cross-section
line. If the **active layer** is an editable PointZ vector layer, clicked points land
-there (only the fields that already exist are written — the schema is never
+there (only the fields that already exist are written; the schema is never
altered). Otherwise points are stored in a memory layer named
**Profile interpretations** with `id`, `distance`, `elevation`, and `note`
fields.
## Requirements
-- QGIS 3.40.0 or later
+- QGIS 3.40.0 or later (QGIS 4.x is also supported)
- Python 3 (bundled with QGIS)
## Installation
@@ -53,14 +48,17 @@ fields.
3. Toggle **Interpret on Profile** (toolbar button or **Plugins > Profile
Interpreter**) on.
4. Click on the profile where you interpret a boundary. A PointZ feature is
- added to the **Profile interpretations** layer, and its X/Y/Z is printed to
- the Python console and shown in the message bar.
+ added to the active layer (if it is a writable PointZ layer) or to the
+ fallback **Profile interpretations** memory layer. The point's X/Y/Z is
+ printed to the Python console and shown in the message bar.
5. Toggle the tool off to return to normal pan/zoom on the profile.
-## Limitations (proof-of-concept scope)
+# Limitations
-- Interpretation points are stored in an in-memory layer only; there is no
- GeoPackage persistence or per-boundary classification yet.
+- When no active PointZ layer is set, interpretation points are stored in an
+ in-memory fallback layer only; there is no GeoPackage persistence or
+ per-boundary classification for that layer yet. The `note` field exists in
+ the fallback layer schema but has no input UI.
- The plugin grabs the profile canvas by walking the Qt widget tree
(`findChildren(QgsElevationProfileCanvas)`); there is no official PyQGIS
accessor. With multiple profile docks open it picks the first visible one.
@@ -79,4 +77,4 @@ make clean # remove the zip
## License
-ISC — see [LICENSE](LICENSE).
+ISC: see [LICENSE](LICENSE).