Rutes: Análisis de redes y determinación de la ruta óptima
Este programa determina las rutas óptimas entre un conjunto de
localizaciones origen y un conjunto de posibles localizaciones destino. La
ruta óptima entre un par de localizaciones origen-destino será aquella que
minimice el desplazamiento para ir del origen al destino, ya sea en tiempo,
distancia o por un campo numérico definido por el usuario que represente
cualquier otra variable que pondere el coste del desplazamiento.
Las localizaciones origen y las posibles localizaciones destino deben
estar conectadas a la red que define el conjunto de las posibles rutas. Ésto
quiere decir que corresponden a nodos de la topología arco/nodo de MiraMon.
El tipo de localización viene determinado por los valores de un campo de la
base de datos de nodos (*N.dbf) que el usuario debe crear y rellenar (en
caso de que esta información esté en una capa de puntos ésta se puede
traspasar a la capa de nodos utilizando el modo PNT->NOD del módulo
AtriTop). Los valores aceptados en este campo
son:
- "O", para los nodos origen.
- "D", para los nodos destino.
- "A", en ambos casos, o sea, para los nodos origen y destino
a la vez.
- "", en blanco para los nodos que no sean origen ni
destino.
Por otra parte, los arcos determinan las conexiones directas entre
nodos y en su base de datos (*A.dbf) deben existir campos que definan los
costes asociados a cada conexión (por ejemplo, si se quiere aplicar la
optimización por tiempo, sería necesario un campo que defina la velocidad en
cada tramo). Respecto a la distancia, se utilizará el campo topológico de
longitud elipsoidal siempre y cuando éste exista y el usuario no especifique
un campo alternativo. Si no existiera se utilizaría el campo topológico de
longitud planimétrica (ambos se crean por defecto al generar vectores de
tipo línea). Si, por el contrario, el usuario facilita un campo propio se
comprobará que los valores sean válidos, es decir, numéricos y mayores de
cero. En caso de valores no válidos el programa detendrá su ejecución.
El archivo resultante es una tabla en formato DBF que permite
establecer una relación entre cada nodo origen y un nodo destino que
optimiza su recorrido (siempre que exista como mínimo una sucesión de arcos
que conecte el nodo origen con el de destino y su coste scumulado sea
inferior al coste máximo especificado en línea de comando). Debe
considerarse que un mismo nodo destino puede ser el final de diversas rutas
óptimas o bien no serlo de ninguna.
Los costes de cada ruta óptima encontrada se presentan por pantalla y se
guardan en la tabla DBF especificada. Los valores resultantes se expresan en
las mismas unidades que los campos implicados (por ejemplo, cuando se
utiliza un campo velocidad en km/h las distancias acumuladas se dan
en km i los tiempos acumulados en horas. Para poder realizar
correctamente los cálculos los campos implicados deberían tener descritas en
los metadatos las unidades y éstas deben ser reconocidas por MiraMon. En
caso de utilizar unidades no reconocidas por MiraMon, el usuario debe
ponerse en contacto con el equipo de programación.
Sintaxis:
Rutes 1 ArchivoArcos BDResultados CampoTipoNodo DistanciaMaxima
[/CAMP_LONG=CampLongAlternativo]
Rutes 2 ArchivoArcos BDResultados CampoTipoNodo TiempoMaximo
CampoTiempo
Rutes 3 ArchivoArcos BDResultados CampoTipoNodo DistanciaMaxima
CampoVelocidad [/CAMP_LONG=CampLongAlternativo]
[/MAX_TEMPS=TiempoMaximo]
Rutes 4 ArchivoArcos BDResultados CampoTipoNodo CosteMaximo
CampoCoste
- Criterio de optimización
- 1: Por mínima distancia acumulada.
- 2: Por mínimo tiempo acumulado.
- 3: Por mínimo tiempo acumulado, cada tramo se obtiene como
cociente entre longitud y velocidad.
- 4: Per mínimo coste acumulado, el coste queda definido por el
usuario por un campo que mide el esfuerzo del desplazamiento.
- ArchivoArcos es el nombre del fichero estructurado de arcos que
contiene la red de caminos
- BDResultados es el nombre del fichero DBF que establece las
relaciones entre nodos origen y destino y recoge los valores acumulados
de distancia y/o tiempo.
- CampoTipoNodo es el campo alfanumérico de la base de datos del
fichero de nodos de ArchivoArcos que indica si un nodo es origen (valor
"O"), destino (valor "D"), o ambos casos a la vez
(valor "A").
- Para las opciones 1 y 3:
- DistanciaMaxima: representa el umbral máximo (en metros) para
que las rutas que lo superen en longitud acumulada sean
descartadas.
- /CAMP_LONG=CampLongAlternativo: si se especifica, indica
el campo de la base de datos de ArchivoArcos que contiene las
longitudes de cada arco utilizadas en vez de los valores topológicos
que figuran por defecto en la base de datos.
- Para la opción 2:
- TiempoMaximo: obligatorio en esta opción, representa el umbral
máximo (en las mismas unidades temporales que CampoTiempo) para que
las rutas que lo superen en tiempo de recorrido sean
descartadas,
- CampoTiempo es el campo de la base de datos de ArchivoArcos que
contiene los tiempos de recorrido asociados a cada arco. Los valores
deben definrse en segundos, minutos o en horas.
- Para la opción 3:
- CampoVelocidad es el campo de la base de datos de ArchivoArcos
que contiene las velocidades asociadas a cada arco, necesarias para
calcular el tiempo de recorrido de cada ruta. Las unidades de tiempo
deben definrse en segundos, minutos o en horas.
- /MAX_TEMPS=TiempoMaximo: si se especifica, representa el
umbral máximo (en las mismas unidades temporales que CampoVelocidad)
para que las rutas que lo superen en tiempo de recorrido sean
descartadas.
- Para la opción 4:
- CosteMaximo: representa el umbral máximo para que las rutas que
lo superen en coste acumulado sean descartadas.
- CampoCoste es el campo de la base de datos de ArchivoArcos que
se utilizará para calcular el coste de cada ruta. No hace falta que
el campo tenga ninguna unidad de medida asociada.
- /NO_VINCULAR: este parámetro elimina el comportamiento por
defecto que vincula la tabla DBF resultado a la base de datos
asociada del achivo de nodos origen.