Los valores de atributo de red dependen a veces de condiciones variables. Por ejemplo, la altura de un vehículo puede determinar si un segmento del camino con un paso elevado de baja altura se puede atravesar o no. Las condiciones meteorológicas existentes pueden reducir las velocidades de viaje y afectar así a los costes horarios de la red. Existen dos enfoques posibles para modelar restricciones basadas en la altura del vehículo, los costes del viaje basados en factores de escala y otros aspectos variables del análisis de red. Un enfoque consiste en crear un atributo de red para cada variación de altura o de las condiciones meteorológicas; sin embargo, este enfoque no es escalable a medida que el número de permutaciones crece. Un enfoque más versátil consiste en utilizar un atributo de red único con un parámetro que contenga la parte variable del atributo.
Los parámetros son marcadores de posición que pueden cambiar para un análisis determinado. Cada uno de ellos tiene un valor predeterminado significativo que invalida el usuario cuando lo necesita. Los parámetros se agregan a los atributos de red y son consultados por los evaluadores del atributo. Los valores de parámetro se pueden cambiar al configurar los problemas de red, de forma que los valores de los atributos de red se puedan determinar en el momento de la ejecución utilizando la expresión y el valor actual del parámetro.
Comportamiento de los atributos de red parametrizados
Un atributo de red parametrizado tiene uno o más evaluadores asignados que utilizan un parámetro del atributo de red, así como otro atributo de red para ayudar a determinar su valor.
Algunos valores de asignación de evaluador se almacenan en la caché en el momento de la generación de la red (por ejemplo, Script de campo) y no usan parámetros. Sin embargo, los evaluadores que se consultan en tiempo de ejecución para determinar su valor (por ejemplo, Función o Script de elemento) pueden utilizar parámetros para afectar al valor del resultado.
Parámetros para modelar características de vehículos
En el siguiente ejemplo, usted puede agregar parámetros para establecer características de vehículos de cara a configurar los elementos de red que un vehículo determinado puede recorrer.
Puede agregar un atributo de restricción junto con un parámetro de altura de vehículo para comparar la altura del vehículo con un atributo de descriptor que contenga la distancia debajo de pasos elevados o túneles. Si la altura del vehículo es mayor que la distancia al suelo, el borde se prohíbe. Esto puede derivar en la existencia de rutas diferentes para vehículos diferentes: tal y como se muestra a continuación, un vehículo de poca altura podría seguir una ruta directa que atraviese un puente con poca distancia al suelo, mientras que un vehículo alto tomaría una ruta diferente que evite ese puente.
En este tipo de escenario se podrían crear dos atributos: un atributo de descriptor y un atributo de restricción, llamados respectivamente MaxHeight y HeightRestriction, por ejemplo. MaxHeight tomaría valores de distancia al suelo de los datos de origen y HeightRestriction leería los valores de MaxHeight y los compararía con un parámetro que contendría la altura del vehículo. En el diagrama siguiente se muestra una versión generalizada de este proceso:
Parámetros en atributos de coste
Puede que prefiera disponer de un atributo de coste parametrizado que pueda hacer referencia a otro atributo de coste y escalarlo. Esto le resultará útil si su área de estudio soporta condiciones meteorológicas adversas, como hielo, niebla o lluvia fuerte, que entorpecen la fluidez del tráfico. Tener un parámetro ya preparado en un atributo de coste le permite ajustar la previsión de la duración de los viajes en consonancia con cambios en las velocidades del tráfico.
Podría crear dos atributos de red: DriveTime, que almacenaría las impedancias de tiempo de recorrido normales con valores procedentes de los campos de sus datos de origen, y DriveTime_scaled, que tomaría el valor del atributo DriveTime y lo escalaría en función de un parámetro del atributo DriveTime_scaled que contiene el factor de escala actual.