apm-wa
(Allan Mustard)
November 7, 2025, 1:57am
1
Very interesting article on mapping of ancient Roman roads. Not a call to action! I am merely sharing something of general cartographic interest.
6 Likes
The article is about itiner-e , for those who want to hit the road right away. There’s some prior art in Stanford ORBIS , OmnesViae , and Viabundus . It’s exciting to see so much interest in adding the time dimension to transportation. These are all academic-oriented projects, which leave us craft mappers with a bit of FOMO . For those of us who never met a map we didn’t want to edit ourselves, OSM includes some fragmented coverage of extant Roman roads , while OHM has rapidly growing coverage of roads regardless of time period . So consider this a call to action!
Using QLever, you can easily compute the maximum territorial extent of the Roman Empire , then get all the roads known to exist at that point in time, 32 488 kilometers in all (20,187 mi. ). By (an unfair) comparison, OSM has only 2 730 kilometers of explicitly tagged Roman roads (1,696½ mi. ).
OHM doesn’t have a routing engine set up yet, but @SK53 experimented with the idea more than a decade ago. These days, it seems to be much more technically feasible, in case anyone reading this has a bit of spare time to help us build a new service that might find an audience after all:
opened 07:33AM - 14 Feb 24 UTC
help wanted
routing
The main OHM website should integrate a routing service that calculates routes o… ver the historical road network in OHM.
## Background
openstreetmap-website integrates with several routing services to help mappers visualize and debug the routing implications of their navigation mapping. Users can access this functionality by pressing a button beside the search bar, or by visiting the /directions page. Most mappers go for years without ever noticing the Directions button; it’s one reason why discussions about navigation mapping can sometimes be a bit ungrounded from reality.
OHM has yet to set up a routing service. OpenHistoricalMap/ohm-website@c3b40d9c3409297a1787dc8b08120812e796c7d3 removes the button, but it remains possible to access the built-in OSM routing integration by visiting /directions. #506 tracks removing this endpoint.
## Rationale
From a modern perspective, it can be difficult to appreciate reductions in travel time enabled by road development or by the opening of a specific thoroughfare. For this reason, historians often mention how long it used to take to travel from one place to another as context when explaining a sequence of events. Sometimes these estimates factor into important world events. These estimates are often based on records and historical accounts mentioning departure and arrival times. However, these records only cover rare, exceptional occasions. An OHM-based router could improve spatial understanding based on how humans actually navigate on the ground, not just from a bird’s eye view.
Historical routing can also potentially help to model future epidemics of communicable diseases based on understanding the spread of previous epidemics.[^Michail15]
## Feasibility
Temporal routing graphs are algorithmically significantly more complex than conventional routing graphs.[^MichailSpirakis14] However, several OSM-based routing engines already support a limited form of time-dependent routing based on the [conditional restrictions](https://wiki.openstreetmap.org/wiki/Conditional_restrictions#Routers) tagging scheme. Each router skirts algorithmic complexity by taking strategic shortcuts. For example, OSRM and [Openrouteservice](https://github.com/GIScience/openrouteservice/blob/d02560587f3d27222fbddd44af4f687128be4773/docs/technical-details/tag-filtering.md#tag-filtering) only resolve conditional restrictions at the time they build the routing graph. None of these routers dynamically recomputes the available edges after completing each step. Some routers only compute accessibility with daily precision.
These are severe limitations when it comes to OSM data, but it should generally be fine when working with OHM data that’s less precise from a navigation perspective. In fact, the only reason I bring up OSM’s conditional restriction tagging scheme is to suggest that we co-opt it for storing start and end dates, which are more important in the grand scheme of things. The idea is to configure one of these routing engines to translate `start_date=1950-10-14` `end_date=1940-11-07` into `access=no` `access:conditional=yes @ (1950 Oct 14 - 1940 Nov 7)`.[^TacomaNarrows] Both GraphHopper and Valhalla appear to support full date ranges in `access:conditional=*`, though GraphHopper doesn’t support time ranges: graphhopper/graphhopper#374. Time ranges would only be necessary if we attempt to support `start_date:edtf=*` and `end_date:edtf=*`.
Both GraphHopper and Valhalla come with walking profiles, but we might also want to develop profiles for riding on horseback or driving cattle. We’d be writing a custom profile anyways to handle the tag transformation from `start_date=*` and `end_date=*` to `access:conditional=*`.
[^Michail15]: Michail, Othon (2015). “[An Introduction to Temporal Graphs: An Algorithmic Perspective](https://cgi.csc.liv.ac.uk/~michailo/Documents/Papers/Conferences/apng15.pdf).” Patras: Computer Technology Institute & Press “Diophantus”.
[^MichailSpirakis14]: Michail, Othon; Spirakis, Paul G. (2014). “[Traveling Salesman Problems in Temporal Graphs](https://cgi.csc.liv.ac.uk/~michailo/Documents/Papers/Presentations/mfcs14-pr.pdf).” Budapest: International Symposium on Mathematical Foundations of Computer Science.
[^TacomaNarrows]: The infamous original span of the Tacoma Narrows Bridge, if you’re wondering.
(The statistics in this post are only possible because QLever was recently fixed to report distances in meters instead of degrees of arc.)
1 Like
The website seems to be down, but 2015 all osm roads to rome were routed with beautiful results .
11 Likes
dieterdreist
(Martin Koppenhöfer)
November 7, 2025, 5:20pm
4
Minh_Nguyen:
For those of us who never met a map we didn’t want to edit ourselves, OSM includes some fragmented coverage of extant Roman roads , while OHM has rapidly growing coverage of roads regardless of time period . So consider this a call to action!
I would guess those historic=roman_road that are not observable as ancient roman now, might also not always be at the exact same position as the historic road.
There is also the possibility to tag a road with historic:civilization=ancient_roman, which I do when the actual paving looks roman (although I guess some of them are reconstructed, observable when the traces of the wheels on the stones are not in the direction of the road)
877 roads have the key historic:civilization | Keys | OpenStreetMap Taginfo
Some years ago I spotted a small stretch of Roman Road at a highway rest area in Austria, in the small print of the sign it said it was reconstructed approximately at the right place (imaginably the right place could be the motorway).
Other spots suggest there could be more if you dig, e.g. here to the left:
dieterdreist:
Some years ago I spotted a small stretch of Roman Road at a highway rest area in Austria, in the small print of the sign it said it was reconstructed approximately at the right place (imaginably the right place could be the motorway).
Other spots suggest there could be more if you dig, e.g. here to the left:
Heh, patricians in modern chariots don’t have to worry about this particular Roman road, only the plebeians on two wheels.
3 Likes