qgis-profile-interpreter

qgis plugin for placing 3D points along elevation profiles
git clone git://src.adamsgaard.dk/qgis-profile-interpreter # fast
git clone https://src.adamsgaard.dk/qgis-profile-interpreter.git # slow
Log | Files | Refs | README | LICENSE Back to index

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:
MREADME.md | 28+++++++++++++---------------
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).