QGIS Plugin · Multi-Criteria 3D Mobility

Routes that understand
terrain, body & climate

Multi-profile 3D route planning with biomechanical kinematics, raster resistance surfaces, Pareto optimization, and WebGL 3D animation in the browser. From wheelchair-accessible paths to emergency evacuation — every route respects slope, heat, energy, and human limits.

0
Mobility Profiles
0
Analysis Tools
0 FPS
WebGL Studio
0 D
Pareto Objectives
✔ QGIS 3.28+ LTR ✔ QGIS 4.x / Qt6 ✔ 3D Network Routing ✔ WebGL Studio ✔ Zero Pip Dependencies ✔ GPL-2.0-or-later 👤 Yusuf Eminoğlu · GEOPHILO
About

3D mobility intelligence for every traveler

02Route 3D bridges topological network analysis with physical terrain realities and urban microclimates. Traditional GIS shortest-path engines treat cities as flat planes, overlooking the punishing physiological impact of steep grades, extreme urban heat, and barrier-rich environments.

Developed with research from GEOPHILO, it brings academic rigor directly into QGIS. All sixteen analysis tools run from a docked Tools tab, while the plugin also offers a browser-based Three.js WebGL studio for an interactive 3D cockpit view, gait animation, and instant scorecards.

Keywords & Concepts
routing 3d network analysis mobility accessibility walkability least cost path threejs webgl elevation slope tobler kinematics minetti pareto mcda ahp isochrone service area catchment e2sfca spatial equity wheelchair ada compliance evacuation hazard routing solar shadow microclimate map matching gps gpx dxf cad micromobility bicycle e-scooter od matrix open-elevation dem urban analytics zero2
Plugin Metadata
  • Plugin ID zero2route3d
  • Version 0.1.0
  • Category Analysis / Network
  • License GPL-2.0-or-later
  • QGIS Compatibility 3.28 — 4.99
  • Dependencies Zero pip deps (Pure QGIS)
Capabilities

A comprehensive spatial mobility suite

Combining traditional shortest-path algorithms with advanced physiological, vehicular, and environmental microclimate modeling.

🏃

Biomechanical Kinematics

Implements Tobler's hiking function, Minetti metabolic energy calculation, senior fatigue decay, and aerodynamic drag. Routes dynamically adjust travel speed based on slope and human physical limits.

🗺️

Multi-Criteria Cost Surfaces

Constructs AHP-weighted raster impedances combining DEM slope, Land Surface Temperature (LST), NDVI greenery, solar irradiance, and road hierarchy into a unified friction map.

🎯

Pareto Frontier Routing

Utilizes NAMOA* multi-objective optimization to explore trade-offs across 4 objectives simultaneously: travel time, cumulative climb, heat exposure (with a land surface temperature raster), and metabolic energy expenditure.

♿

Universal Accessibility

15 predefined mobility profiles from wheelchair users (strictly ADA 5% max slope) to emergency paramedics. Includes penalties for stairs, surface smoothness, and barrier-free pathfinding.

🌐

WebGL Studio

A Three.js cockpit opened from QGIS in the browser and kept in sync by a local server. Features chase/orbit cameras, procedural avatars, heat ribbons, sun and building shadows for any date and solar time, and sub-surface terrain slicing.

📍

E2SFCA Equity Analysis

Enhanced Two-Step Floating Catchment Area methods with Gaussian decay. Computes Gini coefficients, Lorenz curves, and Palma ratios for advanced spatial justice scoring.

🗣️

Voice Navigation

Web Speech API integration for turn-by-turn audio cues in the 3D studio, complete with gradient warnings, step-by-step guidance, and exportable CSV/HTML cue sheets.

📊

OD Matrix & Isochrones

Generate N×M origin-destination 3D cost matrices and multi-tier service area catchment polygons using a highly optimized wavefront Dijkstra algorithm.

🔄

Multi-Format Export

Outputs to LineStringZ GeoPackage, GPX 1.1, GeoJSON 3D, AutoCAD DXF R12, analytical HTML scorecards, and completely standalone offline 3D HTML visualizations.

Scientific Foundations

Built on peer-reviewed biomechanics and spatial science

02Route 3D avoids arbitrary penalties, utilizing established mathematical models to dictate traversal costs and environmental resistance.

Tobler's Hiking Function

Tobler, W. (1993). "Three Presentations on Geographical Analysis and Modeling", NCGIA Tech Report 93-1.
$$W(s) = 6.0 \cdot \exp\left(-3.5 \cdot |s + 0.05|\right) \cdot \frac{v_{\text{base}}}{5.0} \quad [\text{km/h}]$$

Empirical model predicting maximum walking speed occurs at a slight downhill grade (-5%). The exponential decay severely penalizes steep slopes, mirroring human physiological limits.

Minetti Metabolic Cost

Minetti, A.E. et al. (2002). "Energy cost of walking and running at extreme uphill and downhill slopes", J. Applied Physiology.
$$C_w(s) = 280.5s^5 - 58.7s^4 - 228.1s^3 - 10.3s^2 + 233.5s + 2.155 \quad [\text{J}/(\text{kg}\cdot\text{m})]$$
$$E_{\text{kcal}} = \frac{C_w(s) \cdot m_{\text{kg}} \cdot d_{\text{m}}}{4184.0}$$

A 5th-order polynomial estimating the metabolic energy required per kilogram per meter traveled, effectively quantifying physical exhaustion along a 3D route.

Keys' Bicubic Spline (Terrain Interpolation)

Keys, R.G. (1981). "Cubic convolution interpolation for digital image processing", IEEE Trans. ASSP.
$$W(x) = \begin{cases} (a+2)|x|^3 - (a+3)|x|^2 + 1 & |x| \le 1 \\ a|x|^3 - 5a|x|^2 + 8a|x| - 4a & 1 < |x| < 2 \\ 0 & \text{otherwise} \end{cases}$$

Using $a = -0.5$ (Catmull-Rom formulation) guarantees C¹-continuous elevation profiles when sampling discrete DEM rasters, eliminating artificial jaggedness and terrace artifacts.

AHP Saaty Consistency Ratio

Saaty, T.L. (1980). "The Analytic Hierarchy Process", McGraw-Hill.
$$CR = \frac{CI}{RI} = \frac{(\lambda_{\max} - n) / (n-1)}{RI(n)} \le 0.10$$

Validates the multi-criteria pairwise comparison matrix across slope, heat, greenery, and hierarchy to guarantee mathematical consistency.

E2SFCA Gaussian Spatial Decay

Luo, W. & Qi, Y. (2009). "An enhanced two-step floating catchment area method", Health & Place.
$$f(d) = \frac{\exp\left(-\frac{1}{2}(d/d_0)^2\right) - \exp(-0.5)}{1 - \exp(-0.5)}$$

Models the continuous distance decay of accessibility to services, discounting spatial equity based on the friction of 3D traversal rather than simple Euclidean distance.

Solar Incidence Angle & Microclimate

Astronomical solar vector & topographic aspect geometry.
$$\cos(\theta_{\text{inc}}) = \sin(\alpha_{\text{sun}})\cos(\beta) + \cos(\alpha_{\text{sun}})\sin(\beta)\cos(\gamma_{\text{sun}} - \gamma_{\text{aspect}})$$

Computes the sun position for a day of year and solar time, then tests every 5 m of the route for building shadow with a ray toward the sun (footprints and heights from a building layer). Without buildings it falls back to a street-orientation estimate; terrain shadows are not computed.

HMM 3D GPS Map Matching

Newson, P. & Krumm, J. (2009). "Hidden Markov Map Matching...", ACM SIGSPATIAL.
$$p(z_t | r_i) = \frac{1}{\sqrt{2\pi}\sigma_z} \exp\left(-\frac{1}{2}\left(\frac{\|z_t - x_{t,i}\|}{\sigma_z}\right)^2\right)$$

Emission and transition probabilities with Viterbi trellis decoding for snapping noisy GPX traces to the 3D network with elevation continuity.

Vehicular & Micromobility Dynamics

Mechanical resistance & aerodynamic power equations.
$$P_{\text{total}} = \frac{1}{2} \rho C_d A v^3 + C_{rr} m g \cos(\theta) v + m g \sin(\theta) v$$

Determines power requirements and battery drain for e-bikes and scooters, factoring in air density, drag coefficients, surface friction, and gravity components.

Interactive Lab · MCDA Cost Surface

Multi-Criteria Impedance & Dynamic Re-Routing

Adjust the analytical weights below to see how the AHP friction surface recalculates in real-time. Watch the least-cost path dynamically bend around steep mountain ridges and extreme urban heat islands!

🏔 Slope & Elevation Incline Weight ($w_{\text{slope}}$) 0.45
☀️ Heat Island & LST Friction ($w_{\text{heat}}$) 0.30
🌳 NDVI Greenery Attraction ($w_{\text{green}}$) 0.15
🛣 Road Hierarchy & Infrastructure ($w_{\text{road}}$) 0.10
Saaty Consistency Ratio ($CR$) CR = 0.042 (Consistent)
Path Length: 4.32 km
Max Grade: 7.4 %
Heat Exposure: Low
Travel Time: 48 min
🔴 Start Point A  |  🟢 Destination B  |  ⚡ Live 3D Spline
Interactive Lab · NAMOA* Multi-Objective

4D Pareto Frontier & Archetype Compromise

Click on any non-dominated Pareto archetype below to inspect its multi-dimensional trade-offs between duration, climb, heat dose, and metabolic calories.

🌟 Compromise (Utopia Knee Point)

The optimal multi-objective compromise that minimizes Euclidean distance to the theoretical Utopia point across all 4 criteria.

⏱ Duration 44.5 min
⛰ Elevation Climb Gain 68 m
☀️ Thermal Heat Dose 28.4 °C Avg
🔥 Minetti Metabolic Energy 215 kcal
Interactive Lab · Anisotropic 3D Catchments

Wavefront Isochrone Propagation & Topographic Warping

Click or drag anywhere on the canvas to relocate the source facility. Observe how the 5-min, 10-min, and 15-min temporal catchments contract uphill and expand along flat river valleys based on Tobler's function.

🔵 5 min  |  🟢 10 min  |  🟡 15 min  |  🖱 Click to Move Facility

📊 Real-Time Catchment Scorecard

Anisotropic Dijkstra wavefront expansion factoring in 3D slope resistances and physical speed decays.

🔵 5-Minute Catchment 1.42 km² (3,200 Pop)
🟢 10-Minute Catchment 4.85 km² (11,400 Pop)
🟡 15-Minute Catchment 9.60 km² (24,800 Pop)
ℹ️ In flat terrain, isochrones form concentric circles. In complex 3D topography, steep gradients compress the catchment radius by up to 70%, reflecting real human travel limits.
Mobility Profiles

15 profiles, one routing engine

From a child's safe walk to an emergency paramedic's fastest response — click any profile to switch the live avatar rig & physics equations on the Hero canvas!

Key Name Category Speed Max Slope Stairs Stair Penalty Smoothness Req
adult Standard Adult Pedestrian 5.0 km/h 25.0% ✔ Allowed 1.2× 0.2
senior Senior / Elderly Pedestrian 3.2 km/h 10.0% ✔ Allowed 8.0× 0.6
child Child / Safe Walk Pedestrian 3.5 km/h 12.0% ✔ Allowed 2.0× 0.4
stroller Stroller / Pram Pedestrian 4.0 km/h 6.0% ✗ Blocked 100.0× 0.8
wheelchair Wheelchair (ADA) Pedestrian 3.8 km/h 5.0% ✗ Blocked 1000.0× 0.9
jogger Runner / Jogger Pedestrian 9.5 km/h 20.0% ✔ Allowed 1.5× 0.3
sightseer Scenic / Panoramic Pedestrian 4.2 km/h 20.0% ✔ Allowed 1.0× 0.3
night_walk Illuminated Night Pedestrian 4.8 km/h 15.0% ✔ Allowed 3.0× 0.7
bicycle Commuter Bike Micromobility 18.0 km/h 15.0% ✗ Blocked 50.0× 0.6
mtb Mountain Bike Micromobility 16.0 km/h 28.0% ✔ Allowed 5.0× 0.1
scooter E-Scooter Micromobility 20.0 km/h 12.0% ✗ Blocked 100.0× 0.85
car Passenger Car Vehicle 50.0 km/h 25.0% ✗ Blocked 1000.0× 0.5
delivery_van Delivery Van Vehicle 42.0 km/h 18.0% ✗ Blocked 1000.0× 0.6
truck Heavy Freight Vehicle 40.0 km/h 7.0% ✗ Blocked 1000.0× 0.7
paramedic Emergency / EMS Vehicle 65.0 km/h 22.0% ✗ Blocked 1000.0× 0.4
Analysis Tools

16 analysis tools, one docked Tools tab

Pick a tool in the dock, fill its form, run it in the background and open the result. Points, DEM, road network and buildings are filled in from the dock.

Tool Tool key Description Tags
3D Least-Cost Route zero2route3d:compute_3d_route Calculates single-source shortest path using 3D node elevations (outputs LineStringZ). Routing 3D
3D Isochrones (Catchments) zero2route3d:generate_3d_isochrone Generates multi-tier temporal/metabolic catchments via wavefront Dijkstra. Catchment Polygon
E2SFCA Spatial Accessibility zero2route3d:accessibility_equity_scorecard Calculates spatial equity scores, Gini coefficient, and Palma ratio for amenity justice. Equity Justice
Multi-Criteria Cost Surface zero2route3d:mcda_cost_surface Combines raster layers into a normalized friction/impedance surface using AHP weights. Raster AHP
NAMOA* Pareto Frontier Routes zero2route3d:pareto_3d_routes Yields multiple non-dominated routes trading off time, climb, heat dose, and calories. Pareto Multi-Obj
GPS 3D Map Matching (HMM) zero2route3d:map_match_3d_track Snaps noisy GPX tracks to the 3D road graph via Hidden Markov Models and Viterbi. GPX HMM
ADA Walkability Audit zero2route3d:walkability_3d_audit Validates pedestrian paths against strict ADA cross-slope and gradient thresholds. Audit ADA
Hazard Evacuation Routing zero2route3d:emergency_evacuation_3d Routes from an origin to the fastest reachable supplied muster point across the real network. Hazard Emergency
Sun / Shade Solar Exposure zero2route3d:solar_shade_exposure Sun position for a date and solar time; shadow along the route from a building layer (ray test every 5 m), or a street-orientation estimate without one. Climate Solar
Batch 3D Routing zero2route3d:batch_3d_routes Calculates least-cost 3D paths for many origin-destination point pairs, paired in feature order. Batch Vector
Origin-Destination Matrix (3D) zero2route3d:od_matrix_3d Computes N×M distances, durations, and calorie matrices across the 3D network. Matrix OD
Analytical Report Generator zero2route3d:generate_route_report_html Generates a publication-grade HTML audit scorecard with embedded SVG elevation profiles. Report HTML
Export Route to AutoCAD DXF zero2route3d:export_3d_route_dxf Exports 3D Polyline (AC1009) and longitudinal elevation profile drawing directly to DXF. CAD DXF
Export Standalone 3D HTML zero2route3d:export_3d_html_report Bundles the route data, Three.js and the viewer into a self-contained offline 3D viewer. Export WebGL
Routing Network Readiness Audit zero2route3d:audit_routing_network Annotates modal access, surface quality, one-way status, and topology components before routing. Network QA Access
WebGL 3D Studio

hardware-accelerated 3D cockpit

Powered by Three.js, directly integrated inside the QGIS interface. Analyze routes visually without leaving your workspace.

🎥

4 Camera Modes (Orbit, Chase, POV, Tour)

🌡️

Heat Stress Ribbon

🚶

Procedural Kinematic Avatars

☀️

Route Snap & Search Diagnostics

🗻

Geological Terrain Slicer

🎙️

Voice Navigation Audio Cues

📸

Media Capture (PNG, WebM / MP4 30 fps)

📈

Live Elevation HUD Tracker

QGIS Layers

Vector Networks & Raster DEMs

02Route 3D Core Engine

Pure-Python Topological Graph & Kinematics

Analysis Tools

16 Tools in the Dock

GUI Dock Panel

Interactive Map Tools & Canvas Animator

WebGL Studio

Three.js Engine

Interoperability

Universal Data Portability

Seamlessly export analytical outputs to GIS, CAD, BIM, and web environments.

🗺️

LineStringZ GeoPackage

Native 3D vector layer with rich climb & energy attributes.

📍

GPX 1.1 with Elevation

Standard GPS track file with elevation & slope extensions.

🌐

GeoJSON 3D

Web-ready [lon, lat, ele] coordinate arrays for Leaflet/Mapbox.

📦

Standalone 3D HTML

Self-contained single-file offline WebGL bundle with shaders.

📐

AutoCAD DXF (R12)

3D Polyline + longitudinal elevation profile model space drawing.

📋

CSV / HTML Cue Sheets

Turn-by-turn navigation instructions with gradient warnings.

📊

Analytical Scorecards

Publication-ready HTML audit with embedded SVG profiles.

Get Started

Getting Started

Compatible with QGIS 3.28+ across Windows, macOS, and Linux with zero external pip dependencies.

01

Plugin Manager (Recommended)

Download the release ZIP, then in QGIS go to Plugins > Manage and Install Plugins > Install from ZIP. The plugin is not yet published on the QGIS Plugin Hub.

zero2route3d
02

Install from ZIP

Download the latest release ZIP from the repository and install via QGIS Plugin Manager's "Install from ZIP" tab.

Download Release ZIP ↗
03

Development Install

Clone the repository directly into your active QGIS plugin folder for real-time development.

git clone https://github.com/YusufEminoglu/zero2route3d.git
Open in QGIS Plugin Hub ⇓
Literature & Citations

Standing on the shoulders of giants

Peer-reviewed theoretical foundations underpinning 02Route 3D algorithms.

Changelog

Release History

v0.4.0 Profile-Aware Routing & Network QA

2026-09-05
  • Added modal access enforcement shared by A*, Pareto, isochrone, batch, OD, and evacuation workflows.
  • Added a profile-aware Routing Network Readiness Audit with categorized map output.
  • Added bounded snapping and route diagnostics; fixed one-way components, parallel edges, projected isochrone origins, and measured hull areas.

v0.2.9 Full Extent DEM & -5m Diorama Skirt

2026-08-25
  • ✨ Full Map Extent DEM: Queries Open-Elevation DEM for the complete active QGIS map canvas extent without corridor clipping, loading a continuous GeoTIFF DEM.
  • ✨ -5m Diorama Skirt Plinth: Normalized 3D WebGL terrain and diorama skirts to the scene's minimum elevation ($\min(\text{ele}) - 5.0\text{m}$), preventing monolithic blocks in high-altitude settlements.

v0.2.8 Auto-Fitting 3D Billboard Text Sizing

2026-08-25
  • ✨ Dynamic Billboard Badges: Auto-measured text widths and dynamically scaled camera-facing pill background sprites for Point A (Origin) and Point B (Destination).

v0.2.7 Edge-to-Edge Transparent 3D Diorama Brand Icon

2026-08-25
  • 🎨 Brand Identity: Designed full-bleed, transparent-background 3D topographic diorama plugin icons for QGIS Hub and UI toolbars.

v0.2.1 Dynamic Web Basemap & Geolocator Map Pins

2026-08-25
  • 🗺️ Full Bounding Basemap: Resolved basemap tile cutoff across large model extents by dynamically calculating Slippy tile grids.
  • 📍 Dual A/B Geolocator Markers: Added lettered pin markers in WebGL 3D and composite font marker symbology with halo labeling in QGIS.

v0.2.0 Real Elevation (Open-Elevation) & OpenStreetMap Data

2026-08-24
  • ⛰️ Authentic Topography: Grounded all elevations in Open-Elevation (SRTM-based) samples or a local DEM, with strict NoData handling. (This entry used to name Copernicus DEM, which the plugin never downloaded.)

v0.1.0 Initial Release

2026-08-22
  • ✨ Added 15 specialized mobility profiles (Pedestrian, Micromobility, Vehicle, Emergency)
  • ✨ Added 15 analysis algorithms (now 16 tools, run from the dock's Tools tab)
  • ✨ Launched the browser-based Three.js WebGL studio with chase/POV/orbit cameras
  • ✨ Implemented Tobler hiking velocity and Minetti 5th-order polynomial metabolic expenditure
  • ✨ Added Keys' 16-point bicubic convolution spline with analytical C¹ slope/aspect derivatives
  • ✨ Implemented NAMOA* 4D Pareto frontier multi-objective optimization
  • ✨ Added E2SFCA spatial accessibility justice scorecard with Gini/Theil/Palma indices
  • ✨ Added HMM GPS map matching with Viterbi trellis dynamic programming
  • ✨ Added AutoCAD DXF 3D Polyline and longitudinal profile drawing exporter