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:

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