Skip to content

World Cities

Several people asked me if I can create a database with countries, states and cities, including their population.

A quick solution, but not so accurate: I downloaded cities5000.zip from https://download.geonames.org/export/dump/, added colored icons according population, and uploaded it to map.

Known errors:

  • Not every entry is a city.
  • Some provinces in China have lots of cities while others have few.
  • Not accurate to determine population in a given area. Singapore is a city-state with no administrative divisions. GeoNames list contain Singapore with 5638700 people plus other 94 places with population ranging from 5360 to 276990 (totalizing 6221493).
IconCities
10,000,000+19
5,000,000-9,999,99936
2,000,000-4,999,999137
1,000,000-1,999,999331
500,000-999,999575
200,000-499,9991644
100,000-199,9992715
50,000-99,9995531
20,000-49,99913063
10,000-19,99915071
5,000-9,99920135
1-4,999570
082

What s the definition of a city or a municipality

If I would source data from census websites of each country, or Wikipedia, harmonizing all countries into a single database would be a HELL, because:

  • Romania have officially 103 municipalities (urban), 217 cities (urban), 2861 communes (rural).
  • Germany have 2058 “towns”.
  • Italy have 7954 “communes”.
  • Spain have 8122 “municipalities”.
  • Italy and Spain do not have “city” or “town” designation.

Accurate data can be found on government websites

Most countries provide open data for free download on their government / census websites, example:

Some governments may provide also ZIP codes or PIN codes for free. geodatasource

Now, my idea is to take open data from government websites (or scrap from Wikipedia for countries where there is no data available from government), compile all countries into a single database and offer it as paid download for efforts of compiling.

With ~200 countries in the world, this may be a huge effort. Census year vary from country to country so I will probably not include city population. Next problem is that, if I stick database to cities only, Romania would have 320 cities but Italy will have 0. If I include 7954 communes of Italy, I will probably need to include also the 2861 communes of Romania and not just 320 cities. If anyone is interested in this project, or have suggestions how to make it better, please contact me!

Available now:

Share this post on social!

Leave a comment

Your email address will not be published. Required fields are marked *