Disponible con una licencia de Network Analyst.
Cada atributo definido en la red debe tener valores para cada origen que participe en la red. Los evaluadores asignan valores al atributo de cada origen. En las aplicaciones precursoras de ArcGIS (ARC/INFO y ArcView GIS), los valores de los atributos se asignaban a partir de un campo del shapefile o la cobertura. En ArcGIS Desktop, el evaluador de campo asigna valores a un atributo de red a partir de un campo de una fuente de red. Además, ArcGIS Desktop proporciona otros tipos de evaluadores que se puede utilizar, por ejemplo, constante, expresión de campo, función y evaluadores de script.
A continuación se describen los evaluadores.
Evaluador | Descripción |
---|---|
Evaluador de campo | La manera más común de asignar valores a un atributo de red consiste en identificar un campo único que se utilizará para evaluar el atributo de red durante la generación del dataset de red. Por ejemplo, un evaluador de campo se puede utilizar en los casos en que el valor indique una medición, como el largo de cada segmento de la carretera en metros. |
Evaluador de expresiones de campo | El evaluador de campo se puede modificar para tomar como valor una expresión de campo en lugar de un único campo. En este caso, creará una expresión en el cuadro de diálogo Evaluador de campo utilizando VBScript o Python. Por ejemplo, si el atributo de red se expresa en metros pero los datos de origen están en pies, puede crear una expresión que convierta los pies en metros en el momento de generar el dataset de red. |
Evaluador de constantes | Los atributos pueden tener asignado un valor constante. El valor puede ser numérico (0, 1, 2) para los atributos de coste, descriptor y jerarquía o bien un tipo de dato booleano de Uso restringido o No restringido para un atributo de restricción. |
Evaluador de funciones | El evaluador de funciones calcula los valores de los atributos aplicando una sencilla operación matemática o comparación lógica en otro valor de atributo y valor o constante de parámetro. Para los atributos de tipo numérico, los valores se derivan multiplicando, dividiendo, sumando o restando otro atributo de red y un valor de parámetro o constante. Para los atributos de tipo booleano, los valores se derivan de una expresión que compara otro valor de atributo con el valor o constante de un parámetro, por ejemplo, MaxHeight < VehicleHeight. Los operadores + y - se agregaron a ArcGIS Desktop 10.7. Los evaluadores generarán un error en versiones anteriores del software. |
Evaluador de retraso de giro global | El evaluador de retraso de giro global asigna un valor de coste predeterminado a la transición entre dos elementos de ejes. El coste está basado en el ángulo de desviación entre los dos ejes y la clase de camino (primario, secundario o local) de los ejes que se atraviesan. Especifique la clase de camino utilizando el cuadro de diálogo Rangos de jerarquía junto con un atributo de jerarquía. Por ejemplo, puede utilizar el evaluador de retraso de giro global para hacer que todos los giros a la izquierda, determinados por ángulos de desviación, de caminos locales a caminos secundarios tarden más tiempo que los giros a la izquierda desde caminos locales a otros caminos locales. También puede especificar costes agregados para otras transiciones, tales como agregar retrasos de 10 segundos al continuar de frente en la intersección de dos caminos secundarios. |
Evaluador de secuencia de comandos | Es posible asignar atributos a partir del resultado de la ejecución de una secuencia de comandos Python o VBScript. De este modo podrá modelar atributos complejos. Al contrario que otros evaluadores, el evaluador de secuencia de comando no asigna valores durante la generación de una red. En su lugar, asigna valores cuando un determinado análisis de red requiere el uso de ese atributo, que puede ocurrir durante el tiempo de resolución. Si los valores de un atributo cambian constantemente, el uso de un evaluador de script puede asegurar que los atributos sean actualizados para cada análisis de red. |
Evaluador de tráfico de eje | Los evaluadores de tráfico de eje están diseñados para ser utilizados con datos de tráfico. Pueden proporcionar tiempos de viaje para una hora del día y día de la semana determinados usando datos históricos o en vivo. Disponen de atributos de coste de reserva que proporcionan tiempos de viaje para días laborables y de fin de semana cuando no hayan disponibles tiempos de viaje específicos Los evaluadores de tráfico de eje también disponen de atributos de coste sin distinción de días a los que Network Analyst hace referencia al secuenciar paradas en un análisis de ruta o visitas en un problema de generación de ruta del vehículo. Si un atributo de descriptor tiene el mismo nombre que un atributo de coste que utiliza evaluadores de tráfico de eje seguidos por el Límite de velocidad (por ejemplo, un atributo de coste llamado TravelTime tiene un atributo de descriptor asociado llamado TravelTime Speed Limit), los evaluadores de tráfico de eje del atributo de coste devolverán tiempos de viaje limitados a la velocidad especificada en el atributo de descriptor. Esto resulta útil al modelar límites de velocidad para vehículos lentos cuya velocidad sea inferior al límite de velocidad del tráfico general. |
Cada origen de cruce y cada origen de giro pueden tener un evaluador. Cada origen de eje puede tener dos, uno para cada dirección digitalizada del eje.
Es posible asignar un evaluador predeterminado a ejes, cruces y giros. Si no se especifica un evaluador explícito para un determinado origen, el evaluador predeterminado es el que asigna los valores para ese origen.
A continuación se muestra el flujo de trabajo general para asignar un evaluador:
- Seleccione el origen al que debe asignarse el evaluador.
- Elija un tipo de evaluador, como Campo, Constante, Función o Secuencia de comandos.
- Especifique el valor que se va a asignar al atributo de red.
Si los valores se derivan de un campo, este se seleccionará de un menú desplegable. Si los valores van a calcularse con base en una expresión de campo, establezca el tipo de evaluador como Campo y presione F12 en su teclado para abrir el cuadro de diálogo Evaluadores de campo. Si lo prefiere, puede hacer clic con el botón derecho en el origen en el cuadro de diálogo Evaluadores y elegir Propiedades en el menú Valor para abrir el cuadro de diálogo Evaluadores de campo.
Ejemplos de evaluadores
Asignar valores a los atributos de coste
El atributo de red DriveTime en el gráfico a continuación usa un evaluador de campo para la clase de entidad de origen de Calles. Este se indica en la columna Tipo. La columna Valor muestra que el campo FT_Minutes suministra los valores de atributo de red para la dirección origen a destino del origen de Calles. De igual forma, los valores para la dirección destino a origen del origen de las calles se dibuja desde el campo TF_Minutes.
En este ejemplo, los demás orígenes de eje de esta red son ejes de tráfico y no tienen asignado un tiempo de conducción. Por lo tanto, pueden asignar un valor constante de -1, o mejor, un valor constante de cero y atributos de restricción determinados que prohíban a los automóviles y otros vehículos de calle.
Los atributos de coste se pueden derivar también de otro atributo de coste utilizando el evaluador de funciones. Por ejemplo, un atributo que modele los tiempos de viaje de los vehículos lentos puede utilizar el evaluador de funciones para hacer referencia a un atributo que modele los tiempos de viaje normales y multiplicarlo por un factor de retraso.
Asignar valores a restricciones
Los atributos de restricción tienen un tipo de datos booleano. Debido a que los elementos de origen pueden usar o ignorar la restricción asociada, se les pueden asignar un valor constante para Usar restricción o Ignorar restricción.
Los atributos de restricción también se pueden derivar utilizando el evaluador de funciones para comparar otro atributo con un valor de parámetro. Por ejemplo, un atributo que modele las restricciones de altura del vehículo puede utilizar el evaluador de funciones para comparar el límite de altura de una carretera con la altura real del vehículo almacenada en un parámetro del atributo. Cuando la expresión se evalúa y resulta verdadera, la restricción se usa en la carretera, cuando la expresión se evalúa y resulta falsa, la restricción se ignora. La excepción a esta regla es que cada vez que los operandos (MaxHeight o Altura del vehículo) tienen un valor de cero, la expresión siempre se evalúa como falsa.
Más información sobre cómo utilizar parámetros con atributos de red
Los atributos de restricción también pueden asignarse a partir de un campo en la clase de entidad de origen. Por ejemplo, puede utilizar un evaluador de expresión de campo para generar resultados booleanos, si la expresión es verdadera, el elemento usa la restricción, si no, el elemento ignora la restricción.
Cuando se crea un dataset de red, ArcGIS Network Analyst extension busca en todos los orígenes los campos utilizados normalmente, como pueda ser Unidireccional. Si encuentra un campo Unidireccional en cualquier origen, crea un atributo de red Unidireccional y asigna valores al origen pertinente basándose en expresiones de campo.
A continuación se muestran dos capturas de pantalla de la expresión VBScript para un atributo de restricción Unidireccional. Hay un evaluador y una expresión para cada dirección digitalizada de la calle.
Estas expresiones determinan la dirección o direcciones de viaje permitidas basándose en el valor de texto del campo Unidireccional:
- FT o F = Solo se permite el desplazamiento en la dirección digitalizada de la entidad de línea (la dirección origen a destino).
- TF o T = Solo se permite el desplazamiento en la dirección contraria a la dirección digitalizada de la entidad de línea (la dirección destino a origen).
- N = No se permite el desplazamiento en ninguna de las dos direcciones.
- Cualquier otro valor = Se permite el desplazamiento en ambas direcciones.
Parámetro Uso de restricción
Un atributo de restricción siempre tiene un parámetro asociado denominado Uso de restricción, que determina si los elementos que usan la restricción son prohibidos, solamente se evitan o incluso se prefieren. En la mayoría de casos, establecerá el Uso de restricción para prohibir, pero hay varios casos en los que puede elegir lo contrario.
Asignar jerarquías
Asignando las jerarquías del dataset de red, puede clasificar los ejes en diferentes niveles jerárquicos y, así, reducir los tiempos de resolución. Sin embargo, tenga presente que los resultados de las soluciones jerárquicas pueden ser peores que las soluciones no jerárquicas. Es recomendable leer también Sobre el análisis de redes con jerarquías para entender mejor qué son las jerarquías y cómo podrían utilizarse.
Los niveles de jerarquía se definen mediante enteros consecutivos, empezando en uno. El entero más bajo, es decir, uno, representa el nivel superior de la jerarquía. Los valores enteros más altos representan los niveles más bajos de la jerarquía. Por ejemplo, si está descomponiendo una red en tres niveles de jerarquía, asignaría un valor de 1 a los caminos primarios, un valor de 2 a los caminos secundarios y valor de 3 a los caminos terciarios. Los caminos primarios podrían incluir las autopistas, mientras que los caminos terciarios podrían incluir las calles residenciales.
La jerarquía de un dataset de red suele asignarse mediante un campo o un evaluador de expresión de campo. Si la clase de entidad de Calles tiene un atributo de clase de carretera (jerarquía) con valores 1, 2 y 3 (que representen autopistas, carreteras nacionales y carreteras secundarias, respectivamente) el atributo de jerarquía puede establecerse simplemente mediante evaluadores de campos.
Normalmente, a un atributo de jerarquía se asignan tres, cuatro o cinco niveles de jerarquía, pero puede asignar tantos como desee, siempre que cada nivel se represente mediante un entero consecutivo empezando por uno. Debe evitar asignar demasiados niveles de jerarquía; no obstante, dado que esto podría dejar algunos ejes desconectados del resto de la jerarquía, lo que provocaría fallos al resolver las capas de análisis de red.
Si la clase de entidad de origen tiene un atributo que clasifica los caminos en más grupos de los deseados como niveles en la jerarquía, puede clasificar los grupos mediante un evaluador de expresión de campo que permita obtener el número de niveles de jerarquía deseados. Por ejemplo, suponga que una clase de entidad de Calles tiene un campo entero denominado Func_Class que tiene las siguientes seis clases de camino:
Func_Class | Tipo de calle |
---|---|
1 | Interestatal |
2 | Carretera interestatal de peaje |
3 | Carretera estatal |
4 | Carretera principal |
5 | Calle local |
6 | Acceso de autopista |
Además, suponga que desea agrupar los valores de Func_Class como se muestra en la siguiente tabla para crear tres niveles de jerarquía.
Nivel de jerarquía | Valores de Func_Class |
---|---|
1 | 1 (interestatales) 2 (carreteras interestatales de peaje) 6 (accesos de autopista) |
2 | 3 (carreteras estatales) 4 (caminos principales) |
3 | )5 (calles locales |
Para modelar este escenario, agregue una secuencia de comandos al campo evaluadores del atributo Jerarquía. Puede elegir entre escribir uno en la secuencia de comandos Python o VBScript. Para el ejemplo a continuación,que es en VBScript, se crea la variable denominada nivel y se establece en 3 (el nivel de jerarquía más bajo de este ejemplo). A continuación, se establecen las siguientes condiciones: si Func_Class es 1, 2 ó 6, asigne el valor 1 a nivel. Si Func_Class es 3 ó 4, asigne el valor 2 a nivel. En todos los otros casos, el valor permanece en 3. El cuadro de texto Valor contiene nivel para que el atributo de jerarquía de red evalúe al valor que representa al final de la secuencia de comandos.
Esto garantiza que a todos los niveles con Func_Class 1, 2 o 6 se asigne el valor de jerarquía de 1; a todos los elementos con Func_Class 3 o 4 se asignan un valor de jerarquía de 2; y a todos los demás (es decir, los elementos con valores de Func_Class de 5) se asigna un valor de jerarquía de 3.