Agregar zonas horarias a un dataset de red
La hora del día (y posiblemente la fecha) cambia para un vehículo cuando se cruza una zona horaria. Si no se han configurado zonas horarias en un dataset de red que abarca varias zonas horarias, los valores de hora del día en un análisis pueden ser una fuente de errores. Además, los datasets de red habilitados por el tráfico pueden devolver tiempos de viaje incorrectos, y los datasets de la red del tráfico en vivo presentan las condiciones de tráfico para la hora equivocada si se ignoran las zonas horarias. Para evitar estos problemas, puede agregar un atributo al dataset de red de forma que administre las zonas horarias.
En este tema se explican las razones por las que hay que configurar las zonas horarias en el dataset de red y se describe cómo configurar las zonas horarias utilizando un atributo de red del descriptor.
Siempre es necesario configurar un atributo de zona horaria en un dataset de red habilitado por el tráfico en vivo; sin embargo, no siempre es necesario configurar un atributo de zona horaria sobre los datasets de red que no admiten tráfico en vivo. Por ejemplo, si un dataset de red que no admite el modelo de tráfico en vivo entra por completo en una sola zona horaria, no es necesario configurar las zonas horarias. Además, tampoco es necesario configurar las zonas horarias si nunca realiza análisis de red utilizando una impedancia basada en tiempo con una hora de inicio.
Por qué las zonas horarias son relevantes para el análisis de red
Para entender mejor por qué resulta esencial configurar un atributo de zona horaria en un dataset de red habilitado para tráfico que abarca varias zonas horarias, suponga que a las 8:13 a.m. un análisis de ruta atraviesa dos bordes adyacentes, empezando en un borde en la zona horaria oriental y continuando a lo largo de otro en la zona horaria central. Si no se configura un atributo de zona horaria, el dataset de red ignorará el diferencial de hora y recuperará los tiempos de viaje de bordes basados solo en una zona horaria. Esto significa que en lugar de recuperar el tiempo de viaje para el borde en la zona horaria central para las 7:13 a.m., podría recuperar el tiempo de viaje para 8:13 a.m. o posiblemente alguna otra hora del día, dependiendo de cual sea la zona horaria predeterminada.
Si las zonas horarias se configuran correctamente, sin embargo, el coste del borde en la zona horaria oriental se evalúa para la 8:13 a.m. hora local y el borde en la zona horaria central se evalúa correctamente para las 7:13 a.m. hora local. La precisión de las horas de viaje en un dataset de red habilitado para tráfico se mantiene por tanto. Asimismo, las direcciones muestran los cambios de zona horaria.
Independientemente de si un dataset de red que abarca varias zonas horarias está habilitado para tráfico o no, la configuración un atributo de zona horaria facilita la introducción e interpretación de las propiedades de hora del día (como ventanas de tiempo y horas de salida o llegada) ya que sus valores de tiempo siempre hacen referencia a la hora local. Por ejemplo, suponga que agrega dos paradas (una en la zona horaria oriental y otra en la zona horaria central) y desea establecer sus ventanas de tiempo de las 8:00 a.m. a las 9:00 a.m. hora local. Si no se configuran las zonas horarias, tendría que convertir manualmente uno o ambos valores de ventanas de tiempo a la zona horaria predeterminada. Alternativamente, cuando las zonas horarias se configuran en el dataset de red, las horas que introduzca se establecen automáticamente en la hora local del borde subyacente y Network Analyst administra las conversiones de hora internamente.
Cómo administran las zonas horarias los datasets de red
Las zonas horarias tienen un desfase temporal con respecto a la Hora universal coordinada (UTC). Las reglas locales especifican cual debería ser el desfase de UTC; si se aplica horario de verano o no; y, en caso afirmativo los desfases e intervalos de fechas del horario de verano. Estas reglas pueden cambiar con frecuencia; realizar el seguimiento de todas las reglas actuales y pasadas es una tarea difícil. Afortunadamente, las últimas versiones de los sistemas operativos de Windows se ocupan de esta cuestión facilitando los cambios de cualquier zona horaria del mundo al equipo a través de las actualizaciones de Windows. Las zonas horarias y sus reglas se almacenan en el Registro de Windows.
La Extensión ArcGIS Network Analyst recupera los desfases del UTC y las reglas de horario de verano para las zonas horarias del Registro de Windows. El siguiente diagrama conceptual muestra una descripción general sobre cómo funciona.
Un campo TimeZoneID en las entidades de origen de borde indica en qué zona horaria están las entidades. El valor TimeZoneID es una clave externa para una tabla de zonas horarias, que reside en el mismo espacio de trabajo que el dataset de red y almacena una lista de zonas horarias. El campo de MSTimeZone en la tabla de zonas horarias también es una clave externa, pero para una entrada en el Registro de Windows. (Es más común ver valores enteros como identificadores y claves externas; sin embargo, el Registro utiliza texto para identificar las zonas horarias.) El Registro proporciona información a Network Analyst sobre el desfase de UTC y cualquier intervalo de fechas para horario de verano.
Como se muestra en el gráfico, necesita una tabla de zonas horarias y un campo TimeZoneID en sus clases de entidad de origen de borde antes de poder configurar las zonas horarias en el dataset de red. Una vez que tenga estos componentes, puede crear un atributo de red de zona horaria.
Crear una tabla de zonas horarias
Para crear automáticamente y rellenar una tabla de zonas horarias, ejecute la herramienta Rellenar tabla de zona horaria, que puede descargar en ArcGIS Resource Centers. De lo contrario, los siguientes pasos le guiarán a través del proceso de creación manual de una tabla de zonas horarias. Para esta secuencia de pasos y la siguiente, se supone que está familiarizado con la creación y edición de Tablas en ArcGIS.
- Cree una tabla en el mismo espacio de trabajo que el dataset de red y dele un nombre, por ejemplo, TimeZones.
Si el espacio de trabajo es una geodatabase, la tabla tiene que crearse en el nivel de la geodatabase aunque el dataset de red tenga que residir en un nivel más profundo, en un dataset de entidades.
- Añada un atributo de texto a la tabla y denomínelo MSTimeZone.Precaución:
El nombre del atributo de texto debe ser MSTimeZone dado que se trata de una palabra clave para Network Analyst.
La longitud del atributo tiene que ajustarse al nombre de zona horaria más largo que vaya a añadir a la tabla. A partir de marzo de 2010, el nombre de la zona horaria más largo en el Registro de Windows tiene 61 caracteres.
- Opcionalmente, añada otro campo de texto para describir la zona horaria.
En el próximo paso se ofrece más información sobre los beneficios de añadir un campo descriptivo como este.
- Una vez creada la tabla, tiene que rellenar el campo MSTimeZone con nombres de zona horaria. Esto se puede hacer manualmente o mediante programación.
Si desea hacerlo mediante programación, busque el objeto TimeZoneFactory en ArcGIS Resource Centers para empezar. Por otra parte, los subpasos siguientes describen cómo buscar los valores en el Registro de Windows manualmente.
- Abra el Editor del Registro.
En Windows 7 o Vista, haga clic en Inicio, escriba regedit en el cuadro de texto Iniciar búsqueda, a continuación, presione INTRO.
En Windows XP, haga clic en Inicio > Ejecutar para abrir el cuadro de diálogo Ejecutar. Escriba regedit en el cuadro de texto Abrir y presione INTRO.
- Las claves del Registro parecen carpetas. Expanda las siguientes claves: HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > WindowsNT > CurrentVersion > Time Zones.
Una larga lista de claves subordinadas aparece bajo la clave Time Zones. Cada clave de la lista representa una zona horaria. Los valores que introduzca en la nueva tabla de zonas horarias bajo el atributo MSTimeZone deben coincidir exactamente con la ortografía de estos nombres de clave para que Network Analyst pueda encontrarlos en el Registro durante la resolución.
Precaución:Asegúrese de que no realiza ningún cambio en el Registro dado que esto podría dañar al sistema.
Para copiar un nombre, haga clic en una clave de zona horaria y presione F2 para entrar en modo de edición. Presione CTRL+C para copiar el nombre en el portapapeles. Presione ESC para salir del modo de edición. (Para pegar el nombre posteriormente, presione CTRL+V.)
Cuando se selecciona una clave en el Editor del Registro, sus valores aparecen en el otro panel de la ventana Editor del Registro. Juntos, los valores describen la zona horaria y Network Analyst utiliza los valores para determinar las horas apropiadas. Aunque Network Analyst no utiliza el valor Display, puede hacer referencia a esa información para ver el desfase temporal de la zona horaria respecto a UTC y alguna información geográfica sobre dónde se utiliza.
- Cree un registro en la tabla de zonas horarias para cada zona horaria que necesite utilizar en el dataset de red. Para el campo de MSTimeZone de cada registro, escriba o pegue el nombre de la zona horaria tal como aparece en el Editor del Registro.
Por ejemplo, si el dataset de red cubre los Estados Unidos contiguos, tendría cinco valores MSTimeZone en la tabla, como se muestra abajo. (El campo Display es opcional.)
ID de objeto
MSTimeZone
Visualización
1
Hora estándar del Este
(UTC-05:00) Hora del Este (EE.UU. y Canadá)
2
Hora estándar del Centro
(UTC-06:00) Hora del Centro (EE.UU. y Canadá)
3
Hora estándar de las Montañas
(UTC-07:00) Hora de las Montañas (EE.UU. y Canadá)
4
Hora estándar de las Montañas de EE.UU.
(UTC-07:00) Arizona
5
Hora estándar del Pacífico
(UTC-08:00) Hora del Pacífico (EE.UU. y Canadá)
Sugerencia:El campo Display se añade aquí para describir mejor el valor MSTimeZone. La información que contiene se copió de los valores Display de las claves de zona horaria en el Registro.
Aunque Network Analyst no requiere un campo como Display en la tabla, añadirlo puede facilitar la identificación de las zonas horarias representadas por MSTimeZone. Por ejemplo, los valores de Hora estándar de las Montañas y Hora estándar de las Montañas de EE.UU. para MSTimeZone parecen muy similares. A partir del campo Display, no obstante, puede ver que la zona horaria de Arizona está representada por la Hora estándar de las Montañas de EE.UU. (Arizona necesita un identificador de zona horaria independiente porque, a diferencia del resto de los estados con Hora de las Montañas, no utiliza el horario de verano.)
- Abra el Editor del Registro.
Ahora tiene una tabla con un campo de texto denominado MSTimeZone. El siguiente paso consiste en relacionar cada entidad de origen de borde con la zona horaria correcta en la tabla.
Agregar un campo TimeZoneID en las fuentes de eje
Cada entidad de origen de borde tiene que asociarse de forma precisa a una zona horaria.
- Añada un campo de enteros denominado TimeZoneID a cada clase de entidad de origen de borde. Aunque puede asignar cualquier nombre a este campo, se recomienda TimeZoneID.
- Calcule los valores de las entidades de origen de borde.
Los valores TimeZoneID son claves externas que relacionan las entidades con los registros en la tabla de zonas horarias que acaba de crear. Así en el ejemplo anterior, ObjectID 5 representa la hora estándar del Pacífico, y todas las entidades de origen de borde en dicha zona horaria necesitaría un valor TimeZoneID de 5. Si la hora estándar del Pacífico resultara tener un valor ObjectID diferente, rellenaría TimeZoneID con ese valor en su lugar.
Agregar un atributo de zona horaria a un dataset de red
Este conjunto de pasos demuestra cómo crear un atributo de red de zona horaria en el dataset de red. El atributo establece la relación entre el campo TimeZoneID en las clases de entidad de origen de borde y la tabla de zonas horarias.
El asistente Nuevo dataset de red crea automáticamente este atributo para usted, siempre y cuando tenga un campo TimeZoneID en su clase de entidad de calle y una tabla de zona horaria configurada correctamente.
-
En la ficha Atributos del cuadro de diálogo Propiedades de dataset de red o el asistente Nuevo dataset de red, haga clic en Agregar.
Se abre el cuadro de diálogo Agregar nuevos atributos.
- Escriba un nombre para el atributo, como TimeZone.
- Seleccione Descriptor en la lista Tipo de uso.
-
Seleccione Entero en la lista Tipo de dato.
-
Haga clic en Aceptar.
El atributo se agrega a la lista de atributos.
-
Haga clic con el botón derecho en el nuevo atributo, haga clic en Tabla de zonas horarias relacionadas, a continuación, haga clic en la tabla de zonas horarias en su espacio de trabajo.
Aparece un círculo verde con una T en medio a la izquierda del nombre de atributo, que indica que es el atributo de zona horaria.
- Haga doble clic en el nombre de atributo de zona horaria para abrir el cuadro de diálogo Evaluadores.
-
Para cada origen de borde, configure un evaluador del campo para leer los valores TimeZoneID de las clases de entidad de origen.
En el ejemplo siguiente, un evaluador del campo que lee valores de un campo TimeZoneID en la clase de entidad de origen Calles se asigna tanto a la dirección desde-hasta como hasta-desde.
-
Haga clic en Aceptar.
El cuadro de diálogo Evaluadores se cierra. Después de finalizar el asistente Nuevo dataset de red o cerrar el cuadro de diálogo Propiedades de dataset de red, puede generar el dataset de red para incorporar el nuevo campo de zona horaria.
Realizar el análisis de red a través de varias zonas horarias
Si las ubicaciones de red tiene ventanas de tiempo, los valores de hora del día que introduzca tienen asignada la zona horaria local, es decir, la zona horaria del elemento de borde subyacente de la ubicación de red.
Las ventanas para el problema de enrutamiento del vehículo se manejan de forma diferente para los objetos que pueden no estar asociados desde el inicio a una ubicación en la red.
- Las ventanas de tiempo en las que una ruta VRP puede comenzar se especifican con las propiedades LatestStartTime y EarliestStartTime. La zona horaria para estos valores de propiedad se toma del borde en que está ubicado el depósito inicial de la ruta.
- Los cortes tienen una ventana de tiempo que se especifica utilizando TimeWindowStart y TimeWindowEnd. Un corte está asociado a una ruta y la zona horaria se toma del borde en que está ubicado el depósito inicial de la ruta.