In the Air

Activo

Creados 12 de mayo de 2025 a las 07:51
Actualizado 12 de mayo de 2025 a las 07:51

Este contenido fue subido al Observatorio por Ibercivis.

¿Eres responsable de este contenido? Escríbenos y te daremos acceso para editarlo o te traspasaremos su propiedad.

In the Air es un proyecto iniciado en 2008 por la arquitecta Nerea Calvillo en colaboración con un equipo multidisciplinar, desarrollado en el marco del taller Visualizar de Medialab-Prado. Su objetivo es hacer visible de manera intuitiva y rigurosa los componentes invisibles del aire urbano —como gases, partículas y polen— en la ciudad de Madrid, mostrando cómo se comportan e interactúan con el entorno urbano.

Objetivo principal

Sensibilizar a la ciudadanía sobre la calidad del aire y fomentar la participación activa en la recopilación y análisis de datos ambientales, promoviendo la conciencia colectiva y la toma de decisiones informadas.

Cómo participar

Los ciudadanos pueden interactuar con la aplicación web para explorar los datos de calidad del aire y participar en talleres y actividades organizadas por Medialab-Prado para aprender sobre la recopilación y análisis de datos ambientales.

Equipamiento necesario

Acceso a dispositivos con conexión a internet para utilizar la aplicación web; participación en actividades presenciales puede requerir el uso de sensores de calidad del aire proporcionados por los organizadores.

Coordinador
Medialab-Prado
No gubernamental
329 0

Este sitio web utiliza cookies — Utilizamos cookies para mantener tu sesión activa, recordar tu preferencia de idioma y recopilar estadísticas anónimas que nos ayudan a mejorar la plataforma. No se comparte ningún dato personal con terceros. Más información sobre cookies y privacidad

" no puede cerrar el bloque. var _currentEditors = JSON.parse(document.getElementById('cooperators-data').textContent || '[]'); if (typeof _currentEditors === 'string') { _currentEditors = JSON.parse(_currentEditors || '[]'); } _currentEditors.forEach(function(u) { var opt = new Option(u.name + ' (' + u.email + ')', u.email, true, true); $('#id_usersAllowed').append(opt); }); $('#id_usersAllowed').select2({ ajax: { url: '/usersForPermissionsSearch', dataType: 'json', delay: 300, data: function(params) { return {q: params.term}; }, processResults: function(data) { return {results: data.map(function(u) { return {id: u.email, text: u.name + ' (' + u.email + ')'}; })}; }, cache: true }, minimumInputLength: 2, allowClear: true }); if (_currentEditors.length) { $('#id_usersAllowed').trigger('change'); } // Handle like button $("#buttonLikeProject").on("click", function () { $.ajax({ type: 'POST', url: '/likeProjectAjax', data: { csrfmiddlewaretoken: 'EyTrRLtMhlCbZvnrJd2D5zVjmBNncpuqQ7qVURzMHv9CgFwfkFpTn70kHOCrnJWl', project_id: '107' }, success: function (response) { var btn = $('#buttonLikeProject'); var val = btn.find('.value'); var count = parseInt(val.text(), 10); if (response.Liked === 'True') { btn.removeClass('text-muted').addClass('text-danger'); val.text(count + 1); } else { btn.removeClass('text-danger').addClass('text-muted'); val.text(Math.max(0, count - 1)); } } }); }); // Handle bookmark button $("#buttonBookmarkProject").on("click", function () { $.ajax({ type: 'POST', url: '/bookmarkProjectAjax', data: { csrfmiddlewaretoken: 'EyTrRLtMhlCbZvnrJd2D5zVjmBNncpuqQ7qVURzMHv9CgFwfkFpTn70kHOCrnJWl', project_id: '107' }, success: function (response) { var btn = $('#buttonBookmarkProject'); if (response.Bookmarked === 'True') { btn.attr('bookmarked', 'True').removeClass('text-muted').addClass('text-primary'); } else { btn.attr('bookmarked', 'False').removeClass('text-primary').addClass('text-muted'); } }, error: function () { console.error("Failed to set bookmark status."); } }); }); // Handle changes in the usersAllowed selection $('#id_usersAllowed').on('change', function () { let selectedUsers = $("#id_usersAllowed option:selected").map(function () { return $.trim($(this).val()); }).get().join(','); $.ajax({ type: "POST", url: "/allowUser/", data: { "project_id": 107, "users": selectedUsers, csrfmiddlewaretoken: 'EyTrRLtMhlCbZvnrJd2D5zVjmBNncpuqQ7qVURzMHv9CgFwfkFpTn70kHOCrnJWl' }, success: function (response) { console.log("User permissions updated."); }, error: function () { console.error("Failed to update user permissions."); } }); }); }); /** * Marks a project as Featured or Unfeatured. * @param {int} idProject - The project ID. * @param {boolean} featured - Whether the project should be featured. */ function setFeatured(idProject, featured) { $.ajax({ type: "POST", url: "/setFeatured/", data: { "project_id": idProject, "featured": featured, csrfmiddlewaretoken: 'EyTrRLtMhlCbZvnrJd2D5zVjmBNncpuqQ7qVURzMHv9CgFwfkFpTn70kHOCrnJWl' }, success: function () { window.location.reload(false); }, error: function () { console.error("Failed to update featured status."); } }); } /** * Approves or unapproves a project. * @param {int} idProject - The project ID. * @param {boolean} approved - Whether the project should be approved. */ function setApproved(idProject, approved) { $.ajax({ type: "POST", url: "/setApproved/", data: { "project_id": idProject, "approved": approved, csrfmiddlewaretoken: 'EyTrRLtMhlCbZvnrJd2D5zVjmBNncpuqQ7qVURzMHv9CgFwfkFpTn70kHOCrnJWl' }, success: function () { window.location.reload(false); if (!approved) { document.querySelector('.contact-creator-btn[data-group="project"]').click(); } }, error: function () { console.error("Failed to update approval status."); } }); }