{"name": "PlanX", "package_name": "planx", "version": "4.9.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 177, "uploaded_by": "geo140195philo", "upload_datetime": "2026-07-11T10:48:00.723453", "changelog": "## [4.9.0] - 2026-07-11\r\n\r\nNetwork Routing UX & Walking Comfort additions.\r\n\r\n### Added\r\n- **OD Routes (Shortest Paths) algorithm** (`planx:odroutes` / `algorithms/alg_od_routes.py`): computes network shortest paths between origins and destinations, supporting `K_NEAREST` filtering, cost limits (`CUTOFF`), real street route paths (`OUT_ROUTES`), and straight desire lines (`OUT_LINES`).\r\n- **Walking Slope Comfort algorithm** (`planx:walkingslope` / `algorithms/alg_walking_slope.py`): profiles street segments against a DEM, interpolating elevation samples along the geometry, and calculates length-weighted grades, climb/descent, Tobler forward/reverse speeds and travel times, and slope comfort classes.\r\n- **Street Environment Comfort algorithm** (`planx:streetcomfort` / `algorithms/alg_street_comfort.py`): scores streets 0-100 based on positive assets and negative barriers point layers using spatial index search and distance kernel weights (uniform, triangular, epanechnikov, gaussian) plus raster factors, combined into a weighted comfort index.\r\n- **Prepare Network option `TARGET_CRS`** (`alg_prepare_network.py`): reprojects geometries to a target CRS while keeping length measurements in source-CRS meters.\r\n- **Prepare Network option `CREATE_INDEX`** (`alg_prepare_network.py`): creates a spatial index on the output layer.\r\n- **Nearest Facility route geometry output `ROUTES`** (`alg_nearest_facility.py`): outputs travel path geometries for allocated demand using Dijkstra predecessor tree tracking.\r\n- **Dijkstra predecessor tracking `multi_source_tree` & `path_to_root`** (`engine/paths.py`): tracks predecessors to reconstruct shortest path routes.\r\n- **Walking comfort engine** (`engine/comfort.py`): pure numpy math for Tobler speeds, profile times, grades, kernel weights, segment density, and multi-component index combining.\r\n- **Three new tool icons**: `tool_odroutes.png`, `tool_walkingslope.png`, `tool_streetcomfort.png`.\r\n\r\n### Tested\r\n- 503 engine unit checks (46 new checks for predecessor tracking, Tobler speeds, grades, kernel weights, and comfort combining), passing on both QGIS runners.\r\n- 448 real-QGIS e2e assertions on QGIS 3 LTR and QGIS 4, 0 failures on each (new blocks verify preparenetwork CRS and index, nearestfacility routes, odroutes vs odmatrix cost equality, walkingslope, and streetcomfort).\r\n- 26 dashboard check assertions on both QGIS runners.\r\n- Import check: 68 algorithms in 19 groups register cleanly on QGIS 3 LTR and QGIS 4.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/planx/version/4.9.0/download/"}