The Cuisines of the world

Tags or tagging are quite underrated in mapping where colourful lines/dots make up for most of the look and feel. OpenStreetMap as the name says is an open map but also is a open geographic database licensed under ODBL. The beauty of the data is that its not just a dump of all the data but follows a certain schema and could also be said to be semantic in nature aka it could be easily queried by a human or machine to get required information.

What I would like to say is that tagging provides a rich dataset which may or may not pave a way for a beautiful map but definitely provides an insight into both mapping community as well as the geographic features of that region.Tags are used to represent data in Openstreetmap with Key value pairs . Example could be amenity=cafe

Here is a tag "cuisine" which simply tells what people are eating all over the world.


Cuisine Tags of Japan from a dataset of 5760 tags:

Japanese cuisine tags

Here is Japanese cuisine which shows that Japanese as a common tag is used added to sushi which is quite popular from Japan .We could also see the japanese eating noodles,chinese and are visiting coffee shops and burger places more often.


Cuisine Tags of London from a dataset of 2134 tags:

London cuisine tags

London could be seen to have lot of indian,chinese and italian eating places while at the same time retaining its traditional fish and Chips.


Cuisine Tags of berlin from a dataset of 2970 tags:

Berlin cuisine tags

Italian cusine seems to rule berlin with german, asian and kabab cuisines following in later places.


Cuisine Tags of Paris from a dataset of 2537 tags:

Berlin cuisine tags

The french eat their own cuisine at paris with also a good appetite for Japanese, Chinese and Pizza.

Story behind the visualisation

So How did I end up with such neat tag cloud of cuisines?

I reimported small chunks of OSM data via Geofabrik Downloads as Hstore into PostgreSQL, so as to get all the tags especially the ones which were not imported via the main mapnik import. Using the (tags) as key we could query appropriates for (tags->cuisine).

SELECT (tags->'cuisine')
  INTO cuisinetable FROM planet_osm_point
    WHERE  ( (tags->'cuisine') IS NOT NULL  );

Later We could export the table as CSV with headers intact.

copy  cuisinetable to '/tmp/cuisine-list.csv' delimiter ',' csv header;

As the above query returns lot of cuisine tags , I feed them to a D3.js script to create a cloud of tags.