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.
Japan
Cuisine Tags of Japan from a dataset of 5760 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.
London
Cuisine Tags of London from a dataset of 2134 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.
Berlin
Cuisine Tags of berlin from a dataset of 2970 tags:
Italian cusine seems to rule berlin with german, asian and kabab cuisines following in later places.
Paris
Cuisine Tags of Paris from a dataset of 2537 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.