Entrades classificades amb: cost invers

Exemple d’aplicació del mòdul ‘ActualitzaGTC’

Anteriorment l’Ignasi Argemí ja va fer una entrada explicant el funcionament del mòdul ‘Actualitza GTC’ que serveix per facilitar la modificació del GTC, fent una generació, revisió i validació automàtica del graf. Un cop validat la segona part del procés és un ‘batch’ que s’executa diariament en el servidor on es donen valors als atributs necessaris per els ‘encaminaments’ per distància i per temps. Un cop fet això es produeix a l’actualització automàtica del dos fitxers del graf, segments i nodes en el servidor de Postgres.

Ara es veurà un exemple d’aplicació d’aquest mòdul. Suposem que hi ha un GTC, que es vol modificar, s’inicia ‘ActualitzaGTC’, surt el formulari de la figura 1, escollim una connexió i premem el botó ‘CARREGAR GTC’, es demana fixar una contrasenya si és la primera vegada que el volem modificar, o posar la contrasenya ja escollida si ja l’havíem començat a modificar abans.

ActGTC2

Fig. 1. Formulari del mòdul: ActualitzaGTC

Es presenten els segments del graf actual (en realitat una còpia del mateix) i es pot procedir a fer les modificacions que calguin. Ens centrarem en una petita zona del graf. Vegeu la figura 2.

 


 


 


Fig. 2. GTC carregat per modificar. Fem zoom al requadre

Per veure les característiques s’han incorporat també els nodes i les etiquetes identificatives de cada node, també en els segments hi ha indicat a més a més de l’Id del segment el node origen i el node final, representats d’aquesta manera ‘origen/final’. Aquesta informació topològica es pot veure en la figura 3. (Per veure-ho millor cliqueu sobre la figura)

Fig. 3. Zona ampliada del GTC amb informacions de cada capa nodes i segments

Si es mostra la informació del segment 583 tenim el que es veu a la figura 4

Fig. 4. Taula d’atributs inicials del segment 583

Si es fan el canvis desitjats, suposem que la nova topologia queda així, tal com es veu a la figura 5, amb dos segments nous i dos nodes nous

Fig. 5. Nous segments dibuixats amb les eines del QGIS

Un cop fetes les modificacions s’ha de prémer el botó ‘VALIDAR GTC’ i al final si no hi ha errades es veurà el text indicat en la figura 6. Aleshores ja s’han incorporat els segments nous i s’han generat els nusos corresponents.

ActGTC10

Fig. 6. Missatge de GRAF VALIDADAT

Vegeu ara la figura 7 amb les noves etiquetes, allà es pot veure que els segments nous són els que tenen identificadors 3266 i 3264, també hi ha un node nou, el node 5, conseqüència d’haver dividit el segment que inicialment es deia 2266, en dos nous segments anomenats ara 3265 i 2266

Fig. 7. Graf modificat amb les etiquetes de nodes i segments

Ara el nou graf ja està construït nomes falta actualitzar els atributs segons el model de desplaçaments de vianants o de vehicles que s’utilitzi. Això es fa en un procés ‘batch’ un cop cada dia si s’han generats GTC geomètricament diferents. Es mostren ara els atributs dels segments 583 i 3266 en les figures 8 i 9

Fig. 8. Atributs finals del tram 583

 

Fig. 9. Atributs finals del tram 3266

Com es pot  veure els atributs pel segment ja existent són els mateixos, només canvien el nodes inicial i final, fruit de la renumeració, i pel segment nou s’han generat els atributs nous que li corresponen.

D’aquesta manera s’ha pogut veure la facilitat de modificació del GTC que aporta aquest mòdul. La part directa del dibuix depen de les possibilitat d’edició del QGIS, però tota la resta, que consisteix en convertir el nou dibuix en un graf útil des de tots els punts de vista, validació, generació de les dependències entre nodes i segments i actualització dels atributs d’ambdós elements es pot fer de forma senzilla.

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.