
How we georeferenced a 1916 military map into live track
Featured image: “Index Map of Syria showing Railway Lines and Routes” (GSGS 2061/9), Great Britain War Office, corrected October 1916 — Crown copyright, long expired, so public domain by age. Digitised by The Archive Vault; follow the link to see the original sheet.
Two weeks ago we wrote about turning a 1925 railway map into live data. That map was a schematic — a “diagram of routes” that gave us the order of stations and the distances between them, but not where they actually sat on the ground; for positions we had to reach for Wikidata and OpenStreetMap. This week we processed a very different kind of map, and it let us go further: the British War Office’s Index Map of Syria, corrected October 1916. It’s a geographic map — printed with a latitude/longitude grid — and that changes what a map can give you.
Why this map is different
Two upgrades did the heavy lifting.
We georeferenced it. Because the sheet carries a 1° grid, we could pin its printed grid-crossings to their true coordinates and fit a transform from “pixel on the scan” to “point on the Earth” — accurate to roughly 1–2 km across the belt where the railways run. Now the map itself tells us where a station is, not just its place in a sequence.
We read it up close. These scans are enormous — this one is 6,307 × 9,040 pixels — and opening the whole thing at once blurs the fine print to mush. So we built a coarse-to-fine tool: get your bearings on a shrunk-down overview, then crop the exact region at full resolution. Faint station names, kilometre-posts, and grid crossings that were invisible in the whole-sheet view snap into focus.
Together these also let us do something the schematic couldn’t: tell a railway from a road by its symbol. The legend distinguishes a built line (solid, cross-hatched) from a road (a thin double line). Reading style, not just position, is how you avoid confidently drawing something that was never a railway.
Three things this map changed
1. New stations along the Syrian trunk. On the Aleppo–Hama–Homs main line we held just six stations. The 1916 sheet named seven more we didn’t have — Talbiseh, Al-Rastan, and a run of halts north of Hama toward Aleppo — which we added, cross-checked against OpenStreetMap, and, for the Aleppo stretch where the track survives, snapped to the real alignment.
2. A line extended to where it really went. We had the Rayak–Baalbek branch stopping at Baalbek. The 1916 map shows the standard-gauge line carrying on north through Labweh and Ras Baalbek all the way to Homs. We extended it — and every one of those new segments matched surviving track on OpenStreetMap.
3. A “railway” that turned out to be a road. West of the Hejaz main line, through Sanamein and Sheikh Miskin, we had tentatively carried a Damascus–Mzeirib railway. Read close up against the legend, that corridor is drawn as a road, not a rail line — so we corrected the record rather than leave a best guess standing as fact.
Old map, checking new data
The payoff of georeferencing is that review becomes a glance. We drew our own existing stations onto the aligned 1916 sheet and could simply look: does each dot land on the line the map draws? The century-old kilometre-posts did the same job for distances — quietly fact-checking our modern coordinates, the same trick the 1925 mileposts pulled.
The same discipline, a sharper tool
The principle hasn’t changed since the 1925 map: read carefully, reconcile against what we already have, geolocate honestly, and let a human review every change before it’s saved. What’s new is that a georeferenced, closely-read geographic map gives us far more to work with — positions, line status, and real geometry — plus a way to check our own data against a primary source from 1916. There are many more of these maps. We can now read all of them this way.
Built in the open
If you’d like to dive deeper, our dataset is open — published on GitHub under the Open Database License, with every fact traced to a cited source you can browse on our resources page. The tools and pipeline behind it, from the georeferencing code to the open-source libraries the site runs on, are listed on our specs page. And if you’d like to contribute, please join the community.