After nearly 8 years, I decided to overhaul QNEAT3. Firstly the old codebase was exactly that — old. Secondly, QGIS development moved on from QGIS3 to QGIS4. In the course of a whole year, I rewrote the QNEAT plugin from scratch, adding new features but also dropping many old/unpractical or buggy logic. Due to this redesign, old QNEAT3 models and projects are not compatible with QNEAT version 4. The new version number of QNEAT is 4.0 — in line with the new QGIS version number. I also decided to decouple the algorithm name from the QGIS version in order to have easier ports between future QGIS versions. QNEAT4 is now simply called QNEAT.
Following changes have been made to the plugin and have to be kept in mind when porting old QNEAT3 models, projects or processing scripts:
Iso-area from point / Iso-area from layer) that let you pick the output type and interpolation method as parameters instead of picking a different algorithm for each combination.OD-Matrix from Points as CSV (n:n) was removed. It has been redundant: the OD matrix from points as table (n:n) algorithm's output can be saved directly to a .csv file via the QGIS processing algorithm output options.Qneat3Network/Qneat3AnalysisPoint → QneatCore, algorithms now inherit directly from QgsProcessingAlgorithm), progress reporting was reworked to actually reflect algorithm progress, and a number of longstanding bugs were fixed along the way (see the full changelog below).| QNEAT3 (legacy) | QNEAT 4.0 | Status | Notes |
|---|---|---|---|
| Shortest path (point to point) | Shortest path (point to point) | renamed params | Start/End point → Origin/Destination point. Entry cost method removed. |
| Iso-Area as pointcloud (from point) | Iso-Area as pointcloud (from point) | unchanged | Entry cost method parameter removed only. |
| Iso-Area as pointcloud (from layer) | Iso-Area as pointcloud (from layer) | unchanged | Entry cost method parameter removed only. |
| Iso-Area as Interpolation (from point) | Iso-area as cost surface (from point) | renamed & extended | New "Iso-area method" (Euclidean Distance Transform / TIN Interpolation) and "Maximum off-graph travel cost" parameters. |
| Iso-Area as Interpolation (from layer) | Iso-area as cost surface (from layer) | renamed & extended | Same additions as the point variant. |
| Iso-Area as Contours (from point) (matplotlib) | Iso-area from point | merged | Both merged into one algorithm with "Iso-area type" (Polygons/Contours) and "Iso-area method" parameters. No matplotlib required. |
| Iso-Area as Polygons (from point) (matplotlib) | |||
| Iso-Area as Contours (from layer) (matplotlib) | Iso-area from layer | merged | Same merge as above, for the layer-based variants. |
| Iso-Area as Polygons (from layer) (matplotlib) | |||
| OD Matrix from Layers as Lines (m:n) | OD matrix from layers as lines (m:n) | renamed params | From/To-Point → Origin/Destination point. Entry cost method removed. |
| OD Matrix from Layers as Table (m:n) | OD matrix from layers as table (m:n) | renamed params | Same renames as the lines variant. |
| OD-Matrix from Points as CSV (n:n) | — | removed | Use "OD matrix from points as table (n:n)" and save the output as .csv. |
| OD-Matrix from Points as Lines (n:n) | OD matrix from points as lines (n:n) | renamed params | Entry cost method removed; matrix output type labels simplified to "Line"/"Route". |
| OD-Matrix from Points as Table (n:n) | OD matrix from points as table (n:n) | renamed params | Entry cost method removed. |