{"name": "02Route 3D - Multi-Criteria 3D Mobility Studio", "package_name": "zero2route3d", "version": "1.1.0", "experimental": false, "qgis_min": "3.28.0", "qgis_max": "4.99.0", "downloads": 204, "uploaded_by": null, "upload_datetime": "2026-10-14T06:24:16.087159", "changelog": "1.1.0 - Tools inside the dock:\n- All sixteen analysis tools now live in a new Tools tab of the 02Route 3D dock instead of the Processing Toolbox. Pick a group and a tool, fill its form, run it in the background with progress and cancel, and open the HTML or DXF it wrote.\n- The tools are pre-filled from the dock: Point A and B, the DEM, the road network, the building layer, the last route layer and the selected mobility profile.\n- The plugin no longer registers a Processing provider, so 02Route 3D tools are not available in the Graphical Modeler, batch dialog or processing.run().\n\n1.0.0 - Engineering and honesty:\n- Tested on QGIS 3.28, 3.34, 3.44 LTR and QGIS 4.2 (Qt6) in CI, including a check that every QGIS and Qt name the plugin uses exists in each version.\n- Fix: the MCDA Friction Surface crashed on QGIS 3.28 to 3.38 (it used a QGIS 3.40 enum).\n- The 3D viewer places the sun for a chosen date and solar time (same formula as the shade analysis): building and tree shadows follow it; at night the sun light switches off.\n- Download failures (Overpass, Open-Elevation), cancelling and projected CRSs are covered by tests; the viewer has unit, smoke and pixel-baseline tests.\n- Documentation no longer claims what the plugin does not do: the elevation download is Open-Elevation (SRTM-based, not Copernicus 30 m), the viewer opens in the browser, the Pareto heat objective needs a temperature raster.\n\n0.9.0 - Deeper analysis:\n- New algorithm Transit + Walk Route (GTFS): earliest-arrival journeys by public transport (RAPTOR) with walking legs routed on the street network; wheelchair users only get accessible stops and trips.\n- Turn costs at junctions for cars, vans, trucks, bikes, scooters, wheelchairs and strollers (left turns across traffic, sharp turns, U-turns; trucks cannot take hairpins); drive-on-left option.\n- Departure time: after dark walkers and cyclists avoid unlit streets and main roads without sidewalks; the heat weight follows the sun.\n- Isochrones follow the streets (land within a corridor of reachable streets) instead of a hull that covered blocks, rivers and rail lines.\n- Solar exposure computes real building shadows from a footprint layer with heights, for any day of the year.\n- Pareto routes prune with a lower bound for every objective (NAMOA*).\n- Fix: two points beside the same long street segment no longer fail to route.\n\n0.8.0 - A truthful 3D viewer:\n- Real terrain: heights sampled from the selected DEM around the routes (sampled in the background task); without a DEM the viewer says its surface is approximate.\n- Elevation chart with distance and height axes, coloured by slope; hovering it moves the walker in 3D and playback moves its cursor.\n- Other profiles are drawn as coloured ribbons, with a comparison table (distance, time, climb, max slope and differences).\n- Routes now sit on the terrain: the route ribbon was squashed to 12 percent of its height and sank under hills.\n- Renders only when something changes; trees instanced and buildings merged (about half the draw calls).\n- Basemap tiles placed correctly in Web Mercator, uploaded in batches, with a DEM hillshade when offline.\n- Live link to QGIS by server-sent events instead of polling every 1.5 s; unreadable route files and lost links are shown.\n- Keyboard control (Space, arrows, Home/End, R), visible focus, reduced motion, screen-reader labels.\n- Snapshot at 2x or 4x and video with a caption and the map credit; MP4 in Safari.\n- Fixes: route ends at 0 m without a DEM (false 400 percent slopes), chart values read at the wrong places, exaggeration not applied to the route, capture buttons hidden behind the bottom panel.\n\n0.7.0 - Faster routing:\n- A 50 x 50 OD matrix on a 10,000-edge network takes about 7 s instead of over a minute: one search per origin instead of one per pair.\n- Routes on the same network reuse the built graph and every evaluated edge cost (another profile, the OD matrix, a second click).\n- Tighter, still exact A* bound; edge costs and raster samples computed once per edge instead of on every visit; raster coordinate transforms built once per layer.\n- Snapping finds the nearest node per network component in one pass and now covers the full snap radius at high latitudes.\n- Pareto routes keep paths as parent pointers instead of copying them into every label.\n- Benchmark suite (1k/10k/100k edges) with a CI speed gate.\n\n0.6.0 - QGIS no longer freezes:\n- Route calculation, the OD matrix, OpenStreetMap downloads and the DEM download run in the background with progress and a cancel button in the QGIS task bar.\n- DEM download budget: large extents use a coarser grid (the real cell size is shown in the layer name) and ask before many requests or when a DEM layer is already selected.\n- Processing algorithms can be cancelled during the OpenStreetMap download.\n- The dock remembers profiles, weights and playback settings between sessions; layer choices are saved in the project.\n- Scenarios: save points, profiles, weights and results to a JSON file, load them later and compare the new routes with the saved run.\n\n0.5.0 - Correct routes for every profile:\n- Pedestrians may walk against one-way streets; cyclists only where oneway:bicycle=no; vehicles never.\n- Wheelchair and stroller routes never use slopes above 8.33 percent / 10 percent (previously only penalised).\n- Pareto routes: admissible time bound from each profile's real top speed, correct epsilon dominance, and a warning when the search is cut short.\n- Nodes without elevation take their neighbours' height instead of 0 m; DEM slopes are measured over at least 10 m, so DEM noise on short segments no longer blocks routes.\n- Vehicles respect posted speed limits (maxspeed) in cost and travel time.\n- GPS map matching: metric projection, nearest candidates and network distances between candidates.\n- Alternative routes penalise the primary route instead of forbidding it, so they also work across single bridges.\n- Overpass and Open-Elevation failures now show their real cause; the local viewer server no longer exposes the route to other web pages; QGIS 4 (Qt6) QAction import.\n\n0.4.1 - Repository moved to GitHub:\n- The repository and issue tracker are now on GitHub (github.com/YusufEminoglu/zero2route3d); the user manual stays at geophilo.com/zero2route3d.\n- Clearer plugin description.\n\n0.4.0 - Profile-Aware Routing & Network QA:\n- Added modal access filtering for pedestrians, bicycles and motor vehicles using OSM-style tags and road-class defaults.\n- Added Routing Network Readiness Audit as the fifteenth Processing algorithm.\n- Added bounded network snapping, route diagnostics, weak-component topology fixes, real convex-hull isochrone area, and projected-center CRS correction.\n\n0.3.0 - Official QGIS Hub Release & UX Urban Mobility Evolution:\n- Transitioned out of experimental status for official QGIS Plugin Hub publication.\n- Enhanced metadata, shortest path descriptions, and added formal research acknowledgment for Transform Transport inclusive mobility inspiration.\n\n0.2.9 - Full Map Extent DEM & -5m Relative Skirt Extrusion:\n- Query Open-Elevation DEM for the full map canvas extent and normalized Web 3D terrain skirts to scene minimum elevation with -5m base plinth.\n\n0.2.8 - Point A & Point B 3D Billboard Text Sizing:\n- Dynamically measured text width and scaled the pill textbox background and sprite aspect ratio so that \"Point A (Origin)\" and \"Point B (Destination)\" fit with comfortable margins.\n\n0.2.7 - Rollback to Verified Web Basemap Milestone:\n- Reverted Web 3D studio and codebase back to v0.2.1 basemap milestone while preserving updated transparent 3D diorama brand icons.\n\n0.2.1 - Web Basemap Coverage & Geolocator A/B Pin Enhancements:\n- Resolved Web 3D basemap tile cutoff by dynamically choosing optimal zoom levels and loading all bounding tiles without artificial truncation.\n- Added lettered A/B geolocator pins and billboard badges in WebGL 3D, and composite font marker symbology and halo labeling in QGIS.\n\n0.2.0 - Correctness and honesty release:\n- Removed fabricated data: the NDVI, LST and NDBI rasters labelled as\nCopernicus Sentinel-2 products were generated from a hash of the pixel\nindices and fed into the routing cost; the 3D studio displayed a\nbuilt-in demo route as if it were real; trees were placed\nprocedurally; four algorithms substituted a hard-coded line in Izmir\nwhen input geometry was missing.\n- Missing elevation, heat and greenery data are now reported as absent\ninstead of being replaced by 0.0, 0.5 and 0.4, which made a network\nwith no DEM look flat and fully barrier-free compliant.\n- Corrected the Minetti metabolic cost equation, which overstated\nwalking energy roughly fivefold.\n- Fixed field construction that raised TypeError on QGIS 4, so every\nalgorithm producing a layer failed there before writing a feature.\n- Added coordinate reprojection throughout: projected inputs were being\nconsumed as WGS84 degrees.\n- Fixed the isochrone profile list, which mapped Passenger Car to a\nmountain bike and left six profiles unreachable.\n- Fixed the accessibility, walkability, cost surface, DXF, HTML and\nsolar algorithms, each of which crashed, produced nothing, or scored\nagainst invented inputs.\n- The standalone HTML export rendered a blank page for every user.\n- Processing outputs now carry symbology, field aliases and metadata.\n- Closing the dock no longer deletes the route layers you just added.\n- Restored the complete GPL-2 licence text and corrected the documented\nalgorithm identifiers, 11 of which were wrong.\n\n0.1.0 - Initial release:\n- Interactive card-based QGIS Dock with adaptive dark/light styling.\n- 15 mobility profiles across pedestrian, micromobility and vehicle categories.\n- Multi-criteria raster cost surfaces (DEM, Slope, LST, Tree Canopy, Road Hierarchy).\n- Hardware-accelerated 3D WebGL studio (in the browser) with chase and drone cam, and elevation HUD.\n- 3D LineStringZ vector layer creation and GPX/GeoJSON export.\n- Native QGIS Processing provider with 14 headless algorithms.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/zero2route3d/version/1.1.0/download/"}