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 embedded WebGL animation. From wheelchair-accessible paths to emergency evacuation — every route respects slope, heat, energy, and human limits.

0
Mobility Profiles
0
Processing Algorithms
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 · Dokuz Eylül University
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 Dokuz Eylül University, Department of City and Regional Planning, it brings academic rigor directly into the QGIS Processing framework. The plugin operates completely headless for batch modeler workflows, while offering a embedded 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 copernicus 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 dimensions simultaneously: travel time, cumulative climb, heat exposure, 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

An embedded Three.js cockpit directly within QGIS. Features chase/orbit cameras, procedural avatars, GLSL heat ribbons, solar simulation, 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}})$$

Calculates exact microclimate exposure on the street network by considering DEM aspect, slope, and solar azimuth/altitude at a specific time of day.

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
Processing Algorithms

15 headless algorithms, fully scriptable

Integrate 02Route 3D deeply into your QGIS Graphical Modeler workflows, Python scripts, and automated batch processing pipelines.

Algorithm Name Processing ID 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 Calculates solar position and route exposure from latitude, time, and the algorithm's explicit density factor. 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 data, Three.js, and GLSL shaders 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)

🌡️

GLSL Heat Stress Ribbon

🚶

Procedural Kinematic Avatars

☀️

Route Snap & Search Diagnostics

🗻

Geological Terrain Slicer

🎙️

Voice Navigation Audio Cues

📸

Media Capture (PNG, WebM 60fps)

📈

Live Elevation HUD Tracker

QGIS Layers

Vector Networks & Raster DEMs

02Route 3D Core Engine

Pure-Python Topological Graph & Kinematics

Processing Provider

15 Headless Algorithms

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 Ground-Truth Copernicus DEM & OpenStreetMap Data

2026-08-24
  • ⛰️ Authentic Topography: Grounded all elevations in real Copernicus DEM and Open-Elevation data with strict NoData handling.

v0.1.0 Initial Release

2026-08-22
  • ✨ Added 15 specialized mobility profiles (Pedestrian, Micromobility, Vehicle, Emergency)
  • ✨ Integrated 15 headless QGIS Processing algorithms with modeler support
  • ✨ Launched embedded 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