0.6.1 - 'Basin statistics' reported mean slope over the whole bounding box, with the ground outside the basin filled in as a flat plain. On a catchment filling 43 percent of its box that read 7 degrees where the basin's own slopes average 16. It now measures inside the basin only. - A failed delineation now says why, instead of reporting an AttributeError about a missing helper. - The check against the river network measures distance on the ground, so it no longer misses rivers inside its search radius at high latitude. - Needs basinkit 0.6.1, which also requires geopandas 1.0: on installs with an older geopandas the first delineation used to fail. 0.6.0 - Four new Processing algorithms. 'Terrain surfaces' computes slope, aspect, hillshade, curvature, topographic position, ruggedness, local relief, slope-position classes, flow accumulation, the channel network, the wetness index and height above nearest drainage, all from one elevation download rather than one per surface. 'Sub-catchments and their routing' returns the pieces a basin is assembled from, each carrying NEXT_DOWN, which is the routing graph a distributed model needs without inferring anything from geometry. 'Elevation data suitability' grades whether the elevation model can carry the terrain analysis at all. 'Basin report' writes eight A4 pages ready for a thesis or a manuscript. - The elevation data suitability grade is the one worth reading first. Five measurements against stated thresholds -- how much surface depression filling invented, how many slopes fall below the angle at which a gradient is only the model's own error, relief against that error, the largest level surface, and cells with no elevation -- combined into HIGH, MODERATE or LIMITED with a per-cell map of which ground the answer rests on. Tested on 133 gauges against an independently produced elevation model: where it says HIGH the two models agree about the slope field at r = 0.94, where it says LIMITED at r = 0.76. - A twelve-metre delineation backend. 'tdx' walks a reach-level graph built from TanDEM-X, one catchment per stream reach instead of one per 130 square kilometre unit. On 360 gauges between 100 and 500 square kilometres it cut the median area error from 32.5 percent to 10.5 percent and was the better answer on two thirds of them. It is never chosen automatically because TDX-Hydro is CC BY-SA, and ShareAlike travels into anything derived from it and redistributed. - Cell size is taken per row from that row's latitude everywhere in the terrain code. Dividing by one assumed width reports a basin at 60 degrees north as about twice as steep as it is. 0.5.0 - Compatibility across the full supported QGIS range. The provider now resolves the Processing source-type enum by asking the API for it, so it loads identically on QGIS 3.28 through 4.x. QGIS 3.34, the current long-term release, is covered by a continuous integration job that installs QGIS and loads every algorithm. - Accuracy is now reported by catchment size, from blind validation against 2,550 gauges in 99 countries whose catchment areas are published by the agencies that operate them: 0.3 percent median error above 100,000 square kilometres, 1.3 percent from 10,000 to 100,000, 1.7 percent from 2,000 to 10,000. Below about 2,000 square kilometres the 'dem' backend is the better instrument, and the plugin now says so at the moment it matters. - Every answer is checked against the river network. When the basin exceeds twice the area draining to the largest river within two kilometres of the outlet, the plugin reports it: 85 percent of the outlets it flags need attention, and it stays quiet on 97 percent of the ones that do not. Precision runs from 75 percent in Europe to 93 percent in Africa. - The 'auto' backend refines on the elevation model when the river network and a 30 metre routing of the same point agree on a smaller catchment. Across 300 gauges drawn after the method was fixed and used nowhere else in its design, it improved 19 results, left 279 unchanged and reduced none. Where it acts, the median error falls from 1,731 percent to 4.3 percent, at a median cost of 1.6 seconds. - Refinement acts only when the river it is judging by lies within a kilometre of the outlet. Beyond that distance the point is not on that river, so the two sources stop being independent. Every refinement that improved a result had its river within 0.91 kilometres. - The plugin now names what kind of place the outlet is in. An endorheic system, a coastal strip draining straight to the ocean, and an outlet with nothing draining into it are each reported, the last being what a lake surface and a sub-grid headwater have in common. - Messages are matched to the cause and say what to do next: a coordinate outside the network's coverage, one beyond the snap distance, and one on a hillslope rather than in a channel each get their own guidance. - The consistency line now compares the result against the river network rather than against the source dataset's own upstream-area field, which confirms the traversal rather than the choice of outlet. - The river-network check is a checkbox, on by default, and is the only thing that downloads the regional rivers file. - Against pysheds and WhiteboxTools on identical 30 metre rasters across 59 catchments under 2,000 square kilometres, the 'dem' backend returned a basin for every one, matched the agency figure within 20 percent on 68 percent of them against 56 and 51, and had the lowest median error. - Requires basinkit 0.5 or newer. 0.4.0 - New algorithm: Basin morphometry. The full Horton-Strahler-Schumm set from one run, with the per-order table showing Strahler streams and dataset reaches side by side, and the counts tested against what Strahler ordering allows. A bifurcation ratio below 2 and more than one stream of the basin's highest order are both impossible, and are now reported instead of being handed back as numbers to interpret. Until now morphometry was in the Python package but not reachable from QGIS. - The plugin description leads with the data package rather than with "delineate". QGIS already has several delineation plugins, and the old wording put this one in that queue while morphometry, which is the part with no equivalent elsewhere, went unmentioned. - Requires basinkit 0.4 or newer. 0.3.3 - Pairs with basinkit 0.3.3, which corrects channel_gradient_m_per_km. Up to 0.3.0 it divided total basin relief by main channel length, which reports a fall the river never makes, because the highest point in a basin is a ridge top and not the head of the main stem. It is now read from the bed: the DEM is sampled along the main channel and the drop between its ends is divided by the channel length. On the Koshi that is 9.6 m/km, not 15.1. The Basin statistics algorithm never reported this figure, so nothing in the plugin's own output changes; it matters if you called morphometry() from the Python Console or a script, where the old value should be recomputed. - Basin.morphometry() now checks its own stream counts. Two of the checks are impossibilities rather than oddities: an order-u+1 stream is formed where two order-u streams meet, so N(u) >= 2*N(u+1) and the bifurcation ratio can never fall below 2, and a basin with one outlet has exactly one stream of its highest order. Counts that break either are reported rather than returned as numbers. - The plugin description now says plainly what this does that a delineate-from-a-click plugin offers, rather than leaving a reader to work it out. 0.3.2 - Declares its pip dependency in the external_deps metadata field, so it shows in the External dependencies box on the plugin page. 0.3.1 - Fixed 16 Qt6 compatibility issues found by the plugin repository's own checker: every Qt and QGIS enum is now spelled with its full scope (QgsWkbTypes.Type.Polygon rather than QgsWkbTypes.Polygon, and so on). The scoped spelling works on both PyQt5 and PyQt6, so QGIS 3.28 onwards and QGIS 4 are both covered by one code path, with no version guard. - A test now scans the plugin for unscoped enums, so they cannot come back. 0.3.0 The plugin version now tracks the basinkit package version, so it is clear which plugin goes with which package. No algorithm has changed since 0.1.0. - Fixed: on macOS the "package missing" notice printed the QGIS application binary instead of an interpreter, so the suggested pip command opened a second QGIS window and installed nothing. A path is now offered only once it is verified to be a python executable, and there is a Python Console snippet that needs no path at all - New icon: the b is drawn as a river basin with a dendritic stream network draining to a single outlet - Pairs with basinkit 0.3.0, which adds Basin.morphometry() -- the classical Horton-Strahler-Schumm parameters -- to the Python API 0.1.0 First release. - Delineate a basin from a canvas click, globally, via HydroBASINS graph traversal or DEM flow routing - Fetch DEM, land cover, soil, surface water, rivers and lakes clipped to the basin - Basin statistics: area, relief, mean slope, land cover fractions, bounding-box efficiency - Every algorithm runs in the Processing framework, so batch mode and the Model Builder work
yes
Praddy-GByte
2026-09-21T13:50:50.448489+00:00
3.28.0
4.99.0
None
no
Plugin Tags