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.
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 del mòdul
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=CampLongAlternatiu]
Rutes 2 FitxerArcs BDResultats CampTipusNode TempsMàxim CampTemps
Rutes 3 FitxerArcs BDResultats CampTipusNode DistànciaMàxima CampVelocitat
[/CAMP_LONG=CampLongAlternatiu]
[/MAX_TEMPS=TempsMàxim]
Rutes 4 FitxerArcs BDResultats CampTipusNode CostMàxim CampCost
- Criteri d'optimització
- 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.
- FitxerArcs és el nom del fitxer estructurat d'arcs que conté la
xarxa de camins
- BDResultat é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 é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").
- Per les opcions 1 i 3:
- DistànciaMàxima: representa el llindar màxim (en metres) perquè
les rutes que superin aquesta longitud acumulada siguin
descartades.
- /CAMP_LONG=CampLongAlternatiu: si s'especifica,
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.
- Per l'opció 2:
- TempsMàxim: obligatori en aquesta opció, representa el llindar
màxim (en les mateixes unitats temporals del CampTemps) perquè les
rutes que superin aquest temps de recorregut siguin
descartades,
- CampTemps é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.
- Per l'opció 3:
- CampVelocitat é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.
- /MAX_TEMPS=TempsMàxim: 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.
- Per l'opció 4:
- CostMàxim: representa el llindar màxim perquè les rutes que
superin aquest cost siguin descartades.
- CampCost é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.
- /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.