A street name is a small public decision, repeated tens of thousands of times per country: who deserves to be remembered, which places matter, which ideas a city wants to say out loud. Taken together, a country's street names are a self-portrait nobody sat for. This project builds that portrait for every country, from the same open data, with the same taxonomy, so they can be compared.
Questions the dataset is built to answer:
- What share of a country's streets honour a person, a place, an idea, a date, a saint, a tree, or nothing at all (Rue 12)?
- Among the persons: rulers or poets? Soldiers or scientists? Nationals or foreigners? Men or women?
- How far back does a nation's memory reach (median death year of the people on the signs), and how fast does it renew after independence or a regime change?
- How concentrated is the naming vocabulary (how many distinct names cover half of the streets)? A handful of names everywhere is the signature of centralised naming; a long tail is the signature of local naming.
- Which foreign countries and cities appear on a nation's signs, and which never do?
Source: OpenStreetMap, one Geofabrik country extract at a time. Every highway=* way with a name tag becomes a row; pieces of the same street are collapsed into one street per (normalised name, nearest locality). Wikidata resolves the name:etymology:wikidata tags that OSM mappers have already added (dense in Europe, thin elsewhere), and a per-country lexicon of rules classifies the rest. What neither resolves is unknown and stays visible in every figure.
Coverage is a first-class number: a country where 60 % of streets are unresolved gets a 60 % badge, never a confident chart.
data/streets/<iso2>/ways.parquet one row per named OSM way (raw)
data/streets/<iso2>/streets.parquet collapsed streets with core name, locality, lat/lon
data/streets/<iso2>/classified.parquet + category, person_role, person_origin, source
data/stats/<iso2>.json country statistics with their basis
reports/<iso2>.md human-readable first pass
Columns follow taxonomy/README.md. Country Parquets stay under 100 MB; the world-scale dataset will be published on Hugging Face, this repo keeps code, taxonomy, stats and samples.
python pipeline/01_extract.py MA data/raw/morocco-latest.osm.pbf # PBF -> ways + places
python pipeline/02_streets.py MA # ways -> streets
python pipeline/03b_wikidata.py MA # resolve OSM etymology tags
python pipeline/03_classify.py MA # rules + Wikidata -> categories
python pipeline/04_stats.py MA # stats json + report + chart
Requirements: Python 3.12+, pip install -r requirements.txt (pyosmium, pandas, pyarrow, duckdb, matplotlib).
See reports/ma.md. Headlines from the first pass (OSM extract of 2026-09-16, 49,185 named road pieces, 21,074 streets):
- 22.5 % of urban streets have no name, only a number (Rue 12, Zanqa 5).
- Of the classified named streets, 53 % honour a person, 29 % a place, 6 % nature, 2 % a date or event.
- Among persons with an identified role: religious figures 29 % (the
Sidihonorific counts here), royalty 26 %, resistance and military 17 %, scholars 12 %, politicians 12 %, writers and poets 3 %. - 77 % of identified persons are Moroccan, 23 % foreign (Arab, Andalusi and European figures).
- Only 1.4 % of streets carry an OSM etymology tag, and some of those tags are wrong (Avenue Mohammed V tagged as Hassan II in 58 pieces). Morocco is the thin-coverage case the pipeline must handle everywhere outside Europe.
- Morocco: LLM-assisted classification of the 4,600 unknown names, then Wikidata matching of person names to get birth and death years, gender and occupation at scale.
- Second country with dense OSM etymology tags (Belgium) to calibrate the rules against ground truth.
- Transliteration and per-script lexicons: Arabic, Cyrillic, Chinese, Japanese (where most streets have no name at all).
- World run on the Overture/OSM planet, published on Hugging Face.
- Public site: type your country, read its portrait, compare with any other.
EqualStreetNames (gender, 70 cities), Mapping Diversity (30 European cities), Open Etymology Map, and the paper Linking Streets in OpenStreetMap to Persons in Wikidata. All stop at gender or at Europe; none compares countries on the full taxonomy.
Code: MIT. Data: derived from OpenStreetMap, © OpenStreetMap contributors, ODbL. Wikidata: CC0.
Author: Badr Abardazzou.