Entrades classificades amb: influència

Manual d’ús del mòdul ‘Zones d’influència adaptatives’

Aquest document explica el funcionament del plugin de ‘Zones d’influència adaptatives’ 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üent1

o anar a Complements -> CCU -> Zones d’influència adaptatives i s’obrirà una finestra com la que podem veure a continuació a la imatge.

2

Aquest mòdul el que fa és ajustar la zona d’influència de cada entitat proveïdora d’un servei a la població a la capacitat de cada centre (que s’ha de fixar en la BD prèviament), tenint en compte la densitat de la problació ‘target’ del seu entorn. Aquesta zona d’influència pot ser circular o seguint el Graf de Trams de Carrer.

A continuació es detallaran els diferents components del plugin i quina és la seva funció:

  1. A la part superior, hi ha un barra on s’hi indica l’estat de la connexió i una pestanya desplegable amb les connexions disponibles (ja configurades prèviament) per a realitzar les operacions. Allà n’escollim una.3
  2. En aquesta part escollirem la capa de punts a partir de la qual volem fer la zona d’influència i el color que tindrà.4
  3. Just a sota trobarem tres botons que ens permetran escollir la capa sobre la que volem treballar: Illes, parcel·les o portals.5
  4. En aquesta secció cal introduir un número de iteracions que volem que es realitzin.6
    Hem de tenir present que el programa fa el recalcul del següent radi (o distància) a partir del nombre de persones trobades prèviament dins de la zona i això ho pot fer una vegada (cas de una iteració) o unes quantes, poguent anar refinant l’ajust, però amb augment del temps de càlcul.
  1. En l’apartat de cobertura caldrà dir el percentatge de població sobre el qual volem fer l’estudi. També marcarem el checkBox en el cas que vulguem que es mostri la població no afectada per la zona d’influència. Una vegada realitzada la operació, ens apareixerà el nombre d’habitants no coberts en el requadre blanc, a la part inferior.7
  2. Aquí cal introduir el radi inicial a partir del qual treballarem amb les entitats puntuals. Es una radi inicial mitjà a partir del qual i segons la capacitat de cada centre s’assigna el radi inicial particular de cada un.8
  3. En aquest apartat es pot escollir zones d’influència de graf si se selecciona l’opció ‘fer servir trams’. En cas contrari, les zones d’influència són circulars. En cas de fer servir trams, podem fer que es vegi el dibuix del graf marcan el checkBox corresponent. També es pot modificar el radi de la zona d’influència canviant el valor en el textBox.9
  4. En el cas que la opció de ‘fer servir trams’ estigui habilitada, cal escollir un graf sobre la qual treballar, mitjançant la pestanya desplegable. També podem escollir el color de l’àrea d’influència i modificar el traç amb la pestanya desplegable inferior.10
  5. En últim lloc, a la part inferior de la finestra podem trobar la versió de la plugin amb la que estem treballant i dos botons: ‘INICI’ per començar el processament de les dades i ‘SORTIR’ per tancar el plugin.11

 

Creació del plugin ‘Taula Resum’

Introducció

En aquest post es podrà llegir els passos que cal seguir per a construir el plugin ‘Taula Resum’ per a QGIS.

En el plugin ‘TaulaResum’ cal destacar el canvi de filosofia que s’ha produït amb el canvi de GeoMedia, el qual treballa amb bases de dades locals, al QGIS. En canvi amb aquest últim hem passat a treballar amb un topologia client-servidor, que permet que tots els usuaris que disposin de les credencials podran accedir a les bases de dades sempre que vulguin i des de qualsevol lloc. I només el cal tenir el mòdul QGIS amb el mòdul instal·lat i podran treballar.

Sempre que fem referència a qualsevol element de l’entorn de programació o QGIS, aquest és explicat en el post sobre ‘com preparar l’entorn’.

Procés de creació

Disseny de la interfície

El primer que vam fer va ser la creació de la interfície del plugin. Un cop hem creada l’estructura del plugin amb el ‘Plugin Builder’, vam obrir l’arxiu amb format *.ui amb el Qt Designer i començarem amb la creació. Primer va caldre posar les pestanyes més exteriors (QTab Widget) i dimensionar-lo de manera adequada. Al voltant, vam afegir els elements que ajudaran a escollir els filtres, els mètodes de treball, l’elecció de la connexió i els botons per crear la taula i sortir. Un costum que tenim és el de posar una etiqueta amb la versió de la plugin, ja que ajuda a la identificació de quines són les funcions que pot tenir un plugin. Els plugins poden patir diferents actualitzacions i les funcions poden variar. En el cas de que hi hagi un error en una versió que no és la més recent, l’etiqueta facilita la detecció de l’error i es pot corregir ràpidament. El resultat de tot això es pot veure a la figura 1.

p1
Figura 1

Un vegada fet, vam afegir els elements de dintre les cinc pestanyes dels filtres. Finalment, el que vàrem fer és donar-li un nom que ajudi a la identificació de cada element interactiu de la interfície. Aquest serà el nom que utilitzarem per poder-hi interactuar dins el codi principal que controlarà el plugin. A la figura 2 es pot veure com quedaria la finestra amb la pestanya principal omplerta.

p2
Figura 2

Recomanem que siguin el més explícits possible ja que es podran evitar errades i també ajudaran a facilitar la comprensió del codi, com per exemple ‘ComboConnexio’ en referencia a la pestanya desplegable on s’hi indicarà la connexió que volem escollir.

Interacció amb les Bases de Dades

Per a poder realitzar qualsevol acció sobre la base de dades cal primer saber el nom d’usuari, nom de la base de dades, servidor i contrasenya. És recomanable guardar aquestes dades en variables globals i aconseguirem accedir-hi des de qualsevol funció en qualsevol moment. També cal fer l’import de la llibreria psycopg2 (import psycopg2) al principi del codi.

Per establir la connexió hem utilitzat el codi següent:

#Connexio
nomBD = nomBD1.encode('ascii','ignore')
usuari = usuari1.encode('ascii','ignore')
servidor = host1.encode('ascii','ignore')
contrasenya = contra1.encode('ascii','ignore')
try:
  estructura="dbname='"+nomBD+"' user='"+usuari
  +"' host='"+servidor+"' password='" + contrasenya + "'"
  conn = psycopg2.connect(estructura)
  cur = conn.cursor()
  cur.execute(Sentencia_sql)
  resultat = cur.fetchall()
  conn.close()

Utilitzarem la comanda execute(<sentencia SQL>) per realitzar la consulta. Per poder passar els resultats i per poder-los tractar utilitzarem la comanda fetchall() que retorna una matriu amb tots ells. És important tancar la connexió un cop haguem fet les consultes necessàries.

En el cas que ens ocupa, hi ha tres pestanyes del grup de pestanyes principals que necessiten llegir dades de la BD i exposar-les en els seus respectius camps. Com per exemple en la pestanya ‘Estudis’ hi ha un requadre amb una llista (QListWidget) on cal llistar-hi tots els estudis que hi pot haver i que tenim emmagatzemats a la taula del Padró. El que busquem nosaltres és una consulta que ens retorni els diferents tipus d’estudi que hi ha i ho hem resolt amb la sentencia SQL següent:

select distinct("HABNIVINS"),"NINDESCRI" from "public"."Padro" order by 2;

El camp “HABNIVINS” és l’identificador de l’estudi i el “NINDESCRI” és el nom de l’estudi que apareixerà al requadre de la llista. L’identificador de l’estudi el vincularem a l’estudi per mitjà del ToolTip(), que posteriorment ens facilitarà la construcció de la consulta que l’usuari desitja.

Connexió dels botons

Per poder vincular i recollir els estats dels elements de la interfície cal fer els següents passos. Primer de tot cal fer from TaulaResum_dialog import TaulaResumDialog per tal de poder vincular el fitxer de la interfície amb el codi.

Aleshores, a la funció init(), que ja ve creada pel Plugin Builder, hi posem les següents comandes:

self.dlg = TaulaResumDialog()
self.dlg.btoNACIONALITAT.toggled.connect(self.on_click_MarcarBotoNACIONALITAT)
self.dlg.comboConnexions.currentIndexChanged.connect(self.on_Change_ComboConn)

El primer inicialitza el diàleg amb el què hem d’interaccionar. Les altres dos activen les seves funcions respectives cada vegada que el valor que tinguin variï. Segons el tipus d’element que sigui, es pot canviar l’aparença o carregar elements per pantalla.

Cada element de la interfície ha de tenir una funció vinculada a ell per tal de que el codi sigui capaç de veure en quin estat està.

Programació dels efectes dels botons

Cada vegada que l’usuari interaccioni amb un dels elements de la interfície es produirà un efecte. En aquest apartat s’introduirà un exemple d’aquest tipus de comportament. Per l’exemple utilitzarem el codi següent:

def on_click_MarcarBotoEDAT(self, clicked):
if clicked:
  self.dlg.btoEDAT.setStyleSheet('background-color: #7fff7f')
  self.dlg.GrupPestanyes.setCurrentIndex(0)
else:
  self.dlg.btoEDAT.setStyleSheet('background-color:rgb(227,227,227)')

Aquesta funció es dedica a controlar l’aspecte del botó del filtre d’Edat. Si és clicat, canvia de color de fons i mostra la pestanya del filtre d’edat per tal que l’usuari esculli els paràmetres que vol analitzar. Altrament, li torna a posar el color de desactivat.

A més a més, cal tenir en compte que els elements de la interfície tenen memòria i que un cop els hi canviem l’estat, creem la taula i tanquem el plugin, una vegada el tornem a obrir, conserven el seu estat anterior. Això fa necessària una funció que posi aquests elements en el seu estat inicial cada vegada el que el plugin s’obri i s’utilitzi.

En el nostre cas, la majoria d’elements de la interfície tenen efectes molt senzills com el que hem explicat fa un moment però hi ha un botó que realitza una funció més complexa: crear la taula resum. Aquesta funció recull totes les dades que l’usuari ha introduït sobre els filtres que desitja analitzar, comprova que no hi hagi cap error o que falti alguna dada, es connecta amb la base de dades i escriu el resultat en fitxers de text .csv per a que l’usuari els pugui utilitzar sempre que vulgui.

Un altre punt important és el control d’errors. Cada cop que es produeixi un resultat no esperat s’ha controlar i avisar a l’usuari del que ha passat i indicar-li els passos per corregir l’errada. En el nostre cas, els errors més comuns es produeixen a l’hora de crear les consultes: l’usuari no introdueix correctament les dades de la consulta. Però també pot ser que la connexió no estigui disponible o que l’usuari no tingui els permisos adequats de lectura.

Quan es tracta d’un error relacionat amb la connexió s’adverteix a l’usuari per mitjà d’una etiqueta que n’indica l’estat. En el cas de tenir problemes amb la consulta, apareixen finestres amb el missatge d’error.

Prova del plugin

Una vegada hem programat totes les funcions, cal comprovar que els resultats són els esperats. Per fer-ho, cal que utilitzem el GeoMedia amb el plugin que s’utilitzava anteriorment i comprovar que si posem les mateixes variables d’entrada obtenim el mateix resultat.

Cal que el procés sigui exhaustiu perquè cal revisar cadascuna de les funcions que s’han implementat. S’han de fer totes les combinacions possibles i comprovar que el número de resultats ha sigut igual. En el cas que no ho sigui, s’han de comparar els codis i veure el punt on difereixen.

Elements de Simulació en l’Anàlisi Urbà

Activitats Econòmiques

El mòdul per visualitzar les activitats econòmiques, tal com ja es va explicar en aquest Bloc, permet a més a més de ubicar les activitat segons una llista de descriptors, definir tambè una zona d’influència i representar mitjançant un mapa temàtic la població que es troba a fora d’aquesta zona d’influència.

Característiques interessants de la representació són el poder escollir com a zona d’influència, la que hi ha a l’entorn del Graf de Trams de Carrer (GTC) que es genera al recòrrer a peu en distància o en temps a partir del punt on es desenvolupa l’activitat, igualment es pot escollir si es vol generar el mapa temàtic de la població exclosa i altres paràmetres de la generació del graf.

S’utilitzarà un mòdul del CCU que permet conèixer quin tant per cent de la població, possible usuària un recurs determinat, es troba dins d’una zona d’influència determinada pel desplaçament a peu, mesurada en distància o en temps. És el mòdul anomenat ‘Mesura de la Població Afectada’

Cas1: Panaderies o pastisseries amb la Zona d’Influència GTC que es genera anant 3 minuts a peu, i la població externa, segmentada per ILLES de cases. Vegeu la figura 1

Fig 1. Zones d’Influència GTC de 3m a peu i població exclosa: Forns de Pa

Cas 2: Peixeteries amb les mateixes condicions de 3m a peu. Vegeu la figura 2.

Fig 2. Zones d’Influència GTC de 3m a peu i població exclosa: Peixateries

Fig 2. Zones d’Influència GTC de 3m a peu i població exclosa: Peixateries

Cas 3: Papereries i llibreries en les mateixes condicion de 3m a peu. Vegeu la figura 3.

Fig 3. Zones d’Influència GTC de 3m a peu i població exclosa: Papereries i Llibreries

Tal com es pot veure en les corresponents figures en el cas dels forns de pa és difícil trobar zones on instal·lar un nou forn de pa que no estiguin dins de les arees d’influ-ència dels anteriors, encara que sí que n’ni ha en alguns punts de la ciutat. En el cas de les peixateries ja és molt més fàcil trobar-ne i en el cas de les papereries està en un punt intermig.

En aquest darrer (figura 3) cas hem volgut posar de manifest una altra de les possibi-litats del mòdul que és representar el punt on es troba l’activitat amb un tamany que és proporcional al tamany real en metres quadrats del local, exagerant una  mica l’escala del punt.

Simulació de la incorporació d’una nova activitat. Cas de les Peixeteries

En el mapa de la figura 2 podem veure a baix de tot que hi ha una zona molt poblada (ILLES més fosques) on no hi ha cap comerç d’aquest tipus. Simulem per tant que sobre un nou comerç en el punt que mostra la figura 4, encara sense zona d’influència delimitada.

Fig 4. Simulació d’una nova peixateria (punt vermell sense ZI)

Amb l’eina corresponent simulem la Zona d’Influència GTC visualizant el temàtic per ILLES de població exclosa i el tant per cent de cobertura. Figura 5

Fig 5. Simulació d’una nova peixateria amb ZI-GTC i temàtic de població exclosa

En el primer cas obtenim una cobertura del 58.15 % i en el segon del 60.53 %

Fragment del Quadre de Diàleg del mòdul 'Població Afectada'. Sense la Nova Peixateria

Fragment del Quadre de Diàleg del mòdul. Amb la Nova Peixateria

 

 

 

 

De manera que si ho volem saber exactament quants habitants hi ha a menys de 3 minuts d’aquest nou emplaçament tindriem:

(60.53-58.15)*123.744=2945 habitants

Àrees d’Influència d’Equipaments

El mateix que s’ha fet amb activitats econòmiques o comercials es pot fer amb equi-paments que realitzen un servei determinat. Ara es veurà un exemple amb els Centres d’Assitència Primària.

Suposem que tenim uns Centres d’Assistència Primària i volem saber la població que es troba a menys de 5 minuts a peu seguint el Graf de Trams de Carrer. En principi fem la representació dels entorns de cada centre i a 5 minuts, vegeu la figura 6

Fig 6. Zones d’Influència GTC a 5m dels CAP

Mitjançant el mòdul corresponent podem saber el tant per cent de a població total que està dins d’aquestes Zones d’Influència a 5 m del corresponent CAP. La interfície la podem veure a la figura 7

Fig 7. Quadre de Dialeg per a Definir la Zona d’Influència GTC i calcular la població inclosa. En aquest cas un 28.3 % del total d’usuaris potencials

Fixem-nos que el càlcul s’efectua a partir de la segmentació de la població per parcel·les tal com mostra la figura 8 amb un detall de mapa amb les ZI i les parcel·les que hi són en contacte.

Fig 8. Detall del procediment de calcul de la població a partir de la segmentació en parcel•les.

A efectes de simulació de possibles escenaris podem posar un nou CAP i tornar a fer els càlculs anteriors. El resultat és una cobertura del 32,11 % com mostren les figures 9 i 10

Fig 9. Simulació de la inclusió d’un nou CAP

Fig 10. Quadre de Diàleg amb Població Afectada. Simulació de nou CAP.

Tal com s’ha dit podem saber igualment la quantitat de població que es veurà bene-ficiada per aquest equipament en les condicions de proximitat que ens interessi, i anar-ho repetint per a qualsevol emplaçament que es vulgui testejar.

(32,11-28,3)*123.744= 4629 habitants

Aquestes eines gràfiques d’anàlisi no solament poden ajudar a tenir una fotografia més exacta del significat de tenin un equipament o una activitat en un lloc concret de la ciu-tat sinò que ens permeten visualitzar els efectes de tots els canvis i modificacions que es facin sobre tots els ciutadans o els usuaris en particular

Mòdul generador de polígons de Voronoi (1/2)

En aquesta entrada es comentarà de forma extensa el nou mòdul del CCU “generador de polígons de Voronoi” des de el punt de vista del programador.

La funció d’aquesta nova aplicació serà la de poder generar zones d’influència per els diversos centres proveïdors de servei en Mataró, així com Escoles, CAPS, parades de bus etc. Aquest sistema s’implementarà amb un mètode geomètric anomenat Voronoi

Els diagrames de Voronoi són un dels mètodes d’interpolació més simples, basats en la distància euclidiana, sent especialment apropiada quan les dades són qualitatives. Es creen en unir els punts entre si, traçant les mediatrius dels segments d’unió. Les interseccions d’aquestes mediatrius determinen una sèrie de polígons en un espai bidimensional al voltant d’un conjunt de punts de control, de manera que dintre de cada polígon o regió la distància a un punt de control associat és sempre menor que a qualsevol altre punt de les altres regions.

Fig. 1. Exemple de diagrama de Voronoi

Algoritme utilitzat

Primer de tot és comentarà l’algoritme utilitzat per du a terme la nova aplicació, trobats a la pagina web de l’informàtic japonès Takashi Ohyam.

http://www.nirarebakun.com/voro/evoro.html

El programa final ha constat  d’una sèrie de mòduls i un formulari.

Fig. 2. Llistat de mòduls i formulari del projecte.

 

Formulari

Primer de tot s’ha creat el formulari, que serà la finestra que apareixerà una vegada pitgem per accedir al mòdul creat. El formulari el podem veure a continuació.

Fig. 3. Formulari de la aplicació creada.

Ara comentaré part per part els diferents desplegables i botons utilitzats en el formulari.

  • En el primer desplegable hem de seleccionar la classe d’entitat puntual sobre el qual volem crear els polígons de Voronoi.

Fig. 4. Desplegable per seleccionar l'entitat puntual.

Fig. 5. Codi relacionat amb el desplegable de selecció d'entitat puntual.

  • En el segon desplegable, haurem de seleccionar la classe d’entitat d’àrea que volem que limiti els polígons de Voronoi. En el nostre cas el terme municipal de Mataró.

Fig. 6. Desplegable per seleccionar l'àrea delimitant.

Fig. 7. Codi relacionat amb el desplegable de selecció d'àrea delimitant.

  • Per últim, seleccionarem la classe d’entitat de línia de sortida. És a dir, on volem que vagin a parar les línies o segments que formaran els polígons de Voronoi finals.

Fig. 8. Desplegable per seleccionar la sortida de les línies dels polígons.

Fig. 9. Codi relacionat amb el desplegable del desplegable de selecció de sortida.

  • Botó “calcular Voronoi”.

Aquest botó el que ens farà serà primerament carregar les dades seleccionades als                 quadres de diàleg del formulari, utilitzant la subrutina “Carregar_dades”.

Fig. 10. Botó calcular Voronoi.

Fig. 11. Codi que va darrere del botó "Calcular Voronoi".

I finalment executarà la subrutina Voronoi_mapa ( que conté l’algoritme ) i d’aquesta manera formarà els polígons desitjats. Aquesta subrutina serà comentada més endavant en l’explicació del mòdul voronoi_code.

  • Botó Sortir

El botó sortir, simplement seria per poder sortir de la aplicació en qualsevol moment.

Fig. 12. Botó sortir.

Fig. 13. Codi que va darrere del botó sortir.

Mòduls

Pel que fa als mòduls, comentaré els dos mòduls principals ( “Obtencio de coordenades”i “voronoi_code”) ja que la resta són creats de forma automàtica quan creem el Geomedia Comand Wizard, que seria el plug-in per tal de poder utilitzar l’aplicatiu VB en el geomedia (Explicat en l’annex II). Tot i que com es veurà més endavant també s’afegeixen algunes funcions necessàries en el mòdul “OperacionsGM”.

Mòdul Obtenció de coordenades

Aquest mòdul és essencial per poder passar al algoritme les coordenades de les diferents classes d’entitats puntuals o serveis sobre les quals haurà de crear les zones d’influència (polígons Voronoi).

El mòdul consta de la subrutina “proximitat”, que li entren els paràmetres rs, entitats.SelectedItem i entitats.ConnectionName procedents de la subrutina “carregar_dades” esmentada al formulari.

  • El primer pas per obtenir les coordenades és afegir a la taula de l’entitat puntual escollida per l’usuari les coordenades X Y d’aquesta. Això és codifica de la següent manera:

  • Generem un recordset afegint a la taula de l’entitat puntual escollida els atributs funcionals que s’han definit anteriorment (Xep, Yep). Un recordset és una estructura utilitzada en programació que permet emmagatzemar informació des d’una taula d’una base de dades.

 

  • Passem el resultat de la consulta (recordset) a una array per les X i per les Y.

  • Obtenim les coordenades en les variables X i Y, que seran utilitzades més endavant en el mòdul Voronoi_code, de cara al algoritme.

Modul Voronoi_code

Aquest mòdul consta bàsicament del algoritme i de subrutines i funcions d’ajuda per que es puguin crear els polígons de Voronoi sobre les coordenades de les classes d’entitats puntuals obtingudes gràcies al mòdul anterior.

La subrutina principal del mòdul és “voronoi_mapa”que podem veure comentada per part seguidament.

  • Primerament, definim les variables i recordsets necessaris per la utilització del programa.

  • Calculem els paràmetres ample i altura que seran utilitzats més endavant en l’algoritme.

  • Establim alguns recordsets necessaris i definim les noves variables utilitzades en l’algoritme. També cridem la funció “borrar_entitat”, que ens permetrà cada vegada que obrim el mòdul buidar la classe d’entitat de línia que he utilitzat per crear el Voronoi anterior.

  • Definim la variable NNN que determina el nombre d’entitats que te la classe d’entitat seleccionada. També  a última hora es van haver d’augmentar el número de posicions dels vectors utilitzats en l’algoritme, ja que en alguns casos on hi havien moltes entitats no acabava de completar l’algoritme per totes elles.

  • Comença l’algoritme amb el següent bucle, ens carrega en memòria totes les entitats en les coordenades corresponents, de cara a crear els polígons.

  • ad(i-1), rep el valor del mòdul de les coordenades X i Y de cada punt i l’utilitza alguns cops en l’algoritme


  • Cridem la subrutina “hSort” passant-li els paràmetres NN, ad, ax, ay calculats anteriorment.


  • Es va executant el gruix de l’algoritme (explicat en l’apartat algoritme i codi inicial) .

  • Finalment amb la funció  Inserta_linia es formen els segments dels polígons a partir d’un punt inicial i un punt final, on les coordenades dels punts serien respectivament x0= kx(k-1) y0= Ky(k-1) i les finals x=kx(k2-1) i y= Ky(k2-1).

Els segments resultants es guarden en un recorset anomenat “Recordset_linia”.

  • Per últim, haurem de mostrar el resultat aconseguit en el mapa i la llegenda

– Seleccionem l’estil de la línia i el nom que li volem posar al resultat.

– Introduïm la entrada de la llegenda en la primera posició

  • Per compilar l’arxiu el programa creat, haurem d’anar a Archivo> generar nomprojecte.dll com podem veure en la següent captura d’imatge. En cas, que no doni cap error de compilació se’ns haurà creat un arxiu ddl i estarà llest per carregar-ho al Geomedia.

Fig. 14. Generar.dll.

Cada vegada que s’hagin fet canvis en el programa, s’haurà de crear una nova dll, de cara a que els canvis sorgeixin efecte en el Geomedia. Com també haurà d’estar tancat el Geomedia Professional m’entres és realitza aquest procés, ja que en cas contrari donarà error.


 


 

 

 

 

 


 

 

Sobre el Graf de Trams de Carrer (GTC)

 

Tal com ja s’ha comentat en aquest bloc quan hem parlat del ‘Nou concepte de Zones d’Influència’, un element bàsic de la modelització dels desplaçaments a la ciutat de Mataró és el Graf de Trams de Carrer (GTC). Aquest graf està format per segments i nodes, cada segment és un tram de carrer (part del carrer entre cruïlles) i els nodes són precisament les cruïlles.

El GTC es pot obtenir de moltes maneres, però en resum hi ha dos orígens bàsics, ad­quirint-lo a una empresa especialitzada (com per exemple Navteq o  TomTom) , on s’inclouran informacions sobre els sentits de circulació en cada via i els girs prohibits i autoritzats en cada nus i moltes altres coses, o bé generant-lo nosaltres mateixos, aquí s’ha optat pel segon cas, més que res per que es vol estudiar més el desplaçament de vianants  que no pas el de vehicles i d’aquesta manera podem afegir i incloure en el GTC trams que no siguin vials de carrer, com ara camins de vianants dins de parcs o zones verdes i recorreguts específics de la gent que va a peu.

Des del punt de vista d’un SIG el GTC està format per un conjunt d’entitats, o classe d’entitat, segons la terminologia del GeoMedia, de tipus lineal, els segments del graf, i un conjunt d’entitats de tipus punt, els nodes. Aquestes entitats lineals han de ser total­ment connexes si es vol navegar al seu través, o sigui, no hi pot haver cap punt de des­connexió o discontinuïtat. També a part de les característiques geomètriques de cada classe d’entitat, línies i punts, cal que hi hagin uns atributs associats a cada element si­gui aquest segment o node.

Quins són aquests atributs?

En primer lloc hi ha d’haver un codi per a cada segment i un codi per a cada node aquests dos codis han d’estar relacionats, és a dir,  dins de cada segment hi ha d’haver informació d’entre quins dos nodes està definit aquell segment en concret, i això per a tots els segments, d’aquesta manera amb aquestes dues llistes la de segments amb els codis dels nodes dels extrems de cada segment i la dels nodes s’estableix la morfologia del graf i es podria calcular una ruta encara que no tinguéssim la imatge geomètrica precisa.

Un altre atribut que podem tenir dins de la taula de segments és sobre l’ orientació o sentit del tram, aquesta orientació és arbitrària i s’agafa en el moment de definir el graf, per tant ens cal saber quin és el node d’origen del tram i quin el node de final del tram, per tant aquests nodes extrems del tram no són qualssevol , un d’ells és des de on parteix el tram i l’altre és a on arriba.

Per la construcció del GTC utilitzem una eina del GeoMedia Transportation Manager que parteix d’una classe d’entitat lineal i ella mateixa et va guiant per acabar obtenint les dues classes d’entitat del graf, els segments i els nodes, automàticament és generen els camps: NodeId en la taula de nodes amb un codi per cada node, i els camps: EdgeId, FromNodeId, ToNodeId en la taula de segments, que ens indiquen el codi de segment, i des de quin node a quin altre node està definit el segment, respectivament. Aquests són els camps principals per la construcció del graf, després n’hi ha uns altres que anirem comentant a continuació. Vegeu a la figura 1 una part dels segments i els nodes del GTC amb els identificadors respectius.

Fig1. Segments i Nodes del GTC amb els codis de EdgeId (vermell) i NodeId (negre)

Si cliquem sobre del tram 1017 obtenim les informacions que es mostren a la figura 2, on es poden comprovar els valors dels atributs EdgeId, FromNodeId i ToNodeId i es pot veure que el tram 1017 efectivament va del node 836 fins al node 837 tal com es veu a la figura 1.

Fig2. Dades del Segment 1017

De la mateixa manera es pot comprovar que hi ha molts altres camps dins dels atributs del tram, fixem-nos de moment en els camps LENGTH i Cost i Cost_invers.

Per què volem el GTC?

Per a dues coses, en primer lloc per a navegar des d’un punt de la ciutat fins a un altre, aquesta navegació ens ha de portar al conjunt de segments concatenats que uneixin el punt inicial amb el punt final segons un determinat criteri d’optimització que podria ser minimitzant la distància o minimitzant alguna altra variable (a la figura 3 es mostren els trajectes a les 3 Escoles Bressol més properes des d’una adreça concreta de la ciutat)  i en segon lloc per desplegar a partir d’un punt el conjunt, ramificat en arbre, de trajectes fins a assolir una determinada distància màxima o un valor màxim d’un altre indicador (vegeu la figura 4)

Fig 3. Trajectes a les 3 Escoles Bressol més properes des d’un punt de la ciutat seguint el GTC. La variable a optimitzar és la distància.

A la figura 4 es pot veure aquesta construcció en arbre, seguin el GTC, a partir de l’entitat: Escola Bressol ‘Les Figueretes’ fins a una distància màxima de 250 m. Com es veu a la figura la progressió fins a assolir els 250 metres pot acabar en un punt entremig del tram.

Fig 4. Arbre corresponent a l’Escola Bressol ‘Les Figueretes’ sobre el GTC (segments i nodes) fins a una distància de 250 m.

Tant en el cas 1, camí o trajecte entre dos punts de la ciutat, com en el cas 2, arbre des­plegat sobre el GTC a partir d’un punt, s’ha utilitzat la distància, el camp LENGTH, de cada segment com a base dels càlculs, això vol dir el camí òptim de distància mínima entre dos punts o el desplegament per la xarxa de trams de carrer fins arribar a fer la distància fixada de 250 m.

Una altra possibilitat seria fer servir una altra variable a minimitzar quan volem definir un camí o a utilitzar quan volem definir un desplegament en arbre, aquesta variable se­ria la que tenim quantificada en els camps Cost i Cost_invers de cada tram. Així com la longitud del tram no depèn de si es recorre en un sentit  o en un altre, en canvi si es tre­balla amb una altra variable, com ara el temps de recorregut del tram, sí que depèn de les característiques específiques de cada tram, com ara el pendent, els obstacles i la ti­pologia (plataforma única, escales, etc.) i en aquest cas té sentit de tenir dos paràmetres per tram, per si es circula en el sentit definit del tram Cost o si es va en sentit contrari Cost_invers. Això pot donar lloc a diferències importants de recorregut o de conjunt de carrers a l’abast si es va de casa a l’Ambulatori o es torna de l’ambulatori, sobretot quan el terreny és accidentat, amb moltes pujades i baixades.

En resum, quan més acurada sigui la informació del GTC, i en concret de cada tram, més es podrà afinar en la cerca de recorreguts òptims i en la definició de les Zones d’Influència a través del graf. De la mateixa manera, la utilització de la variable temps com a funció de cost, ens dona una mesura molt més real de la proximitat o llunyania dels centres proveïdors de serveis al ciutadà però requereix de tenir un bon model de la velocitat en els desplaçaments.

Relació entre la capacitat d’un centre proveïdor de serveis i la seva àrea d’influència

 

Ja s’ha vist, en aquest mateix Bloc, com associar la població amb el territori, sabem que pot quedar associada a les Illes, parcel·les i els portals de la ciutat, i també s’ha vist com segmentar aquesta mateixa població segons determinats criteris, franja d’edat, estudis, procedència geogràfica, nacionalitat etc.

Ara anem a explicar com donat un determinat centre proveïdor d’un servei, per exemple un centre educatiu,  podem delimitar una zona del territori immediatament proper, de manera que ‘casin’ la capacitat del centre per una part i la població ‘target’ d’aquest zona propera per altra.

No cal dir que la vista del territori estudiat, en aquest cas la ciutat de Mataró, amb els centres proveïdors  del servei i les respectives àrees properes d’influència, pot donar una imatge, al menys teòrica, de la cobertura o no cobertura de les necessitats del global de la població en el servei objecte d’estudi.

Des d’un punt de vista tecnològic, és a dir, de les eines que ens poden permetre obtenir aquesta representació gràfica, un SIG (Sistema d’Informació Geogràfica) per sí mateix no ens permet obtenir-ho d’una forma fàcil i immediata. Per tant hem hagut d’anar a les funcionalitats base del nostre SIG, en aquest cas el GeoMedia, per generar un procés iteratiu i convergent de modificació de la zona d’influència fins que el nombre d’habitants continguts a la zona, coincideixi amb la capacitat de servei del centre estudiat.

Anem a veure-ho per un cas concret que coneixem. Suposem que volem estudiar la implantació de les Escoles Bressol Municipal a la ciutat de Mataró, recordem la situació dels centres en la figura 1.

Fig 1. Situació de les Escoles Bressol Municipals a la ciutat de Mataró.

Ja que els usuaris de les Escoles Bressol són nens entre 0 i 2 anys, el que s’ha de fer és preparar una segmentació de la població total que només tingui en compte aquesta franja d’edat, i també s’ha d’escollir si ho agreguem per Illes, parcel·les o portals. Utilitzarem el recurs basat en Visual Basic que ja vam explicar, la interfície seria la de la figura 2.

Fig 2. Escollim els habitants entre 0 i 2 anys agrupats per Illes.

Això vol dir exactament que tenim associat a cada illa de cases el nombre de nens entre 0 i 2 anys que hi ha empadronats en algun habitatge de l’illa. Ens cal també tenir associat a cada entitat Escola Bressol el nombre màxim de nens que pot acollir. A partir d’aquestes dues dades podem iniciar el procés de càlcul pròpiament dit. Cal tenir en compte que l’àrea d’influència resultant serà, probablement, diferent per a cada entitat ja que dependrà tant de la capacitat del centre com de la densitat que hi hagi a les illes del voltant de cada centre de nens entre 0 i 2 anys.

Fixem-nos en la interfície de càlcul de les Àrees d’Influència de la figura 3, aquí podem veure el formulari que s’ha d’omplir per iniciar el càlcul.

Fig 3. Interfície per generar les Àrees d’Influència

Els camps més importants són:

Tipus d’agregació: ILLES [podrien ser també Parcel·les o Portals]
Entitat Base: Escoles Bressol [a partir de les quals generem les Àrees d’Influència]
Paràmetre del Radi Incial: 400 [valor associal al radi de les Zones d’Influència incials]
Cobertura: 100% [si volem que Tota la població del rang tingui Escola Bressol, o només una part, en aquest cas aquest valor seria de menys del 100%]
Possibilitat de comptar els habitants que no estàn a cap zona: Sí
Possibilitat de fer un mapa temàtic de la població no inclosa: No
Treballar per Trams: No [Possibilitat d’agafar Zones d’Influència Circulars o a partir del Graf de Trams de Carrer]

Si premem el botó de ‘Calcular l’Àrea d’Influència’ obtenim el que surt a la figura 4.

Fig4. Àrees d’Influència de les EB Municipals

A l’anterior figura es pot veure l’Àrea d’Influència de cada Escola Bressol Muncipal on s’ha aproximat la població entre 0 i 2 anys de cada zona i la disponibilitat de places de cada centre. Encara que no es vegi a la figura 4, s’ha calculat igualment el  nombre de nens d’aquestes edats que queda fora del conjunt d’àrees, que és per a tota la ciutat de 1972. Cal pensar també que segons la mena d’agregació que es faci l’aproximació entre la xifra del recompte de nens dins de la zona i la del nombre de places serà més o menys propera, si comptem per illes l’error que es pot cometre és molt més gran que si comptem per parcel·les o portals, ja que a l’incloure o no una illa el nombre d’habitants de la zona canvia molt bruscament.

També hi ha la possibilitat de fer un mapa temàtic de tota aquesta població que queda fora, d’aquesta manera les illes més fosques són les que tenen més nens ‘exclosos’ en la situació actual de les Escoles Bressol Municipals i considerant una cobertura del 100%. Vegeu la figura 5.

Fig 5. Àrees d’Influència de les EB Municipals, amb mapa temàtic per illes de la població exclosa

Es imporant pensar que el que s’ha vist per les Escoles Bressol Municipals, es pot generalitzar a qualsevol grup d’entitats que ofereixin un servei determinat i de les que coneixem la seva capacitat en el servei, per exemple els Centres d’Assistència Primària, els Centres Cívics, les institucions socio-sanitàries, etc.

En un cop d’ull, si mirem per exemple la figura 5 podem saber a quins llocs de la ciutat seria més interessant que hi hagués un nou centre o a on no caldria que n’hi hagués un d’existent. L’eina permet fer simulacions modificant la ubicació i la capacitat d’un centre en concret observant com varien el nombre i distribució de la població no inclosa.

Igualment tot el que s’ha fet per les Àrees d’Influència circulars, a vista d’ocell, es pot fer també per les Àrees d’Influència seguint el Graf de Trams de Carrers, considerant els trajectes del vianants i donant una imatge més real de la capacitat d’accedir a un determinat servei.  Però això ja ho comentarem més endavant.

Nou concepte de Zones d’Influència lligat als desplaçaments de la població

 

Tots els Sistemes d’Informació Geogràfica (SIG) tenen el concepte de Zona d’Influència, normalment anomenat ‘buffer’, que consisteix en agafar una classe d’entitat (taula d’entitats) i generar en el seu entorn una àrea que amplia la frontera de les entitats una certa distància i respon a la idea de zona d’influència o zona de proximitat o de veïnatge.

Per tant si la classe d’entitat de la que volem definir el ‘buffer’ és una àrea, tal com hem dit, el seu ‘buffer’ és una altra àrea que comprèn l’entitat i té més o menys la mateixa forma, però si la classe d’entitat és lineal el seu ‘buffer’ és una àrea de tipus rectangular que pot estar arrodonida en els extrems  i si la classe d’entitat és puntual el seu ‘buffer’ és una àrea de tipus circular.

Un paràmetre característic de les zones d’influència és el ‘radi’ o distància, en realitat el concepte més adequat és el de distància ja que ens indica a quina distància de l’entitat base es troba el límit de la seva zona d’influència, però que en el cas d’entitats  puntuals, com que la zona d’influència és circular, sí que coincideix amb el radi d’aquest cercle.

Fig 1: Zones d’Influència sobre les Zones Verdes a una distància de 50 m.

A la figura 1 podem veure un exemple de les zones d’influència sobre entitats tipus àrea, com és el cas de les zones verdes accessibles de la ciutat de Mataró, en aquest cas s’ha considerat una distància fixa de 50 metres. Això podria tenir un sentit de comptar , per exemple, quants ciutadans viuen a menys de 50 metres d’una zona verda.

Un altre cas molt comú d’utilització de les zones d’influència seria veure quants ciutadans estan a més d’una determinada distància d’un centre proveïdor de serveis, com un Centre d’Assistència Primària (CAP) o un centre docent o un centre cívic, en aquest cas són molt útils els ‘buffers’ a l’entorn d’aquestes entitats, que normalment són representades com a entitats puntuals i per tant les seves zones d’influència seran circulars. Això ho podem veure a la figura 2 pel cas d’Escoles Bressol Municipals de la ciutat de Mataró.

Fig 2: Zones d’Influència a l’entorn de Escoles Bressol Municipals a 250 m

En aquesta figura es veuen els típics cercles que corresponen a les zones d’influència de les entitats puntuals i que podrien servir, tal com hem dit, per veure quanta població està a menys de 250 metres d’una Escola Bressol Municipal i quanta a més, per exemple.

Aquesta característica de dibuixar ‘buffers’ a l’entorn d’entitats és molt utilitzada en SIG quan es volen fer operacions espacials, com ara unió, intersecció, combinacions analítiques, agregacions etc. En el cas de les Escoles Bressol, es pot fer una agregació de tota la població (o dels infants entre 0 i 2 anys) que hi ha  dins de cada zona d’influència a partir de les dades que tenim prèviament agrupades per Illes de cases, parcel·les o portals, tal com s’ha descrit en un altre ‘post’ en aquest mateix bloc, indicant que es sumen tots els habitants que pertanyen a les entitats (siguin aquestes Illes, parcel·les o portals) que estan contingudes dins de la zona d’influència corresponent.

De totes maneres, en totes les operacions que tenen a veure amb la població i amb els seus desplaçaments per la ciutat, aquesta mesura de la proximitat directe que ens proporciona el ‘buffer’ dels SIG no sempre ens és útil, ja que si volem dir ‘nens que hi ha a menys de 250 m de l’Escola Bressol’ aquest concepte de ‘buffer’ ens mostra els nens que viuen  a menys de 250 m, però en línia recta, ja que és el radi de la zona d’influència. El que seria més real seria indicar els nens que hi ha a 250 m seguint la xarxa de carrers, comptant que els nens aniran a l’escola circulant pel carrer. També seria útil considerar en comptes de distància, el seu equivalent en temps, nens que hi ha a menys de 5 minuts del centre, i en aquest cas tenint en compte les facilitats o inconvenients que presenten els carrers, pendents, obstacles ,escales etc.

Això ens ha de portar a definir una nova zona d’influència lligada a la xarxa de trams de carrer (anomenem tram el segment de carrer entre cruïlla i cruïlla). En primer lloc considerarem la xarxa com a una entitat lineal arborescent que creix a partir de l’entitat puntual origen (en aquest cas serien les Escoles Bressol). Vegeu la figura 3

Fig 3. Graf de Trams de Carrer a partir de les Escoles Bressol fins a 250 m de distància

Efectivament  a la figura es poden veure els recorreguts a partir de l’entitat origen que faria un vianant anant en qualsevol direcció (sense passar dues vegades pel mateix lloc) i recorrent un màxim de 250 metres. Com es pot veure els possibles recorreguts depenen de la morfologia de la xarxa de carrers en cada lloc de la ciutat, a part de la pròpia distància a recòrrer. En aquest cas el sentit de distància és molt més real que considerant les zones d’influència clàssiques amb distància a vista d’ocell.

Com que volem tenir una zona d’influència amb les mateixes característiques que la definida de forma clàssica, hem de convertir aquest conjunt de trams en un àrea, agafant precisament un ‘buffer’ sobre aquesta entitat lineal (abans hem hagut de convertir el conjunt de trams en una entitat lineal única)

Fig 4. Zones d’Influència sobre el Graf de Trams de Carrer, distància 250 m

A la figura 4 es pot veure l’efecte d’agafar un ‘buffer’ sobre cada conjunt de trams desplegats a 250 m de la seva entitat origen. Aquest ‘buffer’ s’agafa a 20 m de les línies del graf de trams.

D’aquesta manera es poden continuar aplicant les operacions espacials que ens calguin pels nostres càlculs com si fossin àrees circulars, però amb l’avantatge d’uns resultats molt més realistes quan treballem amb població i distàncies.

 

WFS: Interactuació amb mapes.

Descripció.

La necessitat de transferir cartografia per Internet ha sigut, i encara és, un problema difícil. La cartografia digital conté un gran volum de dades d’informació, i enviar aquestes quantitats de megabytes per Internet és una tasca pesada, i lenta.

És per això que es va començar a treballar amb WFS, sigles de “Web Feature Service”, que és un servei estàndard que ofereix una interfície que permet sol·licituds de comunicació, permetent interactuar amb mapes WMS (Web Map Service).

A través d’una URL, es pot accedir a les dades cartogràfiques que s’hagin publicat a la taula WFS, i fer consultes específiques, més endavant es mostra un exemple.

Per realitzar aquestes operacions s’utilitza el llenguatge GML, que deriva de XML,  és l’estàndard a través del qual es transmeten les comandes WFS.

Un cop s’ha fet la publicació de la taula WFS i es té la URL que apunta a ella, es poden veure les dades en alguns SIG (Sistemes d’Informació Geogràfica) que permetin el tractament d’aquest tipus de dades, en aquest cas al Geomedia.

En aquest cas, s’ha decidit a utilitzar la taula de trajectes i proximitat a les tres escoles bressol més properes.

Com fer la publicació?

Primerament, des del servidor on està instal·lat el GeoMediaWebMap Professional, s’obre el Server Configuration Utility i es crea un nou servei amb el botó “Add”.

Creació del servei.

El següent pas és seleccionar l’opció Manipulate Feature Web Service.

Es deixen els valors per defecte i es va prement “Next”, s’haurà d’introduir un nom pel WFS.

Nom del servei.

Quan es demani el tipus de base de dades, introduir Microsoft Access. La resta es deixa per defecte, i es finalitza, el servei s’ha creat.

En aquest punt, s’obre el Geomedia i es carrega el mapa que es vol publicar, s’obre el “GeomediaWebMap Publisher Administrator”.

Configurant el Geomedia.

Es selecciona el servei que s’acaba de crear i apareixerà una barra amb botons. Polsar sobre el cinqué botó “PublishandPopulatetheGeoWorkspace”, i seleccionar la primera opció “PublishtheGeoWorkspace contents to theMetaData”. Es selecciona “Sí”.

Botó “settings”.

Es selecciona el segon botó, “settings”. Aquí s’ha de seleccionar l’arxiu .csf que conté el sistema de coordenades. Després es prem l’últim botó per tancar el menú.

En aquest punt només queda inicialitzar el servei, per fer-ho, es torna al Publisher Server Configuration Utility, es selecciona el servei que s’ha creat i es prem “Initialize”.

Servei inicialitzat.

Provar el servei des del navegador introduint l següent línia de comanda:

http://geoportalccu.tecnocampus.cat/ProvaWFS/request.aspx?version=1.1.0&service=wfs&request=getcapabilities

Codi GML creat.

Interpretació gràfica del codi GML.

Veure així el codi no és interessant, el més interessant és veure-ho transformat en un mapa, al Geomedia per exemple, a continuació es veu com es pot configurar el geomedia per tal de veure la informació del servei WFS.

Primerament s’ha de crear una nova connexió, de tipus WFS, en aquest cas s’ha creat de WFS només lectura, per tal de que les dades no es puguin modificar.

Nova connexió.

S’ha d’introduir la URL abans esmentada, i s’accepta.

Un cop creada la connexió, ja es poden mostrar les seves entrades des de la llegenda.

Ventana de mapa del Geomedia amb les dades.

Polígons de Voronoi

En aquest article es descriurà el funcionament dels polígons de Voronoi, una eina molt important a l’hora d’estudiar àrees d’influència.

Els polígons de Voronoi es basen en la distància euclidiana, i són molt apropiats quan les dades són qualitatives. Es tracta de fer una partició del pla, a partir d’uns punts que anomenarem punts generadors.

Aquesta partició del pla en regions té la peculiaritat de que des de qualsevol punt de dins d’una regió determinada, la distància al punt generador corresponent és sempre menor que la distància a qualsevol altre punt generador extern. Per tant, les fronteres de les regions són equidistants de dos o mes punts generadors.

Inicialment, aquest polígons van ser creats per l’anàlisi de dades meteorològiques, però avui en dia s’utilitzen també per determinar zones d’influència, que és el que s’explicarà en aquest article.

Els polígons de Voronoi serveixen per dividir un espai en un número determinat de regions. S’especifiquen un conjunt de punts (punts generadors) i quan es fa el diagrama, aquests queden dividits pels polígons, un punt en cada regió. Les regions s’anomenen cel·les o polígons de Voronoi.

Cada polígon correspon a l’àrea d’influència, per dir-ho d’alguna manera, del punt  que conté.

Primerament, crec que és interessant posar un exemple per entendre millor per a què serveixen els polígons:

Suposem el cas de que s s’està estudiant els centres d’atenció primària (CAP) del terme municipal de Mataró, i es vol construir un altre i no se sap on. Gràcies a les zones d’influència creades mitjançant els polígons de Voronoi, es podrà situar més o menys el nou CAP.

El programa que s’ha utilitzat, a més del Geomedia, ha sigut el Global Mapper.

Global Mapper és una potent aplicació que combina eines de tractament de dades espacials amb un accés a gran varietat de formats d’arxius. És molt útil com a complement del Geomedia.

Amb el Geomedia s’han exportat els caps com una única entitat, i el contorn de Mataró s’ha aconseguit agafant el perfil de la unió de totes les illes que formen Mataró.

Terme municipal amb els CAPS

Tots els arxius exportats són de tipus ShapeFile, per tal de que Global Mapper els reconegui i es pugui treballar amb ells.

Un cop es té el terme municipal de Mataró amb els CAPS, és hora de passar a l’acció, el procés és simple, i el resultat és molt satisfactori.

Primerament es selecciona tot i es crea el diagrama de Voronoi des del menú d’anàlisi.

Apareixerà una finestra en la que s’haurà d’indicar que es volen allargar els límits uns 4000 metres, això permetrà que, en cas de que el diagrama no arribi a tocar el perímetre de Mataró, aquest s’allargui fins a tocar-lo.

Allargar límits

Un cop allargats, només cal dir que el límit fins on s’allarguen els polígons és l’àrea contenidora, és a dir, el terme municipal de Mataró. Això es configura a partir del botó “Bounds” i seleccionant l’última opció. Per últim s’accepta per crear els polígons.

Limitar polígons

La imatge de Mataró amb els seus CAPS quedaria dividida pels polígons de Voronoi, hi hauria una cel·la per cada CAP.

Aquests polígons resultants, permeten veure l’àrea d’influència de cada CAP.

Polígons creats

Observant la imatge, es pot veure les divisions que corresponen a cada CAP, hi ha una concentració més elevada al centre urbà, degut a que la població és notablement més elevada.

El CAP de dalt a la dreta, el de Rocafonda-Palau, té molta zona d’influència, això és perquè la zona Nord de Mataró no està tant urbanitzada com la resta.

Segons la població, i el número de places de cada CAP, fent ús dels diagrames de Voronoi, es podria situar un futur CAP.