Sobre aquest Bloc
Aquest bloc pretén ser un lloc on s'expressin opinions diverses de la gent que participa en el Projecte CCU i al mateix temps un medi de divulgació i debat sobre els temes de coneixement urbà.Cerca
-
Blocaires
Josep López Xarbau Enginyer en Electrónica i Automàtica Industrial (ETSEIAT-UPC). Durant els últims vint anys (1999-2019) he realitzat tasques de R+D+I, en el camp de l’acústica mediambiental i de l’anàlisi territorial urbà amb diversos Sistemes d'Informació Geogràfica, coneguts com a GIS. Durant tres anys (2001-2004) he estat el responsable del departament de R+D+I de l’Agencia d’Ecologia Urbana de Barcelona (BCNECOLOGIA). He col·laborat amb l’Àrea d’Acústica de l’Escola Universitària Politècnica de Mataró (EUPMt) en l’anàlisi i realització de mapes acústics de diversos municipis del Maresme, Vallès Oriental i l’Anoia. Actualment soc tècnic de Recerca, Desenvolupament e Innovació al Centre de Coneixement Urbà (CCU) de la Fundació TecnoCampus Mataró-Maresme.
Miquel Roca Dr Enginyer en Automàtica i Electrònica Industrial per la UPC Llicenciat en Física per la UB i responsable del CCU. Estic treballant des de fa anys per que la informació pugui esdevenir coneixement i d’aquesta manera entendre millor el nostre entorn més immediat. Vull utilitzar les eines gràfiques i informàtiques que ens puguin ser més d'utilitat en cada moment per copsar una realitat concreta.
Jordi Arderiu Llicenciat en Ciències Econòmiques per la UB i màster d’Economia Aplicada de la UPF. Cap del Servei d’Estudis i Planificació (SEP) de l’Ajuntament de Mataró. Des del SEP hem col·laborat en el desenvolupament conceptual i pràctic del projecte CCU amb la proposta de diferents mòduls i temàtics a partir de les comandes i propostes d’interès dels postres usuaris.
Xavier Posada Tecnic del Servei d'Estudis i Planificació de l'Ajuntament de Mataró.
Gerard Reverté Llicenciat en Ciències Econòmiques. Tècnic del Servei d’Estudis i Planificació de l’Ajuntament de Mataró.
Borja Ruiz Enginyer tècnic en informàtica de gestió, ampliant coneixements sobre Android.
Isaac Flores Martínez Graduat en Enginyeria Electrònica Industrial i Automàtica pel TecnoCampus Mataró-Maresme. He treballat durant dos anys com a Becari en el CCU. He realitzat com a projecte final de carrera un estudi sobre la generació dels polígons de Voronoi en la delimitació d’àrees d’influència en l’espai urbà.
Juan Antonio Pinto Estudiant d’últim any en Enginyeria Electrònica Industrial i Automàtica pel TecnoCampus Mataró-Maresme. Actualment treballant com a becari en pràctiques pel CCU i finalitzant el projecte final de carrera (PFC) sobre Els principals determinants de la Innovació en Territori o regió. Casos de Catalunya i Espanya en marc de la UE.
Enric Marín Valdivielso Estudiant d’últim any d'Enginyeria Electrònica Industrial i Automàtica pel TecnoCampus Mataró-Maresme. Actualment treballant com a becari en pràctiques pel CCU i finalitzant el treball final de grau (TFG) sobre les radiacions electromagnètiques d'alta freqüència emeses en el recinte del TecnoCampus. Amb anterioritat, vaig estar treballant durant un any com a tècnic en una enginyeria d'automatització industrial a Mataró, i també, mig any realitzant pràctiques en ENDESA DISTRIBUCIÓN.
Ignasi Argemí Puig Estudiant d'Enginyeria Informàtica al TecnoCampus de Mataró i actualment treballant com a becari en pràctiques del Centre de Coneixement Urbà (CCU) de la Fundació TecnoCampus Mataró-Maresme.

Entrades classificades amb: ZI-GTC

Desarrollo de una aplicación web basada en el módulo ZI_GTC
Publicat per: Manuel Duro Santos
En este post se trata el proceso de creación de una aplicación web que está basada en el módulo “Càlcul de Zona d’Influència (Graf de Trams de Carrer)” (ZI_GTC) para QGIS. El trabajo realizado por Ignasi Argemí Puig y Josep López Xarbau en la adaptación web del módulo CTE ha servido como base teórico-práctica para el desarrollo de la nueva aplicación. Para obtener más información sobre esta otra aplicación se puede consultar el post “Desenvolupament d’un mòdul en un entorn web”.
Debido a que con el módulo CTE se había conseguido un resultado satisfactorio, el equipo del CCU decidió utilizarlo como punto de partida para poder desarrollar nuevos plugins cuya funcionalidad fuese relativamente fácil de portear al entorno web.
El objetivo del ZI_GTC es calcular la zona de influencia (en distancia o en tiempo) de las entidades que el usuario desee con una dispersión que se adapta a la forma del grafo que conforman todas las calles Mataró.
Estructura interna
La estructura del programa y el diagrama de flujo de la transmisión de información es exactamente igual a la del CTE (Fig 1).
En el front-end estarán el HTML y CSS, los cuales se encargan de la estructura y el estilo de la página web; mientras que el funcionamiento interno de la página en el cliente estará gestionado por Javascript y AJAX que, además, serán los encargados de realizar las peticiones al servidor web cuando sea necesario.
En el back-end está el servidor web en el cual se almacena la página web y que se comunica con un PHP que se conecta con el servidor de datos de Postgres en el cual está la base de datos del CCU. Finalmente, para poder devolver el resultado al front-end se utiliza un formato de intercambio de datos que deriva JSON: GeoJSON.
Desarrollo
Se comenzó a trabajar sobre una copia de la aplicación del CTE y lo primero que se hizo fue modificar el HTML para dotarlo de los campos necesarios que necesitaba el ZI_GTC (Fig 2) e ir empezando a hacer pruebas conceptuales. Se tuvo en cuenta el diseño de la interface del CTE para que hubiera una coherencia estética entre ellos.
Se optó por hacer una versión reducida del plugin de QGIS (Fig 3). Una de las funcionalidades importantes que se ha decidido omitir es la que implica el método de trabajo con la población. Esta decisión tiene que ver con la complicación que supondría tener que pedirle al usuario una “Taula Resum”, las cuales a día de hoy sólo se generan en QGIS.
El siguiente paso fue adaptar el Javascript a la nueva funcionalidad, es decir, se introdujo la gestión de la información (enviada y recibida) y la lógica interna de la selección de un coste u otro para después poder lanzarle la información a PHP. En un primer momento quedó pendiente resolver la recepción del GeoJSON ya que no se tenía muy claro cómo se llevaría a cabo en el caso de este plugin.
Finalmente se tradujo la funcionalidad básica del módulo de QGIS a PHP, el cual estaba escrito en Python. La mayor parte del trabajo estaba hecho ya que el módulo ZI_GTC trabaja realizando operaciones sobre el servidor. Sin embargo, puesto que no se tenían conocimientos previos de PHP, esta parte supuso un reto debido a determinados cambios de sintaxis, del planteamineto y la dificultad añadida que supone debugar en PHP. Fue necesario modificar varias consultas SQL y hacer un procedimiento específico para poder enviarle el GeoJSON de vuelta al Javascript. El siguiente paso fue volver a editar el Javascript para interpretar el GeoJSON y representarlo el resultado en pantalla.

Fig 4. Ejemplo de resultado del ZI_GTC web tras calcular el área de influencia de 150m de los IES de Mataró
Llegados a este punto la aplicación estaba prácticamente terminada. En un primer momento el resultado mostrado en pantalla no tenía la forma deseada a pesar de mostrar las zonas correctas. Este error (fundamentalmente visual) se debía a una consulta SQL que fue necesario localizar y modificar.
Para terminar, se añadieron marcadores a cada una de las zonas para que el usuario pudiera consultar su nombre con un simple click (Fig 5).
Publicación
La aplicación ya se encuentra disponible en Internet. Se puede probar en http://geoportalccu.tecnocampus.cat/ZI_GTC/ZI_GTC.html, preferiblemente utilizando Google Chrome o Mozilla Firefox.

ZI-Graf de Trams de Carrer: Anem en la bona direcció
Publicat per: Miquel Roca
Un dels elements diferencials en els aplicatius del CCU, que anomenem ‘mòduls’, és la importància que hi donem al Graf de Trams de Carrer (GTC). Ja abans quan estàvem treballant en l’entorn del GeomediaPro i amb la llibreria del Geomedia Transportation Manager, com avui dia en que treballem amb l’entorn del QGIS.
Aquest fet, el treball amb el GTC, s’ha traduït amb la definició de zones d’influència a par-tir del GTC desplegat en arbre a partir d’un punt determinat (vegeu la figura 1) , també anomenat ‘cobertura’ en altres entrades en aquest Bloc, i en la cerca de camins (més curts o més ràpids) a un nombre determinat d’entitats seguint el GTC.
Aquest tipus de zones d’influència graf (ZI-GTC) en les versions del QGIS anteriors a la versió 3 es feia en el servidor PostgreSQL a través de la llibreria ‘pgrouting’, i per definir la ‘cobertura’ a partir d’un punt es va haver de desenvolupar un procediment específic ja que directament en la llibreria no estava implementat. Això està explicat en detall en l’entrada a aquest bloc anomenada: ‘Cobertura mitjançant graf de trams de carrers (GTC)’ publicat per en Josep Lòpez Xarbau el dia 1/06/2017. Vegeu a la figura 2 una mostra del resultat final de la cobertura a partir d’un punt.
Tan en la figura 1 com en la figura 2 es important destacar que un cop assolida la distancia màxima o la funció de cost màxima ens podem trobar en un punt intermig d’un dels seg-ments del GTC, el càlcul d’aquests darrers fragments perifèrics de tram comporta un càlcul especial, com s’explica en el ‘post’ d’en Josep L.Xarbau.
A partir de la versió 3 del QGIS ens trobem que moltes d’aquestes funcions relacionades amb el GTC, com pot ser l’’encaminament’ o cerca d’un trajecte entre punts del mapa i la ‘cobertura’ o desplegament en arbre a partir d’un punt seguint el GTC, estan ja imple-mentades. Desplegant el menú ‘Procesos’->’Caja de herramientas de Procesos’ tal com es pot veure en la figura 3
En aquest cas la ‘cobertura’ l’anomenen ‘Àrea de Servei’. La implementació de aquestes funcions en els mòduls del CCU, concretament en el mòdul CTE està descrita en l’entrada: ‘Implementación de las funcionalidades QGIS3 para realizar el cálculo local en el módulo CTE’ d’en Manuel Duro.
Val a dir que un cop obtingut el desplegament en arbre a partir d’un punt s’ha de definir un ‘buffer’ a l’entorn d’aquesta entitat lineal i això constituirà la nova zona d’influència d’aquest punt seguint el GTC.
Plantejat tot això diem que anem en la bona direcció per que l’evolució de les eines del QGIS sembla indicar-ho així, dotant al seu aplicatiu d’uns recursos analítics que en versions anteriors no hi eren i que entre altres àmbits impliquen a tot el que te a veure amb el GTC, és a dir l’encaminament i la ZI-GTC. El projecte CCU sempre ha apostat per aquests plantejaments i ha treballat en la generació de mòduls relacionats amb el GTC, ara l’evolució de la tecnologia encara reforça mes aquest enfocament.
De totes maneres l’avantatge o inconvenient de realitzar els càlculs dels camins o les ZI seguint el GTC en el propi equip o fer-ho en el servidor PostgreSQL requereix un estudi de mes profunditat. El que sí està clar és que la flexibilitat en poder escollir un procediment o un altre reverteix en benefici de l’usuari, que podrà aprofitar ambdós mètodes per treure’n més rendiment al seu equip.

Manual d’ús del mòdul ‘ZI-GTC’
Publicat per: Ignasi Argemí Puig
Aquest post explica el funcionament del plugin de ‘ZI-GTC’ per a QGIS. Per a poder utilitzar-lo, el primer que s’ha de fer és executar el programa QGIS i un cop inicialitzat aquest, cal pitjar la icona següent o anar a Complementos -> CCU -> Càlcul de població afectada i s’obrirà una finestra com la que podem veure a continuació a la imatge.
A continuació es detallaran els diferents components del plugin i quina és la seva funció:
- Comencem per la part superior, on hi trobem una pestanya desplegable i un requadre. A la pestanya s’escull la connexió amb la que volem treballar, i que prèviament hem configurat en el QGIS. En el requadre indica l’estat de la connexió.
- En segon lloc, trobem una pestanya desplegable on hi podem seleccionar la entitat puntual sobre la qual volem treballar.
- Just a sota, podem trobar una altra pestanya desplegable. En aquesta ocasió tindrem la possibilitat d’escollir la xarxa de carrers sobre la qual volem treballar. Per poder utilitzar la capa, cal que disposem d’accés a una taula auxiliar amb els vèrtex. Cada vegada que seleccionem una capa de graf, el plugin s’encarrega de comprovar que la capa auxiliar hi sigui. En el cas que no hi sigui, un missatge apareixerà per tal d’informar de la situació a l’usuari.
- En quart lloc, hi ha el menú per seleccionar el mètode de treball: primer trobem un desplegable per treballar sobre la distància o el temps. Just a dreta hi trobem dos checkBox que només s’activen quan en el desplegable hi ha escollida la opció de ‘Temps’ i que s’utilitzen per indicar si volem utilitzar el cost invers i el de nusos. Després hi ha un camp per omplir text on l’indicarem amb un número la distància o el temps amb la que volem fer el buffer, i en últim lloc hi ha una pestanya desplegable on hi podrem escollir el camp de la taula de la xarxa de carrers que s’utilitzarà com a camp de distància o temps, segons s’hagi escollit.
- Just després del mètode de treball, hi trobem les opcions d’aparença del graf. Primer hi ha un checkBox que habilita el botó amb el qual s’escull el color i una pestanya on s’escull el gruix del traç. A més a més, hi ha un camp on hi podem indicar el radi en metres de la zona d’influència de l’entorn del graf.
- Seguidament hi ha una pestanya on podem escriure el títol de la llegenda. En el moment en què escollim una entitat puntual, aquest camp s’actualitzarà automàticament per “<nom de la entitat>”. Tot i això, el títol pot ser el que nosaltres vulguem.
- Després d’això, trobarem l’apartat on seleccionarem el mètode per treballar amb la població. Primer trobarem un checkBox on indicarem si volem treballar amb la població. En cas afirmatiu, ens apareixerà el menú amb les opcions just a sota. En aquest menú hi apareixen 3 botons on indicarem si volem treballar amb les illes, parcel·les o portals. En la part inferior hi ha una etiqueta blanca on hi apareix el percentatge d’habitants afectats per la zona d’influència del càlcul, un cop realitzat. A la dreta hi ha un checkBox on hi indicarem si volem que es mostri la població exclosa.
- Finalment, a la part inferior de la finestra hi ha dos botons: el de ‘SORTIR’ i el de processar o ‘INICI’. El de SORTIR serveix per tancar la pestanya. El botó ‘INICI’ serveix per processar la consulta que li hem indicat amb els elements que acabem de veure. Segons les opcions que li haguem indicat, ens apareixerà un resultat o un altre. En el cas que alguna de les dades o la connexió no sigui correcta, el programa advertirà de la incidència a l’usuari. Un cop aquesta sigui resolta, l’usuari podrà executar el programa amb normalitat.