-
Rutes: Anàlisi de xarxes i determinació de la ruta òptima
Aquest programa determina les rutes òptimes entre un conjunt de
localitzacions origen i un conjunt de possibles localitzacions destí. La
ruta òptima entre un parell de localitzacions origen-destí serà aquella que
minimitza el desplaçament per anar de l'origen al destí, ja sigui en
termes de distància, temps, o bé per un camp numèric definit per
l'usuari que representi qualsevol altra variable que ponderi el cost del
desplaçament. Així doncs, el programa te 4 opcions:
Mínima distància:
Aquesta opció calcula la distància mínima acumulada.
Temps acumulat:
Aquesta opció calcula el mínim temps acumulat.
Mínim temps (distància/velocitat):
Aquesta opció calcula el mínim temps acumulat a partir de longitud i velocitat de cada arc.
Mínim cost acumulat:
Aquesta opció calcula el mínim cost acumulat segons un camp d'esforç de desplaçament.
Les localitzacions origen i les possibles localitzacions destí han
d'estar connectades a la xarxa que defineix el conjunt de les possibles
rutes. Això vol dir que corresponen a nodes de la topologia arc/node de
MiraMon. El tipus de localització ve determinat pels valors d'un camp de
la base de dades de nodes (*N.dbf) que l'usuari ha de crear i omplir (en
el cas que aquesta informació sigui dins una capa de punts, es pot
traspassar a la capa de nodes fent servir el mode PNT->NOD de l'aplicació
AtriTop). Els valors acceptats per aquest camp
són:
- "O", pels nodes origen.
- "D", pels nodes destí.
- "A", en ambdós casos, o sigui, pels nodes origen i destí
alhora.
- "", en blanc pels nodes que no siguin origen ni destí.
Per la seva banda, els arcs determinen les connexions directes entre
nodes, i a la seva base de dades (*A.dbf) han de existir camps que
defineixin els costos associats a cada connexió. Pel que fa a la distància,
sempre que l'usuari no especifiqui un camp alternatiu, es farà servir el
camp topològic de longitud el.lipsoidal si hi és present; en cas contrari,
es farà servir el camp topològic de longitud planimètrica (tots dos camps
haurien d'existir per defecte a la base d'arcs). Si, pel contrari,
l'usuari facilita un camp propi, es comprovarà que els valors del camp
siguin vàlids, o sigui numèrics i més grans que zero, en cas incorrecte el
programa aturarà l'execució.
El fitxer resultat és una taula en format DBF que permet establir
una relació entre cada node origen i un node destí que optimitza el seu
recorregut (sempre que existeixi almenys una successió d'arcs que
connecti el node origen i el node destí, i el seu cost acumulat sigui
inferior al cost màxim que s'especifica per línia de comanda). Cal tenir
present que un mateix node destí pot ser el final de diversos camins òptims,
o bé no ser-ho de cap.
Els costos de cada ruta òptima trobada es presentaran per pantalla i es
guardaran a la taula DBF que l'usuari ha especificat en fer la crida al
programa. Els valors resultants s'expressaran en les mateixes unitats
que els camps implicats (per exemple quan s'usi un camp velocitat en
km/h les distàncies acumulades es donaran en km i els temps
acumulats en hores). Per tal que els resultats es calculin correctament, els
camps implicats en els càlculs hauran de tenir fixades a les metadades les
unitats en què s'expressen, i aquestes hauran de ser reconegudes per
MiraMon. Contacteu-nos si desitgeu usar unes unitats desconegudes per
MiraMon.
Sintaxi:
- Rutes 1 FitxerArcs BDResultats CampTipusNode DistànciaMàxima [/CAMP_LONG] [/NO_VINCULAR]
- Rutes 2 FitxerArcs BDResultats CampTipusNode TempsMàxim CampTemps [/NO_VINCULAR]
- Rutes 3 FitxerArcs BDResultats CampTipusNode DistànciaMàxima CampVelocitat [/CAMP_LONG] [/MAX_TEMPS] [/NO_VINCULAR]
- Rutes 4 FitxerArcs BDResultats CampTipusNode CostMàxim CampCost [/NO_VINCULAR]
Opcions:
- 1:
Per mínima distància acumulada.
- 2:
Per mínim temps acumulat.
- 3:
Per mínim temps acumulat, cada tram s'obté com a quocient entre longitud i velocitat.
- 4:
Per mínim cost acumulat, el cost queda definit per l'usuari per un camp que el mesura l'esforç del desplaçament.
Paràmetres:
- FitxerArcs
(Fitxer arcs -
Paràmetre d'entrada): És el nom del fitxer estructurat d'arcs que conté la xarxa de camins.
- BDResultats
(BD resultats -
Paràmetre de sortida): És el nom del fitxer DBF que establirà les relacions entre nodes origen i destí i recollirà els valors acumulats de distància i/o temps.
- CampTipusNode
(Camp tipus node -
Paràmetre d'entrada): És el camp alfanumèric de la base de dades del fitxer de nodes de FitxerArcs que indica si un node és origen (valor "O"), destí (valor "D"), o ambdós casos alhora, origen i destí, (valor "A").
- DistànciaMàxima
(Distància màxima -
Paràmetre d'entrada): Representa el llindar màxim (en metres) perquè les rutes que superin aquesta longitud acumulada siguin descartades.
- TempsMàxim
(Temps Màxim -
Paràmetre d'entrada): Representa el llindar màxim (en les mateixes unitats temporals del CampTemps) perquè les rutes que superin aquest temps de recorregut siguin descartades,
- CampTemps
(Camp Temps -
Paràmetre d'entrada): És el camp de la base de dades de FitxerArcs que conté els temps de recorregut associats a cada arc. Els valors han d'estar definits en segons, minuts o en hores.
- CampVelocitat
(Camp Velocitat -
Paràmetre d'entrada): És el camp de la base de dades de FitxerArcs que conté les velocitats associades a cada arc, necessàries per poder calcular el temps de recorregut de cada ruta. Les unitats associades de temps han d'estar definides en segons, minuts o en hores.
- CostMàxim
(Cost Màxim -
Paràmetre d'entrada): Representa el llindar màxim perquè les rutes que superin aquest cost siguin descartades.
- CampCost
(Camp Cost -
Paràmetre d'entrada): És el camp de la base de dades de FitxerArcs que es farà servir per calcular el cost de cada ruta. No cal que el camp tingui cap unitat de mesura associada.
Modificadors:
/CAMP_LONG= (CAMP LONG) Indica el camp de la base de dades de FitxerArcs que contindrà les longituds de cada arc, que es faran servir en comptes dels valors topològics que figuren per defecte a la base de dades. (Paràmetre d'entrada) /MAX_TEMPS=
(MAX_TEMPS)
Si s'especifica, representa el llindar màxim (en les mateixes unitats temporals del CampVelocitat) perquè les rutes que superin aquest temps de recorregut siguin descartades. (Paràmetre d'entrada) /NO_VINCULAR= (NO_VINCULAR) Aquest paràmetre elimina el comportament per defecte de vincular la taula DBF resultat a la base de dades associada del fitxer de nodes origen. (Paràmetre d'entrada)