This project illustrates a particular approach in interpretation of  population age data over the administrative map of Barcelona. The first exercise is intended to study the distribution of certain age groups around the city. The data acquired from open sources provided by Ajuntament de Barcelona and Gencat was filtered and processed by the Python script using geopandas library in order to be plotted and visualized for further examination. The second exercise continues mapping population according to its age in QGIS with a different selection of geospatial datasets with higher degree of granularity.


The Internet of Cities studio project From Car Parks to Cultural Parks is set as a base for the following exercise. The narrative imagines a city totally free of individual automotive transport and, therefore, seeks to locate and re-purpose the infrastructure that is serving private vehicles exclusively. The key idea of the project is to re-appropriate the legacy left by decades of automobilization in favor of the social groups who where persistently excluded from car-centered urban development.
This analysis helps us understand the stakeholders we need to deal with and identify potential neighborhoods with specific car parks which meet the conditions we need to execute our re-purposing strategies. Conversely, studying the datasets helps us further analyse the demographics that we have classified and specialize the growing needs and aspirations of these citizens through better understanding the cultural fabric of a neighborhood.



#Import libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1
import make_axes_locatable

Read the input data

#Read CSV file with population age data
barca_age = ‘../data/assignment1/pop_barca_age_2019.csv’
age = pd.read_csv(barca_age)

#Read GeoJSON file with barrios
barca_barrio_geojson = ‘../data/assignment1/73_barrios_1.geojson’
barrio = geopandas.read_file(barca_barrio_geojson)

Merge the dataframes by common index

#Merge two dataframes based on the geospatial one
age_geo = barrio.merge(age, right_on=‘barrio_id’, left_on=‘NEWBARRI’, how=‘right’)

Plot the data by age groups and gender

#Run a for loop plotting all the defined age groups in each barrio. Repeat for Male and Female

for period in age_geo['Age'].unique():
    age_period = age_geo[age_geo['Age'] == period]
    age_period_total = age_period[age_period['Sexe'] == 'Dona']
    age_period_total.plot(column='Total', cmap='Greys', edgecolor='k', legend='True')
    plt.savefig('../data/assignment1/'+period+'.png', transparent='True')


The second stage of the following exercise involves processing more granular data. The opensource Gencat portal provides detailed population census data sets mapped according to the voting sections – the lowest scale of administrative boundaries in Barcelona. As the project is mostly concerned with the distribution of children and senior populations, the task was to filter and map the geoinformation within the the following age groups:

Children and senior population distribution


The Big Data tools we used increased the efficiency of our analysis, site selection and communication. The process of evaluation was filtered through a curation of quantitative and qualitative data. Identifying networks and parking typologies became a key element of the research.

1 – Open Data BCN – Ajuntament de Barcelona’s open data service. (2021). Retrieved 24 November 2021, from:
https ://
2 – Gencat – Information, procedures and services of the Government of Catalonia – Census Section. (2021). Retrieved 24 November 2021,
from : https ://
3 – Joan Vendrell – Barcelona street photography (2021). Retrieved 24 November 2021, from:
https ://

How old are Barcelonians?  is a project of IAAC, Institute for Advanced Architecture of Catalonia developed  Master in City and Technology in 2021/2022
Students: Gayatri Agrawal, Parshav Sheth, Robert Yussef, Can Xu
Faculty: Diego Pajarito