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

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

 

Manual de preparació de l’entorn d’usuari QGIS

Manual de preparació de l’entorn d’usuari QGIS

En aquesta secció s’expliquen els passos a seguir per instal·lar el programa QGIS en el nostre entorn. El primer pas a seguir és anar al lloc web de QGIS (www.qgis.org) i dirigir-se a l’apartat de descàrregues (http://qgis.org/es/site/forusers/download.html). Allà es podran trobar dues versions del programa: la versió més recent i la de llarg termini. Qualsevol de les dues és perfectament vàlida, tot i que si l’usuari del programa treballa per una empresa o institució pública, recomanem la versió de llarg termini. Un cop escollida la versió, només cal descarregar-la.27

Un cop descarregada, cal instal·lar-la en el nostre equip. Només cal que fem doble clic a l’arxiu que hem descarregat prèviament. Llavors s’executarà l’instal·lador i només cal seguir els passos que ens indica. Un cop completat aquest procés, ja podrem executar el QGIS.

Per poder instal·lar els plugins que s’utilitzen per tractar les dades cal anar a Complementos à Administrar e instalar complementos… i ens apareixerà una finestra com la següent:28 Anem a la pestanya de configuració.29

Marcarem la opció de “comprovar actualitzacions a l’inici”, que es troba a la part superior, i posteriorment escollirem la periodicitat de l’acció amb les diferents opcions del desplegable que podem trobar just a sota.
També és necessari afegir el repositori on es troben els plugins necessaris per treballar. Cal prémer el botó Añadir…, que es troba a la part inferior, i ens apareixerà la finestra que es mostra a continuació.30

En el camp de nom cal afegir un nom com per exemple “Plugins CCU Tecnocampus” i en el camp de la URL cal posar http://geoportalccu.tecnocampus.cat/plugins.xml. Un cop fet, acceptem i tornem a l’apartat de Todos. A la part superior hi podrem trobar un barra de cerca on buscarem els plugins necessaris: TaulaResum, Activitats Econòmiques i ZI-GTC.

Un cop els trobem, pitgem sobre ells i finalment només caldrà instal·lar-los en el nostre equip.31

Aleshores només cal tancar la finestra i afegir les connexions a la base de dades per a poder treballar amb el QGIS. Per últim només ens farà falta configurar la connexió amb la base de dades. Per poder-ho fer cal seguir els següents passos:

Primer cal cercar a la barra d’eines en el lateral esquerra de la nostra pantalla una icona com aquesta 32Un cop ho haguem fet, ens apareixerà una finestra com la de la figura 1. En allà cal prémer el botó “Nueva”, tal i com està senyalitzat a la mateixa figura. Posteriorment ens ha d’aparèixer una finestra com la de la figura 2. En allà cal introduir els camps necessaris per configurar la connexió: usuari, nom de la base de dades, servidor i contrasenya. Una vegada fet, només es necessari prémer el botó Acceptar de les dues finestres mencionades prèviament i ja tindríem l’entorn preparat per treballar.

33Figura 134

Figura 2

Manual d’ús del mòdul ‘ZI-GTC’

Manual d’ús del mòdul ‘ZI-GTC’

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üent17 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.18_2

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

  1. 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ó.19
  2. En segon lloc, trobem una pestanya desplegable on hi podem seleccionar la entitat puntual sobre la qual volem treballar.20
  3. 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.21
  1. 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.22
  1. 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.23
  1. 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.24
  1. 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.25
  2. 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.26
Manual d’ús del mòdul ‘TaulaResum’

Manual d’ús del mòdul ‘TaulaResum’

Aquest document explica el funcionament del plugin de ‘Taula Resum’ 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 de la figura 1 o anar a Complementos -> CCU -> Taula Resum i s’obrirà una finestra com la que podem veure a la figura 2.

icona figura 1

inici figura 2

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

  1. A la part superior esquerra, hi ha un rectangle on hi indicarem sobre quines capes volem treballar: illes, parcel·les, portals o totes tres alhora.met-treb
  2. A la part superior central, hi ha una pestanya desplegable amb les connexions disponibles (ja configurades prèviament) per a realitzar les operacions. Allà n’escollim una i seguidament la barra que hi ha just a sota n’indicarà l’estat.connexio
  3. A la zona lateral dreta hi podem trobar el selector de filtres que volem utilitzar per crear les taules. Només cal pitjar el filtre que vulguem aplicar per poder-lo emprar. Just a sota hi trobem dos botons més: crear taula i sortir. Crear taula inicia el procés de creació de taules i en el cas que hi hagi algun error en la configuració dels paràmetres per a la construcció d’aquestes, el procés s’interromp i ens apareix un missatge amb l’error. I el botó sortir, tanca el plugin.filtres
  4. Finalment, a la part central, tenim requadre amb cinc pestanyes amb les opcions per poder configurar els paràmetres de cada filtre. Seguidament els detallarem:
    • El primer que apareix és l’edat. En aquesta pestanya s’ha d’introduir en primer lloc una data segons la qual es vulgui fer l’estudi, per exemple 1 de maig de 2016. Després hem de posar el marge d’edat que volem definir en els camps edat mínima i edat màxima. Si volem fer una taula per les escoles bressol, cal posar 0 i 2 anys en els dos camps respectivament. Seleccionant la opció criteri restrictiu cercarem els nens que encara no hagin fet els 2 anys. En canvi seleccionant el criteri no restrictiu cercarem tots els nens que encara no han fet els tres anys.

pest

    • El segon criteri que apareix és el gènere. Podem decidir que la nostra cerca sigui en funció d’homes o de dones.

pest2

    • A continuació tenim els estudis: podem fer un filtratge segons els estudis que la persona hagi declarat tenir en el padró.

pest3

  • Un altre punt molt important seria l’origen no confondre amb nacionalitat. Una cosa és el país d’origen, és a dir, on ha nascut la persona en qüestió i l’altre la nacionalitat. La segona és quelcom més complex d’explicar, ja que està subjecte als conceptes de “ius sanguini” i “ius soli”. En el primer cas, quelcom comú als països europeus, africans i la Xina, els nen/a tenen automàtica la nacionalitat d’origen dels pares. Això comporta, per exemple, que un nen/a nascuda de pares marroquins a Mataró tingui nacionalitat marroquina. En el segon cas, si neixes en un país de dret de “ius soli”, obtens la automàticament la nacionalitat del país on neixes. Aquesta és la situació de la majoria de països llatinoamericans. Llavors, en aquesta finestra podem filtrar la nostre cerca segons diferents criteris:
    1. Pel país d’origen
    2. Per la zona del país d’origen
    3. Per que el seu país d’origen pertanyi a la unió europea.

pest4

    • Per últim la nacionalitat, que té els mateixos criteris de filtratge que en l’apartat anterior.

pest5

Una vegada aplicats els filtres a la cerca per qualsevol dels criteris explicats anteriorment, ja podem crear la teva taula resum, seleccionant tots els botons dels filtres sobre els quals volem fer la cerca i posteriorment pitjant al botó “crear taula”.

Creació del plugin ‘Taula Resum’

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.