Utilizar parámetros con atributos de red
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 método es crear un atributo de red para cada variación de la altura o las condiciones meteorológicas; sin embargo, este enfoque no es escalable a medida que el número de permutaciones crezca. 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. En ArcCatalog, 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 en ArcMap al configurar los problemas de red de forma que los valores de los atributos de red se puedan determinar en tiempo de 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 un evaluador que utiliza un parámetro en el atributo de red así como otro atributo de red para ayudar a determinar su valor.
Dado que los valores del parámetro pueden cambiar en tiempo de ejecución, sus valores de atributo de red no se escriben en la base de datos, sino que se calculan bajo demanda. Por consiguiente, no es necesario volver a construir el dataset de red cuando el valor del parámetro cambie.
Parámetros en atributos de restricción
El parámetro Uso de restricción predeterminado
Se agrega un parámetro automáticamente a cualquier atributo de restricción que crea: Uso de restricción. Especifica si el atributo de restricción es prohibir, evitar o preferir el recorrido en elementos que usan la restricción. Si prefiere o evita elementos, además debe especificar el grado en que se deben evitar o preferir. Específicamente, el Uso de restricción se puede asignar a cualquiera de los siguientes valores (valores numéricos que se describen en paréntesis en la sección Dive-in en la lista a continuación):
- Prohibir:(-1) Viajar en elementos de red asociados está completamente prohibido. Éste es el uso de restricción más común.
- Evitar: Alto: (5) Es muy poco probable que el solucionador utilice los elementos de red asociados con la restricción.
- Evitar: Medio: (2) Es poco probable que el solucionador utilice los elementos de red asociados con la restricción.
- Evitar: Bajo: (1,3) Es algo probable que el solucionador utilice los elementos de red asociados con la restricción.
- Preferir: Bajo: (0,8) Es algo probable que el solucionador utilice los elementos de red asociados con la restricción.
- Preferir: Medio: (0,5) Es probable que el solucionador utilice los elementos de red asociados con la restricción.
- Preferir: Alto: (0,2) Es muy probable que el solucionador utilice los elementos de red asociados con la restricción.
Cada uno de estos siete valores de texto se representan internamente mediante un valor numérico fijo, el cual se muestra en paréntesis en la lista anterior. Las opciones de texto que se proveen y sus valores numéricos subyacentes, son suficientes para casi todos los usuarios. Aún, si necesita configurar el grado en el que los elementos se evitan o prefieren, puede hacerlo al introducir sus propios valores numéricos.
Para ayudarle a definir si introduce un valor personalizado, necesita saber que influencia tienen en el solucionador. En general, el costo de los elementos que restringe se multiplica con estos valores numéricos para incrementar o disminuir el costo, lo que hace los elementos menos o más atractivos durante el análisis. Los elementos preferidos, por ejemplo, se multiplican por un valor de parámetro mayor que 0 y menor que 1 para reducir su costo y hacer que el solucionador incluya con más probabilidad estos elementos en los resultados. El valor Preferir: Alto es más cercano a 0, mientras que el valor Preferir: Bajo es más próximo a 1 (tenga en cuenta que no se permite introducir un valor igual a 0, ya que ocasiona un error en el tiempo de resolución). Para los elementos que desea evitar, los valores numéricos de Uso de restricción se establecen con números mayores que 1 debido a que al multiplicarlos por estos valores se incrementan los costos. Para prohibir elementos, el valor de Uso de restricción que se usa internamente se establece en -1. Para simplificar, puede pensar que el ArcGIS Network Analyst interpreta valores de coste negativos como que no se pueden recorrer, pero el proceso interno es más complicado.
Comprenda que el solucionador únicamente usa estos costes de escala temporalmente, estos nunca se incluyen en la salida de un análisis o en direcciones de giro por giro.
Para introducir un valor personalizado, simplemente sustituya las opciones de texto (Restringido, Preferir: Alto, etc.) por un número, allí donde aparezcan. Si introduce un valor numérico que coincide con uno que usa un valor de texto, el valor de texto de visualiza.
Si utiliza un dataset de red de una versión de ArcGIS anterior a la 10.1, el parámetro Uso de restricción no se presentará en ninguno de los atributos de restricción; las restricciones siempre prohíben los elementos de red en este caso. Actualizar el dataset de red para habilitar la opción de cambio de restricciones para evitar o preferir elementos.
Parámetros para modelar características de vehículos
Network Analyst siempre agrega el parámetro predeterminado, Uso de restricción, a cada atributo de restricción. Puede agregar parámetros para establecer características de vehículos para configurar los elementos de red que un vehículo determinado puede recorrer.
Por ejemplo, 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 la mayoría de casos, Uso de restricción se establece para prohibir cuando el atributo de restricción depende en un parámetro de característica del vehículo. De acuerdo con esta subsección se asume que el atributo de restricción prohíbe elementos.
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. El siguiente diagrama 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.
Configurar un atributo parametrizado
Una vez haya creado los atributos de red necesarios, puede configurar el atributo parametrizado, que consta de dos pasos primarios:
- Agregar un parámetro a un atributo de red.
- Configurar el evaluador del atributo para utilizar el parámetro.
Estos pasos se llevan a cabo en ArcCatalog mediante la ficha Atributos del cuadro de diálogo Propiedades de dataset de red.
Más información sobre cómo editar los dataset de red
Agregar un parámetro
Puede seguir los siguientes pasos para crear un parámetro. El siguiente ejemplo ilustra un atributo de restricción, HeightRestriction, pero el mismo procedimiento funciona con los atributos de coste.
un nuevo parámetro, Altura del vehículo, se agrega al atributo HeightRestriction asigna un valor predeterminado de 0. (con una altura de vehículo 0, se supone que el vehículo puede pasar en cualquier.) Puede cambiar el valor predeterminado del parámetro al realizar un análisis de red en ArcMap.
Configurar el evaluador
Una vez agregado el parámetro, deberá diseñar un evaluador que incorpore el parámetro y una constante o bien otro atributo de red que almacene información relativa al parámetro. En el siguiente ejemplo, el atributo de restricción parametrizado HeightRestriction tiene asignado un evaluador que comparará el parámetro Altura del vehículo con el atributo de red del descriptor, MaxHeight, que contiene las mediciones de la distancia al suelo para los elementos de red.
Dado que el evaluador de secuencia de comandos calcula sus valores durante el análisis utilizando el entorno de VBScript o Python, especificar este evaluador tiende a afectar negativamente al rendimiento del análisis. Esri recomienda utilizar el evaluador de funciones en lugar del evaluador de secuencia de comandos siempre que sea posible para obtener el máximo rendimiento durante el análisis.
Más información sobre los tipos de evaluador utilizados por una red
Para este ejemplo se eligió el evaluador de funciones. El cuadro de diálogo Evaluadores de función a continuación muestran la expresión que se evalúa para cada calle. Cuando el evaluador de funciones devuelve el valor True, indica que el elemento de red está restringido. Si devuelve Falso, el elemento de red no está restringido y se puede utilizar en la solución.
Para poder comparar, se configuró un atributo de coste parametrizado, DriveTime_scaled, con un evaluador de funciones (mostrado a continuación) que utiliza el parámetro DriveTime Factor. El evaluador lee el tiempo de recurrido del atributo de coste DriveTime y lo multiplica por el valor de DriveTime Factor, que se especifica en tiempo de ejecución.
Puede cambiar el valor predeterminado del parámetro, que es 1, en tiempo de ejecución. Un valor de 1,5 ralentizaría un 50 por ciento los tiempos de recorrido respecto de los tiempos normales. Un elemento de red con un valor de DriveTime de 5 minutos tendría un valor de DriveTime_scaled de 7,5 minutos.
Reconstruir el dataset de red
Puesto que los evaluadores de funciones no almacenan sus valores en la base de datos sino que los calculan en tiempo de ejecución, no es necesario que reconstruya el dataset de red tras agregar o modificar un evaluador de funciones o los parámetros de atributos correspondientes en ArcCatalog. Sin embargo, en caso de que realice cambios en su atributo relacionado basado en un evaluador de campo, deberá reconstruir el dataset de red para poder utilizar los nuevos valores.
Una vez tenga el atributo parametrizado preparado en ArcCatalog, puede empezar a utilizarlo para resolver los problemas de red en ArcMap. Al cambiar el valor predeterminado del parámetro no es necesario reconstruir la red.