Attribut de fuseau horaire

L’heure de la journée (et éventuellement la date) change pour un véhicule lorsqu’il passe un fuseau horaire. Si un attribut de fuseau horaire n’est pas configuré sur un jeu de données réseau qui couvre plusieurs fuseaux horaires, les valeurs horaires qui figurent dans une analyse peuvent être source de confusion et d’inexactitude. Vous pouvez ajouter un attribut de fuseau horaire à votre jeu de données réseau afin de modéliser les fuseaux horaires.

Cette rubrique explique les raisons pour lesquelles la configuration de fuseaux horaires peut s’avérer nécessaire sur votre jeu de données réseau et indique comment configurer un attribut de fuseau horaire.

Conditions définissant la nécessité d’un attribut de fuseau horaire

Tous les jeux de données réseau n’exigent pas un attribut de fuseau horaire, mais ce dernier est nécessaire sous certaines circonstances :

  • Le réseau est configuré pour modéliser le trafic en temps réel.
  • Les tronçons du réseau couvrent plusieurs fuseaux horaires et le réseau est configuré pour modéliser le trafic historique.
  • Les tronçons du réseau couvrent plusieurs fuseaux horaires et le réseau est utilisé pour l’analyse avec une impédance temporelle et une heure de départ ou une fenêtre horaire qui ne sont pas spécifiées en heure UTC (Temps Universel Coordonné).
  • Le réseau sera utilisé pour l’analyse Livraison sur le dernier kilomètre.

Fuseaux horaires et analyse de réseau

Les fuseaux horaires jouent plusieurs rôles dans l’analyse de réseau.

Interprétation des paramètres d’analyse temporelle

L’analyse de réseau peut éventuellement inclure plusieurs paramètres temporels. Par exemple, les fenêtres horaires permettent de modéliser des heures de rendez-vous ou les heures d’ouverture d’une ressource. Une heure de départ permet de modéliser l’heure de la journée à laquelle une personne commence un déplacement. Les champs d’analyse en sortie présentent les heures d’arrivée et de départ.

La configuration d’un attribut de fuseau horaire permet de saisir et d’interpréter les propriétés horaires, notamment pour un jeu de données réseau qui couvre plusieurs fuseaux horaires. Sinon, l’interprétation correcte des paramètres temporels risque d’être ambiguë, les valeurs peuvent être erronées et l’analyste sera peut-être dans l’obligation de convertir toutes les valeurs en temps universel coordonné.

Par exemple, supposez que vous ajoutiez deux arrêts, un dans le fuseau horaire de l’Est et l’autre dans le fuseau horaire du Centre, et que vous souhaitiez définir leurs fenêtres horaires de 8h00 à 9h00 heure locale. Si les fuseaux horaires ne sont pas configurés, vous devez convertir les deux fenêtres horaires en heure UTC et ajustez les paramètres de l’analyse pour signaler que ces heures doivent être interprétées en heure UTC.

Lorsque les fuseaux horaires sont configurés sur le jeu de données réseau, les heures que vous saisissez sont automatiquement interprétées dans l’heure locale du tronçon sous-jacent et Network Analyst gère les conversions de temps en interne.

Exactitude des calculs de temps de trajet

Pour un jeu de données réseau configuré pour utiliser le trafic, le temps de trajet pour parcourir un tronçon du réseau dépend des conditions de circulation à l’heure de la journée à laquelle le tronçon est emprunté. Si l’heure de la journée est incorrecte du fait que les fuseaux horaires ne sont pas correctement configurés, un temps de trajet erroné est calculé et les résultats de l’analyse ne sont pas exacts.

Supposons, par exemple, qu’une analyse d’itinéraires parcourt, à 08:38, deux tronçons adjacents, le premier commençant dans le fuseau horaire des Rocheuses et le second se poursuivant dans le fuseau horaire du Pacifique. Si aucun attribut de fuseau horaire n’est configuré, le jeu de données réseau ignorera le décalage horaire et récupérera les temps de trajet des tronçons sur la base d’un seul fuseau horaire. Cela signifie qu’au lieu de récupérer le temps de trajet pour le tronçon qui se trouve dans le fuseau horaire du Pacifique à 07:38, il pourrait récupérer le temps de trajet à 08:38 voire à une autre heure en fonction du fuseau horaire par défaut.

Si toutefois les fuseaux horaires sont correctement configurés, le temps de trajet du tronçon qui se trouve dans le fuseau horaire des Rocheuses est évalué à 08:38 heure locale et le tronçon qui se trouve dans le fuseau horaire du Pacifique est correctement évalué à 07:38 heure locale. La précision des temps de trajet est ainsi conservée dans un jeu de données réseau lié au trafic.

Feuille de route

Lorsqu’un réseau comporte un attribut de fuseau horaire, la feuille de route signale aux conducteurs les changements de fuseau horaire tout au long de leur itinéraire.

Fenêtre Feuille de route avec changement de fuseau horaire
La feuille de route indique qu’un véhicule franchit la limite d’un fuseau horaire à 08:38, qui correspond à 07:38 dans le nouveau fuseau horaire. La feuille de route indique au conducteur le décalage d’une heure.

Modélisation des fuseaux horaires par les jeux de données réseau

Les fuseaux horaires sont modélisés dans un jeu de données réseau par le biais d’un attribut de fuseau horaire qui attribue un fuseau horaire à chaque tronçon de réseau grâce à des évaluateurs configurés de manière analogue aux attributs coût et de restriction. Pour un réseau qui se trouve entièrement dans un seul fuseau horaire, un évaluateur constant suffit pour définir le fuseau horaire pour tous les tronçons. Si le réseau couvre plusieurs fuseaux horaires, un évaluateur de script de champ permet de référencer un champ dans chaque source d’entités Tronçon identifiant le fuseau horaire du tronçon.

La liste des fuseaux horaires disponibles pour le réseau est définie dans une table de fuseaux horaires au sein de la géodatabase qui contient le réseau. Une table de fuseaux horaires doit posséder un champ de texte nommé MSTimeZone et chaque ligne de cette table doit inclure une valeur de chaîne qui corresponde à celle des identifiants de fuseaux horaires officiels reconnus par le système d’exploitation Windows.

Les fuseaux horaires possèdent un décalage temporel par rapport au temps universel coordonné (UTC). Les règles locales indiquent le décalage UTC, le passage à l’heure d’été et, le cas échéant, le décalage et les plages de dates pour le passage à l’heure d’été. Comme ces règles peuvent fréquemment changer, il est difficile d’assurer le suivi de toutes les règles passées et actuelles. Heureusement, les versions des systèmes d’exploitation Windows mettent à jour ces règles en indiquant tous les changements de fuseau horaire dans le monde sur votre ordinateur grâce aux mises à jour Windows. Les fuseaux horaires et leurs règles sont enregistrés dans le Registre Windows. Extension ArcGIS Network Analyst récupère les décalages UTC et les règles de passage à l’heure d’été pour les fuseaux horaires à partir du Registre Windows.

L’attribut de fuseau horaire est configuré dans la boîte de dialogue Network Dataset Properties (Propriétés du jeu de données réseau) dans l’onglet Time Zone (Fuseau horaire) de la page Travel Attributes (Attributs de déplacement) :

Onglet Time Zone (Fuseau horaire)

Les propriétés suivantes peuvent être configurées :

  • Add Time Zone Attribute (Ajouter un attribut de fuseau horaire) : cochez cette case pour activer ou désactiver la prise en charge des fuseaux horaires dans le jeu de données réseau.
  • Time Zone Table (Table des fuseaux horaires) : la liste déroulante contient les tables des fuseaux horaires qui résident dans l’espace de travail du jeu de données réseau.
  • Evaluators (Évaluateurs) : chaque attribut défini dans le réseau doit fournir des valeurs pour chaque source et direction (le long et contre les tronçons) qui participe au réseau. Un évaluateur définit des valeurs pour l'attribut de chaque source et sens de déplacement, et un évaluateur par défaut pour chaque élément est utilisé pour ces sources et sens qui n’ont pas d’évaluateur assigné à un attribut.

    En savoir plus sur les évaluateurs

Configurer l’attribut de fuseau horaire

Pour exécuter une analyse à l’aide des fuseaux horaires, l’attribut de fuseau horaire doit être configuré pour un jeu de données réseau. La configuration requise varie selon que les données du réseau contiennent un seul fuseau horaire ou portent sur plusieurs fuseaux horaires.

Remarque :

Lorsque vous changez un attribut de réseau, vous devez construire le jeu de données réseau pour rétablir la connectivité, recalculer les attributs affectés et mettre à jour les éléments de réseau.

En savoir plus sur la nécessité d’une reconstruction

Configurer l’attribut de fuseau horaire pour un réseau qui s’étend sur plusieurs fuseaux horaires

Lorsque le réseau inclut des rues figurant dans des fuseaux horaires différents, un champ dans chaque source d’entités Tronçon peut être utilisé pour indiquer le fuseau horaire de chaque entité. L’attribut de fuseau horaire doit être configuré avec un évaluateur de script de champ qui référence ce champ.

Le mode de fonctionnement de cette configuration est présenté dans le diagramme conceptuel ci-dessous. Un champ appelé TimeZoneID dans la classe d’entités sources de tronçon indique le fuseau horaire dans lequel les entités se trouvent. La valeur TimeZoneID est une clé étrangère d’une table de fuseaux horaires qui réside dans le même espace de travail que le jeu de données réseau et enregistre une liste de fuseaux horaires applicables au réseau. Le champ MSTimeZone qui figure dans la table de fuseaux horaires est également une clé étrangère, mais d’une entrée qui figure dans le Registre Windows. (Des valeurs entières sont le plus souvent utilisées pour les identifiants et les clés étrangères, mais le Registre utilise du texte pour identifier les fuseaux horaires.) Le Registre fournit à Network Analyst des informations sur le décalage UTC et les plages de dates pour le passage à l’heure d’été.

Présentation conceptuelle des fuseaux horaires dans le jeu de données réseau
Les rues dont le champ TimeZoneID a pour valeur 14 sont mises en surbrillance et sont reliées à l’enregistrement de l’heure normale du Pacifique dans la table des fuseaux horaires. La valeur MSTimeZone relie ensuite les rues à la clé de l’heure normale du Pacifique dans le Registre. Ces relations permettent à Network Analyst de déterminer que ces rues ont un décalage UTC de -8 heures de novembre à mars et un décalage de -7 heures de mars à novembre.

  1. Créez une table de fuseaux horaires dans l’espace de travail en sortie du jeu de données.

    La table peut porter le nom de votre choix, mais doit comporter un champ de texte nommé MSTimeZone.

    Créez une table en cliquant avec le bouton droit sur la géodatabase et en choisissant New (Nouveau) > Table (Table) ou en utilisant l’outil de géotraitement Créer une table.

  2. Ajoutez une ligne à la table pour chaque fuseau horaire requis par le réseau et définissez les valeurs du champ MSTimeZone de chaque ligne sur un ID de fuseau horaire reconnu par le Registre Windows.

    Pour générer une liste d’ID de fuseaux horaires reconnus par le Registre Windows, saisissez tzutil /l dans une invite de commande Windows. L’ID est la deuxième valeur renvoyée pour chaque fuseau horaire.

    Capture d’écran de la sortie de la commande tzutil de Windows

  3. Enregistrez les mises à jour de la table.
  4. Créez un champ d’entier court dans chaque classe d’entités sources de tronçon utilisée par le réseau et renseignez les valeurs de ce champ selon la valeur d’ID d’objet de la ligne figurant dans la table de fuseaux horaires qui représente le fuseau horaire correct de l’entité.
  5. Si nécessaire, enregistrez les mises à jour apportées aux classes d’entités.
  6. Accédez aux attributs de réseau depuis la boîte de dialogue Network Dataset Properties (Propriétés du jeu de données réseau).
  7. Cliquez sur l’onglet Time Zone (Fuseau horaire).
  8. Cochez la case Add Time Zone Attribute (Ajouter un attribut de fuseau horaire).
  9. Dans la liste déroulante Time Zone Table (Table des fuseaux horaires), choisissez la table des fuseaux horaires à utiliser.
  10. Dans la section Evaluators (Évaluateurs), définissez la colonne Type pour utiliser un évaluateur Field Script (Script de champ) pour la direction Along (Sens aller) des sources d’entités Tronçon dans le réseau. Laissez la direction Against (Sens retour) des sources d’entités Tronçon définie sur Same as Along (Identique à Sens aller).
  11. Dans la colonne Value (Valeur) de la section Evaluators (Évaluateurs) pour les lignes que vous avez définies sur Field Script (Script de champ) à l’étape précédente, définissez la valeur sur le nom du champ dans la source d’entités Tronçon qui indique le fuseau horaire de l’entité. Si, par exemple, la classe d’entités source utilise un champ appelé TimeZoneID pour référencer la ligne qui convient dans la table des fuseaux horaires, configurez l’évaluateur afin d’utiliser ce champ en définissant la valeur sur !TimeZoneID!.

    Capture d’écran de la configuration de l’attribut de fuseau horaire à l’aide d’un évaluateur de script de champ
    L’attribut de fuseau horaire est configuré pour ce jeu de données réseau à l’aide d’une table de fuseaux horaires appelée TimeZones et d’un évaluateur de script de champ qui référence un champ nommé TimeZoneID dans la source d’entités Tronçon Routing_Streets.

  12. Cliquez sur OK.

    L’attribut de fuseau horaire est configuré et enregistré dans le jeu de données réseau.

  13. Créer le jeu de données réseau

    Le réseau est maintenant prêt à être utilisé.

Configurez l’attribut de fuseau horaire pour un réseau dans un seul fuseau horaire.

Lorsque les routes dans un réseau se trouvent dans un seul fuseau horaire, l’attribut de fuseau horaire peut être configuré à l’aide d’un évaluateur constant qui précode le fuseau horaire pour tous les tronçons de réseau. Aucun champ dans les classes d’entités sources de tronçon n’est nécessaire pour identifier le fuseau horaire de chaque entité puisque toutes les entités se trouvent dans le même fuseau. Une table des fuseaux horaires est requise, mais elle n’exige qu’une seule entrée avec la valeur de champ MSTimeZone définie sur le nom du seul fuseau horaire applicable au réseau. Le Registre Windows donne des informations à Network Analyst sur le décalage UT et sur les plages de dates pour le passage à l’heure d’été du fuseau considéré.

  1. Créez une table de fuseaux horaires dans l’espace de travail en sortie du jeu de données.

    La table peut porter le nom de votre choix, mais doit comporter un champ de texte nommé MSTimeZone.

    Vous pouvez créer une table en cliquant avec le bouton droit sur la géodatabase et en choisissant New (Nouveau) > Table (Table) ou en utilisant l’outil de géotraitement Créer une table.

  2. Ajoutez une ligne à la table et définissez la valeur du champ MSTimeZone selon l’ID de fuseau horaire correct reconnu par le Registre Windows.

    Pour générer une liste d’ID de fuseaux horaires reconnus par le Registre Windows, saisissez tzutil /l dans une invite de commande Windows. L’ID est la deuxième valeur renvoyée pour chaque fuseau horaire.

    Capture d’écran de la sortie de la commande tzutil de Windows

    Capture d’écran de la table attributaire d’une table de fuseaux horaries comportant une seule ligne
    La table des fuseaux horaires s’appelle TimeZones et contient le champ MSTimeZone requis. Cette table sera utilisée pour un réseau dont les tronçons sont entièrement compris dans le fuseau horaire de l’heure normale du Pacifique. Ainsi, la table ne contient qu’une ligne avec la valeur Heure normale du Pacifique.

  3. Enregistrez les mises à jour de la table.
  4. Accédez aux attributs de réseau depuis la boîte de dialogue Network Dataset Properties (Propriétés du jeu de données réseau).
  5. Cliquez sur l’onglet Time Zone (Fuseau horaire).
  6. Cochez la case Add Time Zone Attribute (Ajouter un attribut de fuseau horaire).
  7. Dans la liste déroulante Time Zone Table (Table des fuseaux horaires), choisissez la table des fuseaux horaires à utiliser.
  8. Dans la section Evaluators (Évaluateurs), vérifiez que la ligne étiquetée <Default> dans la colonne Source est configurée pour un évaluateur Constant dans la colonne Type et que la colonne Value (Valeur) montre le nom d’affichage du fuseau horaire désiré pour le jeu de données réseau. Laissez la direction Along (Sens aller) définie sur Same as Default (Identique à la définition par défaut) et la direction Streets (Against) (Rue (Sens retour)) des sources d’entités Tronçon définie sur Same as Along (Identique à Sens aller).

    Comme la table de fuseaux horaires ne contient qu’une seule ligne, le jeu de données réseau choisit automatiquement cette ligne pour le fuseau horaire par défaut.

    Capture d’écran de la configuration de l’attribut de fuseau horaire à l’aide d’un évaluateur constant
    L’attribut de fuseau horaire est configuré pour ce jeu de données réseau à l’aide d’une table de fuseaux horaires appelée TimeZones et d’un évaluateur constant qui est précodé sur un fuseau horaire en particulier. La source d’entités Tronçon utilise l’évaluateur de tronçon par défaut, car tous les tronçons se trouvent dans le même fuseau horaire.

  9. Cliquez sur OK.

    L’attribut de fuseau horaire est configuré et enregistré dans le jeu de données réseau.

  10. Créez le jeu de données réseau.

    Le réseau est maintenant prêt à être utilisé.