Mapity

Drill the map, not flashcards. Free, no account.

Mapity meta dataset

Which region uses which bollard, chevron, guardrail profile, pedestrian crossing sign, license plate design and dialing code, as one table. 1311 rows across 14 trainers: 1112 designs and codes, and the 1064 regions they belong to.

That mapping exists in a dozen wikis, forum threads and guide sites, in prose, and almost nowhere as a file. It is a table here because a quiz needs one, so publishing it costs nothing and saves the next person the week it took to assemble. It is generated from the trainers themselves, which means it says exactly what the games are scored on: if a row here is wrong, the game is wrong too, and both get fixed at once.

Download

  • mapity-meta.json grouped by trainer, then by design, each with the regions that use it.
  • mapity-meta.csv the same table flattened, one row per design and region.

Both are served with permissive cross-origin headers, so a script or a notebook can fetch them directly. Neither needs a key and neither is rate limited.

The JSON shape

A header describing the file, then one entry per trainer, each holding its designs and the regions each design belongs to. One trainer, cut to two designs:

{
  "slug": "european-chevrons",
  "name": "European Chevrons",
  "url": "https://www.mapity.app/european-chevrons",
  "tags": [
    "Europe",
    "Roadside",
    "Signs"
  ],
  "subjectType": "chevron designs",
  "place": "Europe",
  "regionType": "countries",
  "subjects": [
    {
      "id": "yellowOnRed",
      "regions": [
        "Sweden"
      ]
    },
    {
      "id": "yellowOnBlue",
      "regions": [
        "Luxembourg",
        "Sweden"
      ]
    }
  ]
}

id is the key the trainer uses, and is stable across regenerations. It is also the answer wherever the answer is text: a dialing code is keyed by the code. Where the answer is a picture there is no text to carry, so a design is keyed by what it looks like, and there is no second name column standing empty next to it.

regionType is present on the trainers where a place merely uses the things (European countries use bollards) and absent on the ones where it has them (a Brazilian dialing code belongs to Brazil), because the site has a noun for the first case and not the second. Region names are whichever survey drew the boundary spelled them, abbreviations and all, since that is what the trainers are scored against.

The CSV columns

game, subject, region. Every field quoted, RFC 4180. The header and the first two rows:

"game","subject","region"
"european-chevrons","blackOnWhite","Kosovo"
"european-chevrons","blackOnWhite","Montenegro"

What is in it, and what is not

The 14 trainers whose answer is not the region's own name. Each links to its own page, which shows the designs themselves and cites where its answers came from:

Three things are deliberately left out. The 20 administrative region trainers, because a row saying that the region called Bavaria is called Bavaria is already in every atlas and would bury the rows that are the point. The boundaries, because those belong to the surveys below, are one link away, and are not ours to republish. The artwork, because a drawing of a bollard is a picture rather than a fact, and the site draws them on every trainer page already.

Licence, and how to credit it

The table is published under CC BY 4.0. Use it, republish it, build something on it, sell the thing you built: the only condition is saying where it came from.

Mapity meta dataset, Mapity (https://www.mapity.app/data), CC BY 4.0.

That covers this compilation and not the surveys underneath it. Region names come from the boundary datasets listed below, a few of which carry their own terms, so if you republish those names as part of a boundary dataset rather than as part of this table, check the source first.

Where the regions come from

The dataset carries no geometry, so none of these is being redistributed. What is reused is the naming: a region is called what the survey that drew it calls it.

Corrections

A wrong row here is a wrong answer in a trainer, and the trainers are the reason anybody trusts either. If you find one, say so: it gets fixed in the generator, and the game and this file change together on the next build.