A text box with the blog title and name in the style of a Zagreb street sign.

Street Stats and Similar Stuff


A few years ago, my brother told me a fun fact — he stated that Matija Gubec, a 16th-century peasant from northern Croatia who led a revolt against an army of nobles, was the person after whom the most streets in Croatia were named. I didn’t question it much because it made sense — Gubec is not a controversial persona, and people enjoy the “David versus Goliath” type of stories (though Gubec was not particularly successful). After a quick Google search, I found out that this piece of trivia came from a 2008 study conducted by the late Dr. Slaven Letica, a Croatian professor, sociologist, and politician.

A statue of Matija Gubec in Gornja Stubica
A statue of Matija Gubec in Gornja Stubica | Source

My interest was piqued

The original research yielded a list of 240 historical figures — politicians, writers, scientists — and a street count for each one of them. This gave me an idea. What if we could:

  1. Get a dataset with all streets in Croatia.
  2. For each street, find who or what it was named after.
  3. Cluster these streets based on the “dedication”.
  4. Analyze the cluster data.
  5. Make a few fancy visualizations.
  6. Put them on my blog and hope someone reads it.

So that’s what I did…

Gathering the data

If you’re just interested in results, click here.

The Croatian State Geodetic Administration publishes a huge dataset with all 1.7 million Croatian addresses and their EPSG:3035 coordinates. By grouping these addresses by street name-ZIP code pairs and calculating their coordinates as a medoid of the points within the group, I had everything I needed to cluster the streets by who they were named after, make some aggregate statistics, and show them nicely on a map.

{
  "street": "Marije Jurić Zagorke",
  "zipCode": "10370",
  "municipality": "Dugo Selo",
  "settlements": ["Gornje Dvorišće", "Lupoglav"],
  "addressCount": 12,
  "geometry": {
    "x": 4809353.26249576,
    "y": 2544348.30192201
  }
}

I normalized street names by lowercasing them and removing words such as “street”, “square”, “avenue”, “path”, etc. Then I ran a clustering algorithm on the full dataset, joining streets that have the same or similar-enough normalized names. On clusters with more than one street, I ran an LLM naming and categorization step. The resulting clusters looked like this:

{
  "cluster_id": 29928,
  "cluster_name": "Marija Jurić Zagorka",
  "cluster_name_en": "Marija Jurić Zagorka",
  "category": "person",
  "size": 31,
  "skip_in_analysis": false,
  "streets": [
    {
      "original": "Marije Jurić Zagorke",
      "normalized": "marije jurić zagorke",
      "admin_unit": "Bjelovar",
      "lon": 16.855474557079155,
      "lat": 45.91240218038897
    }
    // ...
  ]
}

The naming wasn’t perfect, so I also had to manually rename or merge some of the clusters, or come up with my own algorithms, such as matching proper nouns to possessive adjectives or matching initials to full names. Here’s a real example of streets I had to work with, all named after Andrija Kačić Miošić, an 18th-century writer, poet, and Franciscan friar.

  • Ulica Andrije Kačića Miošića
  • Andrije K. Miošića
  • Ul. f. A. Kačića - Miošića
  • Kačića-Miošića fra A.
  • Kačićev trg
  • Andrije Kačića Miočića (note the č instead of a š)

The result was a dataset with a bit less than 27 thousand clusters, 4215 of which had two or more streets in them.

Results

Let’s check how our dataset compares to Dr. Letica’s research.

Who gets the most streets?

Tap or click a name to see where those streets are. Hover over a dot on the map to see the street name.

300 streets named after Matija Gubec

1 There is also a "Radić Brothers" cluster with 200 streets in it. One could argue that Stjepan Radić is the "winner" here if we merged these two clusters.
2 There are also clusters "Zrinski" (31 streets), "Zrinski and Frankopan" (60 streets), and "Frankopan" (77 streets).

I’m not sure why, but it looks like Dr. Letica didn’t include most saints and Croatian nobility in his research. It’s also interesting to see how some of the figures moved up or down in the list — for example, while Matija Gubec and Vladimir Nazor lost 62 and 34 streets, respectively, the first Croatian president Franjo Tuđman gained 78 streets in the last 18 years.

Let’s move on. Ninety-one of the top hundred are men, so let’s see who the top women are, too:

Streets named after women

Tap or click a name to see where those streets are. Hover over a dot on the map to see the street name.

36 streets named after Saint Anne

I’d say our society can do better than this. Out of 57 women with more than one street named after them, about a third of them are saints or other women who lived hundreds of years ago. Maybe our towns could update the maps by naming the streets after more recent influential women.

Speaking of towns, which towns have the most streets named after them?

Streets named after towns

Tap or click a name to see where those streets are. Hover over a dot on the map to see the street name.

218 streets named after Zagreb

This is all very cool, but streets could also have common names — nature terms, occupations, institutions, adjectives, etc. Here are some examples:

Streets named after common terms

Tap or click a name to see where those streets are. Hover over a dot on the map to see the street name.

238 streets named after Vineyard

1 For this analysis, I merged the clusters for the Croatian words "Brdo" and "Brijeg", both meaning "Hill".
2 I wasn't sure how to translate "Varoš" - I felt like "suburb", "outskirt" or "small town" just don't do it justice, so I kept it as-is. It is a smaller urban area, and also the name of older city quarters in multiple Dalmatian towns.

There’s also many more categories we could explore — Croatian streets are also named after different organizations, events and dates, ideas, fictional characters, toponyms, and much more. To end this article, here’s a map with some interesting streets I found; feel free to explore it by clicking the blue dots on the map.

Notes

  • I use the word “town” for both cities and municipalities for simplicity’s sake.
  • Although I did a lot of manual work on this project, the dataset is not perfect, and I may have missed a few streets here and there.
  • In some cases, it is very hard or impossible to know exactly who or what the street was named after:
    • Surnames or town names that are also common nouns or adjectives, e.g., “Gaj” could mean both Ljudevit Gaj and a grove.
    • Town names that are also names for mountains or rivers, e.g., “Promina” is both a town and a mountain.
    • Words that have multiple meanings, e.g. “kava” usually means “coffee” in Croatian, but it can also mean “quarry” in certain dialects. I believe the streets such as “Put kave” were named after nearby quarries, not after coffee.
  • In some towns, there are streets with names such as “Bobovik I”, “Bobovik II”, “Bobovik III”, etc. I removed some of these clusters from the analyses because I feel they don’t represent the idea behind this article. We could have also ranked the clusters by the unique administrative units count, instead of street count. This way, Ivana Brlić Mažuranić would become the top cluster in the women category with 34 admin units, compared to St. Anne’s 30.

Sources

P.S. All text above was written by me, not AI. I only used a free tool to check for typos or grammar errors before publishing, nothing else.