mirror of
https://codeberg.org/comaps/comaps.git
synced 2026-04-19 06:22:17 +00:00
Page:
Router
Pages
Android dependencies management
App Size Overview
Benchmark
Cherry-picking
Community tools & MWM Ecosystem
Design Principles
Features Disparity
Glossary
Icons
Major expected features and code refactoring
Most Asked Features
OS and app distributions Support
Production maps generation
Regional Transport Icons Ⓜ️
Release process
Router
Skill Matrix
Social Proof - What they say about us [recognitions, certificates, audits, spotlights, recommendations]
Special Thanks
Speed Camera behaviour per apps (bench marking)
Translations Status
Under the Hood ⚙️
No results
9
Router
patepelo edited this page 2026-01-17 19:50:28 +01:00
About
- CoMaps router is homegrown, so no 3rd parties.
- It runs offline only within downloaded areas, except it uses the world map for big routes and ferries.
Something is not working?
- It could be you used
carforwalking, or something like that? - It could be the OSM data - Verify that other routers in www.openstreetmap.org work, try: GraphHopper, OSMR, Valhalla.
- If they perform similar, then it may be the OSM data, some restriction is missing or a road may not be connected. This is something a OSM volunteer may know. Feel free to report to us and/or the OSM community.
- They perform too different than CoMaps, please:
- Open an issue here.
- Send us the routing from / to, preferrably in OSM equivalent like this example.
- Make sure to specify the desired transport method and details.
- Feel like keeping the route private, email us.
- Open an issue here.
Supported routing modes
- Pedestrian
- Bicycle
- Car
- Subway
Wish routing options
- Wheelchair
- Motorcycle
- Custom weight, size, limitations
- River
Code location
libs/routing
libs/routing_common
generator (multiple files)
Penalties in seconds per type
| Type | Pedestrian | Bicycle | Car | Tran | Includes |
|---|---|---|---|---|---|
| SmallCalming | 0 | 0 | 3 | 0 | traffic_calming:rumble_strip, island |
| MediumCalming | 0 | 0 | 5 | 0 | traffic_calming:cushion, chicane, choker, table |
| LargeCalming | 0 | 0 | 7 | 0 | traffic_calming:bumb, hump crossing:unmarked |
| Gate | 10 | 10 | 30 | 0 | barrier: gate, lift_gate, swing_gate, toll_booth |
| UncontrolledJunction | 0 | 10 | 5 | 0 | highway=stop, give_way crossing=uncontrolled, marked |
| ControlledJunction | 0 | 15 | 10 | 0 | highway=traffic_signals railway=crossing, level_crossing |
Specific code location: libs/routing/road_penalty.hpp and generator/road_penalty_generator.cpp
Restrictions
Includes some restrictions like:
access=
private
agricultural
designated
no
yes
Routing options
- Avoid tolls
- Avoid unpaved roads
- Avoid ferries
- Avoid freeways
- Avoid stairs
Conditional Routing
CoMaps has introduced a routing based on conditional restrictions
It includes:
- Basic time schedule condionals like:
access:conditional=yes@23:00-05:00 - It applies only to ways but not yet to nodes. Currently there are nodes with this tags that get closed 24/7.
It doesn't include yet:
- Complex time schedule conditionals like :
access:conditional=yes @ Dec 25