Implementación de las funcionalidades QGIS3 para realizar el cálculo local en el módulo CTE

Implementación de las funcionalidades QGIS3 para realizar el cálculo local en el módulo CTE

En este post se mostrará el proceso de implementación de las nuevas funcionalidades que trae consigo la versión 3 de QGIS, las cuales permiten realizar operaciones complejas ejecutando simplemente un algoritmo. En este caso, se tomará como ejemplo el módulo CTE. Este módulo permite obtener los trayectos o caminos entre una dirección de Mataró y las N entidades más próximas.

Utilización manual de los algoritmos

En primer lugar, se debe habilitar el paquete de “Processing” en el caso de que no esté activado. Para ello se deberá ir a “Complementos” -> “Administrar e instalar complementos…” (Fig. 1).

Fig 1. Habilitar paquete “Processing”.

Tras haberlo habilitado aparecerá una nueva pestaña llamada “Procesos”, en la cual se deberá seleccionar “Caja de herramientas” para que se muestren en pantalla todos los algoritmos disponibles. Dicho elemento aparecerá en una barra lateral dentro de QGIS.

A continuación se debe probar si el algoritmo que se utilizará genera el resultado deseado. En el caso del CTE, el algoritmo que potencialmente puede interesarnos es el denominado “Ruta más corta (punto a capa)”, el cual se encuentra en la sección de análisis de redes (Fig. 2).

Fig 2. Caja de herramientas de procesos.

Dicho algoritmo necesita la capa vectorial que representa la red (en nuestro caso SegmentsXarxaCarrers), un punto de inicio y una capa vectorial con los puntos finales. Para realizar las pruebas se utilizarán (de forma totalmente arbitraria) un punto cualquiera del mapa de Mataró como punto de inicio y los IES como puntos finales. Por tanto, se deberán cargar en QGIS tanto SegmentsXarxaCarrers como los IES (Fig. 3).

Fig 3. Importación de los IES y SegmentsXarxaCarrers.

Abrimos el algoritmo, seleccionamos nuestra red, punto de inicio, puntos finales y el resto de los valores los dejaremos por defecto (Fig. 4). Acto seguido, ejecutamos.

Fig 4. Algoritmo “Ruta más corta (punto a capa)”.

Una vez haya finalizado la ejecución el algoritmo, se añadirá automáticamente el resultado a la leyenda (Fig. 5). Desde el punto arbitrario que se ha escogido en este caso particular el resultado sería el siguiente, en el cual se puede apreciar que produce el resultado deseado (buscar la ruta más corta a cada entidad).

Fig 5. Resultado del algoritmo (rutas más cortas).

Inclusión de los algoritmos en el código

Para poder utilizar los algoritmos proporcionados por QGIS e incluirlos en el módulo, será necesario realizar un “import processing” en el código para poder ejecutar la función “processing.run()”, la cual se encargará de ejecutar el algoritmo deseado. Dentro de esta función se le deberá indicar el ID del algoritmo que se vaya a utilizar y los parámetros que se le pasarán.

Para saber cuál es el ID del algoritmo, simplemente con poner el cursor sobre él nos aparecerá su nombre (Fig. 6).

Fig 6. ID del algoritmo.

Por otra parte, para saber qué tipos admite cada uno de los parámetros (y más información sobre el funcionamiento general del algoritmo) podemos usar la consola de QGIS e introducir el comando “processing.algorithmHelp(“native:shortestpathpointtolayer”)”.

En este módulo se ha querido preservar el cálculo que se realiza en el servidor mediante consultas SQL. Para poder mantener ambas opciones se ha optado simplemente por añadir un checkbox el cual propiciará que el módulo se ejecute en local si se ha marcado y, contrariamente, se ejecutará en el servidor cuando esté desmarcado (Fig. 7).

Fig 7. Checkbox de cálculo local en el módulo CTE.

Por tanto, en el código del módulo se ha escrito la siguiente función, la cual se encarga de ejecutar el algoritmo.

def calculo_Local(self,network_lyr,start_point,end_lyr):
    parameters={'INPUT':network_lyr,
                'STRATEGY':0,
                'DIRECTION_FIELD:'',
                'VALUE_FORWARD:'',
                'VALUE_BACKWARD:'',
                'VALUE_BOTH:'',
                'DEFAULT_DIRECTION':2,
                'SPEED_FIELD':'',
                'DEFAULT_SPEED':1,
                'TOLERANCE':0,
                'START_POINT':start_point,
                'END_POINTS':end_layer,
                'OUTPUT':'memory:'}
    return.processing.run('native:shortestpathpointtolayer',parameters)

A esta función se le pasan los siguientes parámetros:

  • network_lyr: es la capa vectorial que representa la red.
  • start_point: es el punto de inicio elegido por el usuario, es decir, la dirección que haya introducido.
  • end_lyr: es la capa vectorial que representa los puntos finales, es decir, las entidades que haya elegido el usuario.

El resto de parámetros son los que anteriormente se usaban por defecto y, teniendo en cuenta el uso que tiene este algoritmo en el módulo, nos interesa que sean esos valores fijos.

En el módulo CTE lo que se busca es mostrarle al usuario los N caminos más cortos, siendo N un número definido por el propio usuario. El algoritmo genera las rutas más cortas de todas las entidades por lo que, tras haber utilizado el algoritmo, se deberá realizar un filtrado de los caminos que tengan un menor coste según el número de entidades establecido por el usuario.

A partir de este punto, se representará el resultado utilizando el mismo código empleado cuando se realiza el cálculo en el servidor.

Cálculo por distancia/tiempo

El algoritmo utilizado, “Ruta más corta (punto a capa)”, puede funcionar definiendo el coste por distancia o por tiempo. Para realizar el cálculo utilizando la distancia lo que hará es comparar la longitud de los segmentos, mientras que por tiempo tomará el valor que le indiquemos de un campo en concreto o bien asignará una velocidad predeterminada.

En el caso del módulo CTE no representa ningún problema realizar el cálculo por distancia. Sin embargo, si se quisiera hacer el cálculo por tiempo, en la base de datos está definido un coste distinto dependiendo del sentido debido a que no se tarda el mismo tiempo en subir una pendiente que en bajarla. Desafortunadamente, este algoritmo está pensado para asignar una única velocidad para cada segmento sin tener en cuenta el sentido. Por tanto, todo lo que se ha descrito previamente sólo sirve para el caso de la distancia ya que en la actualidad este algoritmo no soporta esta dualidad de velocidades.

Diferencias rendimiento (ventajas/inconvenientes)

Las diferencias de rendimiento entre el cálculo en el servidor y la nueva opción de cálculo local varían en función de lo concurrido que esté el servidor en ese momento y del ordenador del cliente.

A continuación se muestra el tiempo que ha tardado el módulo en calcular cada uno de los destinos en servidor y local en unas pruebas de testeo.

Fig 8. Resultados del testeo. Eje X: puntos finales. Eje Y: tiempo de ejecución.

Tal y como se puede apreciar en el gráfico (Fig. 8), en el caso del cálculo en el servidor el tiempo de proceso aumenta de forma proporcional a la cantidad de entidades de destino que tiene que calcular. Por otra parte, el tiempo que tarda el cálculo local es sumamente sólido, siendo prácticamente una constante. Se tarda el mismo tiempo en calcular 4 destinos (CasalsAvisOficial) que 144 (ParadesBus).

Debido a que el cálculo local presenta una duración más estable, que de media tarda 5 segundos (mientras que el cálculo en el servidor tarda de media 7,9 segundos) y que libera carga en el servidor, esta nueva forma de realizar los cálculos representa una mejora en el módulo CTE y, por norma general, al usuario le interesará ejecutar este módulo marcando el cálculo local.

 

Cálculo en el servidor de los caminos más cortos en el módulo CTE

En este post se explicará cómo se realiza el cálculo en el servidor en el módulo CTE, el cual permite obtener los trayectos o caminos entre una dirección de Mataró y las N entidades más próximas.

Este cálculo se divide en 2 fases: cálculo de los caminos más cortos y la selección de los segmentos finales. Esto es debido a que la función pgr_withPointsKSP  (la cual se utiliza para calcular los caminos más cortos) tiene asociado el problema de que devuelve los caminos del grafo de nodo a nodo, no teniendo en cuenta que en la mayor parte de los casos tanto el punto de inicio como los finales estarán situados en un punto intermedio de un segmento (una arista). Para obtener más información sobre este tema se puede consultar el post “Cobertura mitjançant el graf de trams de carrers (GTC)” de Josep López Xarbau.

Cálculo de los caminos más cortos

En esta primera fase se utiliza la función de PGRouting, pgr_withPointsKSP. Esta función busca los N caminos más cortos utilizando el algoritmo de Yen.

Todo el código que se presentará a continuación pertenece al módulo CTE, el cual está programado en Python y se comunica con la base de datos de Postgres.

En primer lugar lo que nos interesa realizar es unir todos los puntos involucrados (tanto los de destino como el de origen) en una misma tabla para poder prepararlos para la función pgr_withPointsKSP.

De este modo, primero se borra y se crea una nueva tabla para guardar dichos puntos.

drop = 'DROP TABLE IF EXISTS NecessaryPoints_'+Fitxer+';'
try:
    cur.execute(drop)
    conn.commit()
except:
    print ("DROP TABLE ERROR 1")
create = 'CREATE TABLE NecessaryPoints_'+Fitxer+' (n'
create += "tpid serial primary key,n"
create += "tthe_geom geometry,n"
create += "tentitatID int8,n"
create += "tedge_id BIGINT,n"
create += "tfraction FLOAT,n"
create += "tnewPoint geometry);"
try:
    cur.execute(create)
    conn.commit()
except:
    print ("CREATE TABLE NecessaryPoints ERROR")

Acto seguido, se añaden los puntos a la tabla.

insert = 'INSERT INTO NecessaryPoints_'+Fitxer
insert += ' (entitatID,the_geom) (SELECT 0, ST_Centroid("geom") the_geom from "dintreilla"'
insert += ' WHERE "Carrer_Num_Bis" = ''+CNB+'');n'

insert += 'INSERT INTO NecessaryPoints_'+Fitxer
insert += ' (entitatID, the_geom) (SELECT "id", ST_Centroid("geom") the_geom FROM"'
insert += self.dlg.comboCapaDesti.currentText() + '" ORDER BY "id");'
try:
    cur.execute(insert)
    conn.commit()
except:
    print ("Insert Points NecessaryPoints ERROR")

Después se añade el id del tramo más próximo a cada punto, los puntos proyectados sobre el grafo y la fracción de segmento en la que se encuentran.

update = 'UPDATE NecessaryPoints_'+Fitxer
update += ' SET "edge_id"=tram_proper."tram_id"'
update += ' FROM (SELECT distinct on(Poi."pid") Poi."pid" AS Punt_id,Sg."id" AS Tram_id,'
update += ' ST_Distance(Sg."the_geom",Poi."the_geom") AS dist '
update += 'FROM "Xarxa_Prova" as Sg,NecessaryPoints_'+Fitxer+' AS Poi '
update += 'ORDER BY Poi."pid",ST_Distance(Sg."the_geom",Poi."the_geom"),Sg."id") tram_proper'
update += ' WHERE NecessaryPoints_'+Fitxer+'."pid"=tram_proper."punt_id";n'

update += 'UPDATE NecessaryPoints_'+Fitxer
update += ' SET fraction = ST_LineLocatePoint(e.the_geom, NecessaryPoints_'+Fitxer+'.the_geom),'
update += 'newPoint = ST_LineInterpolatePoint(e."the_geom",'
update += ' ST_LineLocatePoint(e."the_geom", NecessaryPoints_'+Fitxer+'."the_geom"))'
update += ' FROM "Xarxa_Prova" AS e WHERE NecessaryPoints_'+Fitxer+'."edge_id" = e."id";n'
try:
    cur.execute(update)
    conn.commit()
except:
    print ("Update Points NecessaryPoints ERROR")

Ahora ya está todo preparado para poder realizar el cálculo. Se hace una consulta para poder generar una sentencia SQL que haga la búsqueda de todos los caminos más cortos a todos los puntos necesarios y después se añaden a una tabla llamada “Resultat”.

select = 'select * from NecessaryPoints_'+Fitxer+' order by pid'
cur.execute(select)
vec = cur.fetchall() 
create = 'create local temp table "Resultat" as SELECT * FROM (n'
for x in range (0,len(vec)):
    if x < len(vec) and x >= 2:
        create += 'UNIONn'
    if x != 0:
        if vec[x][4] == 1.0 or vec[x][4] == 0.0:
            create +='select '+ str(x) +' AS routeID,'+ str(vec[x][2])
            create +=' AS entitatID, * FROM pgr_withPointsKSP'
            create +='('SELECT id, source, target, cost, reverse_cost '
            create +='FROM "Xarxa_Prova" ORDER BY id','
            create +=''SELECT pid, edge_id, fraction FROM NecessaryPoints_'
            create +=Fitxer+'',-1,' + str(vec[x][2])+',1)n'
        else:
            create += 'select '+ str(x) +' AS routeID,'+ str(vec[x][2])
            create +=' AS entitatID, * FROM pgr_withPointsKSP'
            create +='('SELECT id, source, target, cost, reverse_cost '
            create +='FROM "Xarxa_Prova" ORDER BY id','
            create +=''SELECT pid, edge_id, fraction FROM NecessaryPoints_'
            create +=Fitxer+'',-1,-' + str(vec[x][0]) +',1)n'
create += ')QW ORDER BY routeID, seq;'

drop = 'DROP TABLE IF EXISTS "Resultat";'
try:
    cur.execute(drop)
    conn.commit()
except:
    print ("DROP TABLE ERROR 2")

try:
    cur.execute(create)
    conn.commit()
except:
    print ("CREATE TABLE Resultat global ERROR")

A continuación se deberá solucionar el problema que se ha comentado en la introducción del post, es decir, se seleccionarán los segmentos que son inicio y final para añadirlos al resultado final.

Selección de los segmentos finales

Lo primero que se debe hacer es borrar y crear la tabla “Segments finals”, en la cual figurarán todos los caminos posibles que son principio y/o final.

drop = "DROP TABLE IF EXISTS "SegmentsFinals";"
try:
    cur.execute(drop)
    conn.commit()
except:
    print ("DROP TABLE ERROR 1")

create = "CREATE local temp TABLE "SegmentsFinals" (n"
create += "trouteid int8,n"
create += "tedge int8,n"
create += "t"edgeAnt" int8,n"
create += "tfraction FLOAT,n"
create += "t"ordreTram" int8,n"
create += "t"cutEdge" geometry);"
try:
    cur.execute(create)
    conn.commit()
except:
    print ("CREATE TABLE SegmentsFinals ERROR")

Después se realiza una consulta que determinará qué segmentos son inicio y final.

select = 'SELECT routeid, node, edge FROM "Resultat" ORDER BY routeid, path_seq;'
try:
    cur.execute(select)
    vec = cur.fetchall()
    conn.commit()
except:
    print ("SELECT Resultat ERROR")

insert = ''
for x in range (len(vec)):
    if vec[x][1] < 0:
        if vec[x][1] != -1:
            insert +='INSERT INTO "SegmentsFinals" (routeid, edge, "edgeAnt", "ordreTram") '
            insert +='VALUES (' + str(vec[x][0]) + ', ' + str(vec[x-1][2]) + ', '
            insert +=str(vec[x-2][2]) + ', ' + str(2) +');n'
        else:
            insert +='INSERT INTO "SegmentsFinals" (routeid, edge, "edgeAnt", "ordreTram") '
            insert +=VALUES (' + str(vec[x][0]) + ', ' + str(vec[x][2]) + ', '
            insert +=str(vec[x+1][2]) + ', ' + str(1) + ');n'
try:
    cur.execute(insert)
    conn.commit()
except:
    print ("INSERT TABLE SegmentsFinals ERROR")

Se realiza un UPDATE para poder añadir la fracción de segmento en la cual se encuentra el punto.

select = 'SELECT routeid, edge, "ordreTram" FROM "SegmentsFinals" ORDER BY routeid, "ordreTram";'
try:
    cur.execute(select)
    vec = cur.fetchall()
    conn.commit()
except:
    print ("SELECT SegmentsFinals ERROR")

update = ''
for x in range(len(vec)):
    ruta = vec[x][0]
    edge = vec[x][1]
    ordre = vec[x][2]
    if ordre == 1:
        update +='UPDATE "SegmentsFinals" s SET fraction = n.fraction FROM NecessaryPoints_'
        update +=Fitxer+' n where n.edge_id = '+str(edge)+' AND s.edge ='+str(edge)
        update +=' AND s."ordreTram" = 1 AND s.routeid = '+str(ruta)+' AND n.entitatid = 0;n'
    else:
        update +='UPDATE "SegmentsFinals" s SET fraction = n.fraction FROM NecessaryPoints_'
        update +=Fitxer+' n where n.edge_id = '+str(edge)+' AND s.edge ='+str(edge)
        update +=' AND s."ordreTram" = 2 and s.routeid = '+str(ruta)
        update +=' AND n.pid = '+str(ruta+1)+';n'

try:
    cur.execute(update)
    conn.commit()
except:
    print ("UPDATE TABLE SegmentsFinals ERROR")

A continuación se realiza una consulta para escoger y añadir el trozo de tramo que corresponde a cada inicio y final. Posteriormente se hace un UPDATE del campo de geometría de la tabla “SegmentsFinals” con los tramos ya recortados.

select = 'SELECT * FROM "SegmentsFinals" ORDER BY routeid;'
try:
    cur.execute(select)
    vec = cur.fetchall()
    conn.commit()
except:
    print ("SELECT SegmentsFinals ERROR")
updateSegment = ''
for x in range(len(vec)):
    ordre = vec[x][4]
    fraction = vec[x][3]
    edgeAnt = vec[x][2]
    edge = vec[x][1]
    selectTouch ='SELECT ST_Touches((SELECT ST_Line_Substring("Xarxa_Prova"."the_geom",0,'
    selectTouch +=str(fraction)+') AS geom FROM "Xarxa_Prova" WHERE"id"='+str(edge)+'),'
    selectTouch +='(SELECT the_geom as geom FROM "Xarxa_Prova" WHERE "id"='+str(edgeAnt)+'));'
    try:
        cur.execute(selectTouch)
        resposta = cur.fetchall()
        conn.commit()
    except:
        print ("SELECT TOUCH ERROR")
    if edgeAnt != -1: 
        if resposta[0][0]:
            updateSegment +='UPDATE"SegmentsFinals" sf SET "cutEdge" = '
            updateSegment +='ST_Line_Substring(s."the_geom",0,'+str(fraction)+') '
            updateSegment +='FROM "Xarxa_Prova" s '
            updateSegmnet +='WHERE sf."edge"='+str(edge)+' AND s."id"='+str(edge)
            updateSegment +=' AND sf."routeid" = '+str(vec[x][0])+';n'
        else:
            updateSegment +='UPDATE "SegmentsFinals" sf SET "cutEdge" = '
            updateSegment +='ST_Line_Substring(s."the_geom",'+str(fraction)+',1) '
            updateSegment +='FROM "Xarxa_Prova" s '
            updateSegment +='WHERE sf."edge"='+str(edge)+' and s."id"='+str(edge)
            updateSegment +=' and sf."routeid" = '+str(vec[x][0])+';n'
    else:
        if ordre == 1:
            fractForward = vec[x+1][3]
        else:
            fractForward = vec[x-1][3]
        if fraction >= fractForward:
            updateSegment +='UPDATE "SegmentsFinals" sf SET "cutEdge" = '
            updateSegment +='ST_Line_Substring(s."the_geom",'+str(fractForward)+','
            updateSegment +=str(fraction)+') FROM "Xarxa_Prova" s '
            updateSegment +='WHERE sf."ordreTram" = '+ str(ordre)+' and sf."edge"='
            updateSegment +=str(edge)+' and s."id"='+str(edge)+' and sf."routeid" = '
            updateSegment +=str(vec[x][0])+';n'
        else:
            updateSegment +='UPDATE "SegmentsFinals" sf SET "cutEdge" = '
            updateSegment +='ST_Line_Substring(s."the_geom",'+str(fraction)+','
            updateSegment +=str(fractForward)+') FROM "Xarxa_Prova" s '
            updateSegment +='WHERE sf."ordreTram" = '+ str(ordre)+' and sf."edge"='
            updateSegment +=str(edge)+' and s."id"='+str(edge)+' and sf."routeid" = '
            updateSegment +=str(vec[x][0])+';n'

try:
    cur.execute(updateSegment)
    conn.commit()
except:
    print ("UPDATE TABLE SegmentsFinals Geometries ERROR")

Se añade y se actualiza el campo de geometría en la tabla “Resultat”.

alter = 'ALTER TABLE "Resultat" ADD COLUMN newEdge geometry;n'
alter += 'UPDATE"Resultat" r SET newedge = s.the_geom FROM "Xarxa_Prova" s WHERE s.id = r.edge;'

try:
    cur.execute(alter)
    conn.commit()
except:
    print ("ALTER and UPDATE TABLE Resultat Geometries ERROR")

Acto seguido se actualizan los tramos recortados en la tabla “Resultat”.

update = 'UPDATE "Resultat" r SET newedge = s."cutEdge" FROM "SegmentsFinals" s '
update += 'WHERE s."routeid" = r.routeid AND s.edge = r.edge;'
try:
    cur.execute(update)
    conn.commit()
except:
    print ("ALTER and UPDATE TABLE Resultat Geometries ERROR")

Se seleccionan los N caminos más próximos a la dirección indicada en función del límite introducido por el usuario.

limit = self.getLimit()
select ='SELECT e."'+ nomCamp[0][0] +'" AS NomEntitat, r.agg_cost AS Cost, r.entitatID '
select +='FROM "Resultat" r JOIN "' + self.dlg.comboCapaDesti.currentText()
select += '" e ON r.entitatID = e.id WHERE r.edge = -1 ORDER BY 2 ASC limit ' + str(limit) + ';'
try:
    cur.execute(select)
    vec = cur.fetchall()
    conn.commit()
except:
    print ("SELECT resultats ERROR")

Finalmente se borrará y se creará una tabla para obtener todos los tramos para cada camino óptimo escogido y, al mismo tiempo, se añade la información obtenida en el SELECT anterior.

createTrams = 'DROP TABLE IF EXISTS "TramsNous_'+Fitxer+'";n'
createTrams += 'CREATE TABLE "TramsNous_'+Fitxer+'" AS SELECT * FROM (n' 
rowCount = self.dlg.taulaResultat.rowCount()
self.dlg.taulaResultat.setColumnCount(2)
self.dlg.taulaResultat.setHorizontalHeaderLabels(['Entitat', lbl_Cost])
if self.dlg.comboCost.currentText() == 'Distancia':
    rnd = 0
else:
    rnd = 1
for x in range (rowCount,len(vec)):
    self.dlg.taulaResultat.insertRow(x)
    self.dlg.taulaResultat.setItem(x, 0, QTableWidgetItem(str(vec[x][0])))
    self.dlg.taulaResultat.setItem(x, 1, QTableWidgetItem(str(round(vec[x][1],rnd))))
    if x < len(vec) and x >= 1:
        createTrams += 'UNIONn'

    createTrams +='SELECT entitatid, '' + str(vec[x][0].replace("'","''"))
    createTrams +='' AS "NomEntitatDesti" ,'+str(round(vec[x][1]))
    createTrams +=' AS agg_cost, ST_Union(newedge) AS the_geom from "Resultat" '
    createTrams +='WHERE entitatid = '+str(vec[x][2])+' GROUP BY entitatidn'
createTrams += ")total ORDER BY agg_cost ASC;"
QApplication.processEvents()
try:
    cur.execute(createTrams)
    conn.commit()
except:
    print ("create trams ERROR")

A partir de este punto, lo único que quedará por hacer es presentar en pantalla el resultado.

Conclusión

Como conclusión final del post, cabe destacar que este método permite mejorar y refinar el resultado que se obtiene de una de las funciones de la librería pgrouting. De este modo, se ha podido conseguir que al calcular la distancia más corta de uno a varios puntos se obtenga el punto de segmento concreto en el cual se encuentra el inicio o el final, en vez de quedarse simplemente con el nodo más cercano a dichos puntos.

SALICRU, TecnoCampus i la UOC col·laboren en la formació d’especialistes en Transformació Digital en el marc del Màster Indústria 4.0

SALICRU, TecnoCampus i la UOC col·laboren en la formació d’especialistes en Transformació Digital en el marc del Màster Indústria 4.0

El curs 2017–18 es va iniciar la primera edició del Màster en Industria 4.0 organitzat conjuntament per els Estudis d’Informàtica, Multimèdia i Telecomunicació (EIMT) de la Universitat Oberta de Catalunya (UOC), i l’Escola Superior Politècnica de TecnoCampus (ESUPT), centre adscrit a la Universitat Pompeu Fabra.

Es tracta d’un màster propi, no presencial i amb una durada prevista de dos cursos, que es desenvolupa sobre la plataforma de formació en línia de la UOC. Els continguts del Màster estan organitzats en quatre especialitzacions de 12 crèdits ECTS cada una (Desarrollo de Sistemas CiberfísicosIntegración de Sistemas CiberfísicosFabricación Inteligente Transformación Digital de la Empresa ), i que tracten amb profunditat i a partir de l’estudi de casos reals les diferents tecnologies i els aspectes de transformació del negoci que són la clau de la Indústria 4.0 amb l’objectiu de proporcionar una formació integradora.

En aquest marc, l’empresa SALICRU ha col·laborat en el desenvolupament de l’especialització de Transformació Digital de l’Empresa, aportant un cas d’estudi basat en el seu model d’empresa i en les necessitats i reptes a que ha de fer front una empresa que dissenya, fabrica i manteniment de productes que garanteixen el subministrament elèctric continu.

El cas que ha preparat SALICRU parteix d’uns objectius estratègics de producte i de servei, i té en compte les diferents disciplines que intervenen en el disseny dels seus productes. Proporciona un esquema funcional, així com les demandes del sistema de producció, i les característiques del mercat.

El cas plantejat per SALICRU no reflecteix exactament la realitat de l’empresa ni la infraestructura real de SALICRU, però permet plantejar als estudiants un cas basat en una empresa industrial real. Així, els estudiants poden aprendre dels problemes de la indústria real i discutir i proposar solucions sobre problemes multidimensionals: estratègia, negoci, digitalització, innovació, seguretat informàtica, intel·ligència de negoci i analítica de dades.

El cas proposat per SALICRU és la base sobre la que es planteja la resolució de qüestions pràctiques a cada un dels mòduls de l’especialització: Gestió de la Transformació Digital, Gestió de la Innovació, Gestió de la Ciberseguretat i Analítica de Dades.

La participació de SALICRU en el Màster Indústria 4.0 és una mostra del compromís de l’empresa en el seu camí cap a la transformació digital, tal com diu Jordi Montero, director de R&D de Salicru: La participació de Salicru en aquest Màster sobre Indústria 4.0 ens permet un doble objectiu: col·laborar en la formació d’enginyers especialitzats en l’aplicació de la Indústria 4.0 i, al mateix temps, poder recollir propostes innovadores sobre el model d’empresa i la manera de treballar amb un producte i un mercat com el nostre. És una col·laboració a tres bandes en la que tots hi guanyem, universitat, empresa i estudiants.

Tal com explica el Dr. Jordi Ayza, professor responsable de l’especialització Transformación Digital de la Empresapoder treballar sobre un cas pràctic proposat per una empresa com SALICRU, que te plantejat el repte de la Indústria 4.0 i que està seguint el camí de la transformació digital, ens permet plantejar als estudiants del màster un cas real, amb problemes reals i amb tota la complexitat d’una empresa amb tecnologia avançada, amb un entorn productiu globalitzat i amb un mercat plural i internacional.

Per la seva part, el Dr. Pere Tuset, professor responsable del Màster en Indústria 4.0 per part de la UOC, remarca els beneficis de la col·laboració entre les tres entitats: A la UOC, universitat líder en la formació superior en línia, vam entendre que oferir aquest màster industrial, que exigeix treballar un conjunt ampli de disciplines i, al mateix temps, amb un equip de professionals amb experiència industrial real, requeria treballar col·laborant amb altres entitats. La organització d’aquest màster amb l’ESUPT i la col·laboració amb empreses com SALICRU ens permet oferir, com volíem, el millor Màster en Indústria 4.0 del mercat.

 

SALICRU investiga i desenvolupa equipament d’electrònica de potència per garantir un subministrament elèctric continu, net i fiable, i és l’empresa líder indiscutible d’aquest sector al mercat espanyol. https://www.salicru.com/ca/

Jordi Diz visita les alumnes de CAFE i la Doble Titulació i els presenta “Readaptació a la vida”

Jordi Diz visita les alumnes de CAFE i la Doble Titulació i els presenta “Readaptació a la vida”

La setmana passada vam rebre la visita del Jordi Diz, cas real de lesió neurològica (Traumatisme cranioencefàlic). Aquesta visita està emmarcada en la part específica del temari control motor de l’assignatura Aprenentatge i desenvolupament motor de segon curs del Grau de Ciències de l’Activitat Física i de l’esport del TecnoCampus i tercer curs de la Doble titulació CAFE i Fisioteràpia, de l’Escola Superior en Ciències de la Salut del TecnoCampus.

Hem conegut el seu cas fent incís en el traumatisme cranioencefàlic greu, la seva fisiopatologia, les conseqüències, el seu pronòstic i així com les diferents funcions cognitives i les seves principals alteracions quant a control motor.

Hem pogut conèixer totes les fases de rehabilitació per les que ha passat i el punt on es troba ara; un dels seus principals objectius és la readaptació a la carrera i a l’esport en general, amb la finalitat de poder tornar a córrer i competir en alguna modalitat esportiva.

Els alumnes de l’assignatura han pogut veure un cas real de readaptació neurològica, han pogut observar l’estat del Jordi Diz quant a control motor i han proposat diferents tasques que realitzarà en l’àmbit esportiu i funcional de la vida diària.

Els alumnes han elaborat un entrenament adaptat i enfocat a la millora del control motor amb l’objectiu de readaptar al Jordi Diz a diferents activitats esportives en general: halterofília, boxa, basquet, carrera, etc.

La visita ha servit per poder treballar directament sobre un cas real i apropar l’alumnat al món laboral i volen donar les gràcies a en Jordi Diz per compartir amb nosaltres la seva història, per la seva generositat i animar-lo a seguir treballant per recuperar-se cada dia i seguir millorant en el seu procés de “Renéixer” o “Readaptació”.

Link del seu lloc web: http://www.jordidiz.com

ZI-Graf de Trams de Carrer: Anem en la bona direcció

ZI-Graf de Trams de Carrer: Anem en la bona direcció

 

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.

Fig 1. Desplegament en arbre seguint el GTC. GeomediaPro.

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.

Fig 2. Cobertura a partir d’un punt implementat sobre ‘pgrouting’ per en Josep L. Xarbau

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

Fig 3. Eines d’Anàlisi de Xarxes del QGIS v3

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.

El grup de recerca AFIRS publica tretze articles científics amb rellevància internacional

El grup de recerca AFIRS publica tretze articles científics amb rellevància internacional

Professors investigadors i col·laboradors del Grup de Recerca en Activitat Física, rendiment i salut de l’Escola Superior de Ciències de la Salut han publicat aquest passat any un total de tretze articles en revistes com “International journal of sports medicine” o “Journal of the International Society of Sports Nutrition”, les quals són d’un alt impacte en l’àmbit estatal i internacional.

El Dr. Manuel V. Garnacho, ha intervingut en moltes d’aquestes investigacions on volem destacar l’última publicació: “Effects of a single dose of beetroot juice on cycling time trial performance at ventilatory thresholds intensity in male triathletes”, estudi en què ha treballat conjuntament amb Guillem Palau, ex-alumne del Grau en Ciències de l’Activitat Física i de l’Esport, actualment realitzant un Doctorat a la Universitat de Barcelona i el Màster en Entrenament Personal i Readaptació Físic-Esportiva del TecnoCampus. En aquest estudi s’ha demostrat que es podria incrementar la capacitat respiratòria i el rendiment de triatletes, prenent petites dosis de suc de remolatxa abans dels entrenaments.

Aquest grup liderat pel Dr. Garnacho, l’any passat publicaven articles com: “Oxygen Uptake Slow Component and the Efficiency of Resistance Exercises”, estudi que forma part de la tesi doctoral del docent Sr. Lluís Albesa i en els que també hi ha participat diversos docents del grau com el Dr. Eulogio Pleguezuelos, la Dra. Noemí Serra o el Dr. Manuel Gomis. En aquest segon estudi, és vol demostrar que el treball de força pot tenir els mateixos beneficis que les activitats de resistència aeròbica per a segons quines patologies, cosa que ens podria ajudar a prescriure exercici físic per a diferents poblacions i patologies.

L’objectiu del grup AFIRS és investigar i trobar millores en l’àmbit de la salut, l’esport i el rendiment esportiu, en un àmbit multidisciplinari on i intervenen professionals de l’esport, fisioterapeutes, infermeres i metges.

Taxi a Fitur, Nooo !!!!!, aquest any amb transport públic o Cabify

Taxi a Fitur, Nooo !!!!!, aquest any amb transport públic o Cabify

Aquest títol podria ben ser el relat del FITUR d´enguany, ho dic perquè tot feia pensar que la mobilitat a la ciutat de Madrid seria impossible, i no ha estat així, inclús es va fer viral una fotografia d´un alt dirigent de l’empresa turística i ex-alt càrrec del món del futbol viatjant amb metro i va arribar a dir que no era tan greu, i efectivament la mobilitat per anar i tornar de la Fira als diferents hotels jo diria que va ser el correcte potser exceptuant algun cas més complicat de fer les connexions, ara bé al vespre la cosa era més complicada a no ser que tinguessis baixades les aplicacions de Cabify o Uber, aleshores tot era molt fàcil.

Quin error estratègic més greu per part dels taxistes de posar-se als ciutadans amb contra, i deixar que aquests tastin el bon funcionament de la competència dels VTC amb el risc de perdre aquests clients per sempre, però bé el que toca és parlar de Fitur 2019.

fitur 2019 taxi

Si algú recorda el post del blog de l’any passat dèiem que l’edició del 2018, havia estat un rècord de les millors xifres, doncs aquest any podem dir el mateix; ha crescut un 1,8% la convocatòria de professionals amb 142.642 participants d´arreu del món. Les empreses 10.487, 165 països i regions, havent crescut la presència internacional amb un 11%.

En total hi han participat al voltant de 254.000 persones públic general i professionals i també l’espai ha suposat un increment del 2,9% 67.495 m 2. Ha rebut també 700 autoritats entre ministres, ambaixadors i representants de tot el món. Aquest any el país convidat ha estat la República Dominicana com a país soci Fitur.

L’impacte econòmic que ha produït Fitur a la ciutat de Madrid és de 325 milions d´euros.

Enguany s’ha presentat l’observatori FITUR NEXT, que serà una plataforma per identificar, analitzar i divulgar els models de turisme que generin impactes positius en les experiències dels seus visitants, les vides dels residents i el desenvolupament sostenible del destí. FITUR MICE, FITUR CINE és a dir connectar la indústria turística amb la cinematogràfica per exemple: El senyor dels anells amb Nova Zelanda, i com molts d’altres més i el Festival FITUR és Música que és un festival de música alternativa i urbana que s’ha fet aquests dies, aquestes són les novetats d’aquesta edició.

També hi ha hagut un especial Dones i Turisme que si voleu, podeu seguir amb aquest enllaç: https://www.youtube.com/channel/UCGuMSbHKd-ZWfZECbhx21OA

Fitur Catalunya

La visita a Fitur d’enguany per nosaltres, per en Lluís i per a mi mateix, també ha tingut un element clau lligat amb el Tecnocampus que ha estat el de poder contactar amb un bon nombre d’empreses per tal que els nostres alumnes puguin gaudir de les millors pràctiques a les millors empreses.

Bé per acabar em resta dir que Fitur és el gran aparador del Turisme i una ocasió fantàstica per retrobar vells amics i companys de feina per als que hem tingut la sort de treballar per molts indrets del Món que en un parell de dies els pots saludar en una distància assumible que de no ser així hauríem de recórrer al Món d’un punta a l’altre, a alguns els he pogut reconèixer per la veu, ja que l’aspecte físic era molt diferent de fa 30 anys.

Sempre Fitur és una grata experiència.

Objectius del Turisme sostenible

Objectius del Turisme sostenible

Segons l‘Organització Mundial del Turisme (OMT): “el turisme sostenible és aquell que té totalment en compte les repercussions actuals i futures, econòmiques, socials i mediambientals per satisfer les necessitats dels visitants, de l’indústria, de l’entorn i de les comunitats amfitriones”. El turisme sostenible necessita de la cooperació entre les parts -visitants, indústria, entorn i comunitats- per tal que cadascuna d’elles aconsegueixi satisfer les seves necessitats: els visitants conèixer nous indrets i cultures desconnectant de la seva rutina quotidiana, i les comunitats amfitriones aconseguir ingressos i idees per innovar en l’activitat turística i en la qualitat de vida local, la qual cosa implica respectar el medi natural.

Segons ONU-PNUMA/OMT (2015) “les directrius pel desenvolupament sostenible del turisme i les pràctiques de gestió sostenible s’apliquen a totes les formes de turisme de tots els tipus de destinacions, inclosos el turisme de masses i els diferents segments turístics”.

  • Per tant, un turisme sostenible ha de:
    Donar un ús òptim als recursos ambientals que són un element fonamental pel desenvolupament turístic, mantenint els processos ecològics essencials i ajudant a conservar els recursos naturals i la diversitat biològica.
  • Respectar l’autenticitat sociocultural de les comunitats amfitriones, conservar els seus actius culturals i arquitectònics i els seus valors tradicionals, i contribuir a l’enteniment i la tolerància intercultural.
  • Assegurar unes activitats econòmiques viables a llarg termini, que aportin uns beneficis socials-econòmics ben distribuïts entre tots els agents, que generin oportunitats d’ocupació estable, i obtenció d’ingressos i de serveis socials per a les comunitats amfitriones, que contribueixin a la reducció de la pobresa.

Photo by Ashim D’Silva on Unsplash

La Cimera Mundial de Turisme Sostenible (Vitória, 2015), creu fermament que “el turisme basat en els principis internacionalment reconeguts del desenvolupament sostenible és l’únic camí a seguir per al seu desenvolupament en harmonia amb el medi natural i el benestar humà”.

Els acords a que es va arribar en aquesta cimera es podrien classificar segons les tres dimensions de la qualitat de vida a que aspira qualsevol persona del planeta (Alguacil, 2000):

  • Qualitat ambiental (territori):
    El turisme ha de ser compatible amb la conservació de la natura i de la biodiversitat, ja que un medi natural constitueix un recurs turístic fonamental i serveix per prendre consciència del valor intrínsec de la natura per a tots.
    Ha de respondre de forma activa i de manera urgent al canvi climàtic, en el marc evolutiu de les Nacions Unides, per reduir progressivament les seves emissions de gasos d’efecte hivernacle (GEH) i poder créixer de manera sostenible.
    Ha d’adoptar tecnologies i modes de gestió innovadors i adients per tal de millorar l’eficiència en l’ús dels recursos, en particular en l’ús de l’aigua i l’energia.
    Ha de proporcionar solucions innovadores per ser més eficient en la gestió dels recursos en el context d’una economia circular, per tal d’evitar la generació de residus, augmentar l’eficiència i reduir el consum i la contaminació.
  • Benestar (ocupació, salut i formació):
    o El turisme és una activitat transversal que pot contribuir a lluitar contra la pobresa, protegir la natura, així com promoure el desenvolupament sostenible.
    o És un dels motors més prometedors de creixement per a l’economia mundial, especialment en els països en desenvolupament, i resulta clau per recolzar els models emergents en la transició cap a economies verdes.
    o Pot contribuir a la seva pròpia resiliència i a la recuperació econòmica mundial, mitjançant l’aplicació d’una estratègia de descarbonització, juntament amb la innovació en l’ús de l’energia, els recursos, el transport i els sistemes de comunicació.
  • Identitat cultural (participació i xarxes socials d’entitats):
    o El turisme exerceix un paper vital per avançar cap a un planeta més pacífic, cosa que permet obrir noves possibilitats per convertir-lo en un instrument de pau i tolerància.
    o Ben gestionat, el turisme pot ser un protagonista transcendental a l’hora de preservar els tresors actuals per a les generacions futures, ja que assegura la protecció i la integritat del nostre patrimoni comú material i immaterial.
    o Ha d’aprofitar les oportunitats que ofereixen les tecnologies de la informació i la comunicació (TIC) per construir el turisme intel·ligent, responsable i creatiu del futur.
    o Constitueix una força motriu del patrimoni cultural, les arts i les indústries culturals i creatives, de conformitat amb les convencions culturals de la UNESCO i les seves directrius operacionals.

Totes tres dimensions de la qualitat de vida estan íntimament interrelacionades (Llobet, 2014), pel que no és estrany que hi hagi un dels acords que sigui totalment transversal a totes elles:

o El turisme ha d’utilitzar els béns i serveis locals (territori) de manera que pugui augmentar els vincles amb la comunitat i reduir al mínim les fugues econòmiques (benestar), amb el reconeixement de la cohesió social i econòmica com a principi fonamental del desenvolupament del turisme sostenible (identitat cultural).

També es pot observar que la interrelació entre dimensions fa que el compliment o incompliment d’un acord en una dimensió, afavoreix o dificulti el compliment dels acords en les altres dimensions. Per exemple, la baixa qualitat ambiental deguda a la destrucció d’ecosistemes o a la contaminació, redueix el benestar perquè pot generar problemes de salut entre la població i/o destruir ocupació vinculada a l’explotació turística del medi natural, i trasbalsar la identitat cultural degut a la transformació del territori que fa desaparèixer espais de referència col·lectiva; i a l’inrevés, l’alta qualitat ambiental proporciona oportunitats laborals que generen benestar (ocupació, salut i formació), aprofundeix en les arrels culturals, reforça la identitat de les persones del territori, articula la participació en xarxes d’entitats i genera cohesió social.

Photo by rawpixel on Unsplash

Els participants a la Cimera Mundial de Turisme Sostenible reconeixen que els Objectius de Desenvolupament Sostenible (ODS), adoptats per les Nacions Unides (2015), representen una gran oportunitat per orientar decididament el turisme cap a vies integradores i sostenibles. Són 17 objectius de caràcter integrat i indivisible, que conjuguen les tres dimensions del desenvolupament sostenible (econòmica, social i ambiental) i es refereixen, resumidament, a posar fi a la pobresa i a la fam, millorar la nutrició i promoure l’agricultura sostenible; garantir una vida sana i una educació al llarg de tota la vida de les persones, inclusiva, equitativa i de qualitat; aconseguir la igualtat de gènere, la disponibilitat de l’aigua i la seva gestió sostenible, així com el sanejament per a tothom; l’accés a una energia assequible, segura i sostenible; aconseguir l’ocupació plena i el treball decent; la construcció d’infraestructures resilients; la promoció de la industrialització inclusiva i sostenible, i el foment de la innovació; la reducció de la desigualtat en i entre països; aconseguir ciutats i poblacions inclusives, resilients i sostenibles; garantir modalitats de consum i producció sostenibles; adoptar mesures urgents per combatre el canvi climàtic i els seus efectes; conservar i utilitzar en forma sostenible oceans i mars; protegir, restablir i promoure l’ús sostenible dels ecosistemes terrestres; promoure societats pacífiques i inclusives, facilitar l’accés a la justícia i crear institucions eficaces, responsables i inclusives a tots els nivells; i, per acabar, enfortir l’Aliança Mundial per al Desenvolupament Sostenible.

Malgrat que moltes vegades la utilització de Turisme Sostenible, per part de molts actors que intervenen en l’activitat turística, són paraules buides de contingut i de creences, és a dir, hi ha una banalització com a paraula “ameba”, existeixen aspectes (Grünig, 2015) que juguen a favor d’un Turisme Sostenible, com són:

La dependència cap a la sostenibilitat com a condició de la viabilitat de l’activitat turística a llarg termini: a) La consideració de la sostenibilitat com un procés i no com una fita: fer el turisme més sostenible significa tenir en compte en la planificació, el desenvolupament, l’operació i la pràctica del turisme totes les seves repercussions i necessitats, en un procés continu de millora. b) El turisme com a eina pedagògica de primer ordre per interioritzar criteris de sostenibilitat. Atès que el turisme és una activitat singular en la qual, contràriament a l’habitual, és el consumidor qui viatja al producte i al productor, s’estableix una especial interacció entre turistes, indústria, entorn i residents que afavoreix la consciència i la sensibilització cap a la sostenibilitat en general i a la de les destinacions en particular. Aquesta actitud d’una major atenció a la sostenibilitat a través de l’observació crítica i de la millora constant en un context d’oci i plaure, no pot ser més que beneficiosa pel seu valor pedagògic, més enllà de les pròpies destinacions i de la pròpia activitat, ja que afavoreix l’interiorització de criteris de sostenibilitat que després seran vàlids a tots els àmbits de la vida i al llarg de tot l’any, tant en les comunitats emissores com en les receptores.

Com a conclusió final, es pot afirmar que el turisme sostenible no és una tipologia de turisme sinó que és un camí i no una fita, on tots els actors que intervenen en l’activitat turística l’han d’adoptar pel bé comú de la societat. Tal com indica Morales (2017), el turisme sostenible és aquell que no posa en risc les necessitats de generacions futures i és respectuós amb el medi natural, socialment sensible i econòmicament viable.

Principis de sostenibilitat turística

Principis de sostenibilitat turística

Malgrat que el turisme és un motor de desenvolupament pels territoris i que alhora pot tenir un impacte positiu en el producte interior brut (PIB) del territori, també pot generar impactes negatius. A continuació trobem alguns exemples d’impactes negatius:

Des de l’aspecte del medi natural, la indústria turística considera les platges, muntanyes, deserts, selves, etc. com a recursos que es transformen per a què esdevinguin un atractiu turístic, la qual cosa provoca un flux important de visitants que pot generar danys irreversibles en el medi natural a través de la pressió exercida sobre els ecosistemes. La transformació del medi passa per la construcció de complexes turístics i infraestructures de comunicació que destrossen indrets naturals, l’acaparament de terres, aigua i energia que trenquen la lògica del natural funcionament dels ecosistemes generant contaminació, residus, erosió, desforestaració, etc.

En l’aspecte econòmic, es pot observar la desigualtat en la distribució de la riquesa i la propietat de la terra, la concentració de la indústria i l’ocupació estacional i poc qualificada. En els països en vies de desenvolupament, la majoria d’ingressos procedents del turisme internacional no arriben a l’economia local. Dels diners que s’ingressa en un territori, la majoria van a parar als sectors més afavorits o a les classes dominants que col·laboren amb inversors internacionals.

L’especulació immobiliària ha esdevingut un estímul perquè promet ingressos fàcils i ràpids, provocant requalificacions d’espais protegits i no protegits per a què esdevinguin espais d’activitat turística. Tal com assenyalen Cañada i Gascón, [la revaloració dels recursos autòctons es materialitza molts cops en processos inflacionistes, derivats d’un augment de la demanda de la terra, de l’aigua o dels aliments; el resultat és l’encariment de la cistella familiar, la dificultat d’accedir a un habitatge o l’expulsió de camperols per l’augment de les rendes agràries].

La concentració de la indústria: la liberalització deixa en molts casos desprotegits els països en vies de desenvolupament i les seves comunitats a l’hora de controlar les inversions turístiques i els beneficis que se n’obtenen, i obre aquestes destinacions a la influència creixent del capital estranger. Aquesta tendència afavoreix les cadenes hoteleres i els operadors turístics internacionals en detriment de les empreses locals.
El turisme es caracteritza per l’estacionalitat, provocada pel factor de la climatologia i el període vacacional del visitant, que sovint es mou de manera massiva i provoca la contractació temporal de persones poc qualificades la majoria de vegades, i imposa horaris excessius, salaris baixos, etc.

En l’aspecte sociocultural, el turisme, en moltes ocasions, desposseeix la significació dels elements tradicionals i culturals de les comunitats. D’aquesta manera, el visitant té una percepció d’aquests elements intangibles com una imatge folklòrica i en determinats indrets, comporta desequilibris socials i la substitució de valors ancestrals per altres, amb un alt valor materialista.

Photo by Annie Spratt on Unsplash

Cal reconèixer el paper de molts governs inhibint-se i altres, en promoure la sostenibilitat en un sector com és el turístic, molt fragmentat i en el que la major part dels efectes negatius són causats pel sector privat i els propis turistes amb una gestió d’assumptes de responsabilitat pública relacionats amb l’activitat turística (aire, aigua, patrimoni natural i cultural, qualitat de vida, etc.). De fet, Ritchie i Crouch (2003) consideren la política (governança), entenent-la com acció de govern, un quart pilar de la sostenibilitat. Segons afirmen, “el desafiament que afronten la política i els polítics és establir metes que reflecteixin els valors i les ambicions dels agents presents a la destinació i, en funció d’ells, promoure un marc d’actuació que suporti l’abast d’aquestes metes, on tots els agents actuaran per aconseguir-les. Per tant, l’èxit d’una destinació és una responsabilitat de cadascú”.

En conclusió, els principis de sostenibilitat turística s’han de basar en els aspectes ambiental, econòmic, sociocultural i de governança del desenvolupament turístic, havent-se d’establir un equilibri adequat entre aquestes dimensions per garantir la seva sostenibilitat a llarg termini.

Els alumnes de 2n de la doble titulació visiten el Museu Olímpic i de l’Esport

Els alumnes de 2n de la doble titulació visiten el Museu Olímpic i de l’Esport

El passat dimecres 21 de novembre del 2018, els alumnes de l’assignatura de Sociologia i història de l’activitat física i l’esport (segon curs de la Doble titulació CAFE i Fisioterapia) van canviar l’aula pel Museu Olímpic i de l’esport Joan Antoni Samaranch.

L’objectiu de l’activitat va ser acostar als alumnes a la realitat històrica de l’esport. Al Museu olímpic hi conviuen aspectes de l’esport d’alt rendiment fins a l’esport competitiu i el de lleure, així com la pràctica esportiva de persones amb discapacitat o l’esport en general. A més, mostra com a través de l’esport es pot promoure valors, educar, innovar i renovar, té un “espai d’ídols” en què hi ha protagonistes destacats de l’esport i també acull una zona per a l’esport de masses i els grans esdeveniments amb un èmfasi espacial als Jocs Olímpics de Barcelona 92.

Aleix Gibert, docent de l’assignatura assegura que tots aquests temes s’han tractat en el marc de l’assignatura i va ser una excel·lent oportunitat per veure de prop, i fins i tot tocar, la història de l’esport.