Disponible avec une licence Network Analyst.
L'outil de géotraitement Résoudre la tournée de véhicules génère la table et les classes d'entités suivantes en sortie : Stops, UnassignedStops, Routes, Directions. Les tables et classes d'entités en sortie, ainsi que les attributs de champ correspondants, sont décrits dans les sous-sections suivantes.
Classe d’entités Routes
La classe d'entités linéaire Routes représente les conducteurs, véhicules et itinéraires d'une tournée de véhicules. Le nom par défaut de cette classe d'entités en sortie est Routes, mais vous pouvez lui attribuer un nom différent en modifiant le paramètre Nom des itinéraires en sortie (output_routes_name dans Python) avant l'analyse.
ArcGIS attribue même système de coordonnées que le jeu de données réseau sous-jacent utilise pour la classe d'entités Routes. Vous pouvez spécifier une valeur pour l'environnement de géotraitement Système de coordonnées en sortie.
Les noms de champ de la classe d'entités Routes sont répertoriés et décrits ci-dessous.
Nom du champ | Description |
---|---|
ObjectID | Champ d'ID géré par le système. |
Name | Nom de l'itinéraire. |
Shape | Champ de géométrie indiquant la forme de l'itinéraire. Utilisez le paramètre Remplir les lignes d'itinéraires (populate_route_lines dans Python) pour remplir ce champ ou non. La classe d'entités Routes est toujours créée et remplie avec des données pendant l'exécution de l'outil Résoudre la tournée de véhicules. Toutefois, le paramètre Remplir les lignes d'itinéraires (populate_route_lines dans Python) vous permet de générer et de stocker les valeurs du champ Shape pour les entités linéaires. Si vous ne spécifiez pas de valeurs de champ Shape, l'analyse est plus rapide et la taille des échanges de données entre serveurs et clients diminue. Mais comme les utilisateurs souhaitent généralement visualiser les itinéraires sur une carte, il est souvent nécessaire de remplir le champ Shape. |
ViolatedConstraints | Ce champ contient un résumé des contraintes de violation ; il est défini après un calcul. Si un itinéraire entraîne la violation d'une contrainte, une combinaison de plusieurs des violations répertoriées ci-dessous peut être attribuée au champ.
|
OrderCount | Nombre d'ordres attribués à l'itinéraire. |
TotalCost | Coût de fonctionnement total de l'itinéraire, qui correspond à la somme des valeurs des champs suivants :
|
RegularTimeCost | Coût de la durée normale du travail, à l'exclusion des pauses non rémunérées. |
OvertimeCost | Coût des heures supplémentaires, à l'exclusion des pauses non rémunérées. |
DistanceCost | Composant de coût de distance obtenu en multipliant les valeurs des champs TotalDistance et CostPerUnitDistance. La valeur de ce champ est nulle si l'attribut de distance n'est pas spécifié avant l'analyse. |
TotalTime | Durée totale de l'itinéraire. Ce champ englobe le temps de trajet, ainsi que la durée de desserte et le temps d'attente aux ordres, aux dépôts et les pauses. La valeur TotalTime correspond à la somme des valeurs des champs suivants :
L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
TotalOrderServiceTime | Durée totale de desserte passée à tous les ordres de l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
TotalBreakServiceTime | Durée totale de desserte passée à toutes les pauses de l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
TotalTravelTime | Temps de trajet total de l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
TotalDistance | Distance totale de trajet de l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ de distance (distance_units pour Python). La valeur de ce champ est nulle si l'attribut de distance n'est pas spécifié avant l'analyse. |
StartTime | Heure de début de l'itinéraire. L'itinéraire peut commencer avant le début de la fenêtre horaire de son dépôt initial. Cela fait alors l'objet d'un temps d'attente au dépôt initial. Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à cette valeur horaire est extrait de l'élément de réseau sur lequel se trouve le dépôt initial. |
EndTime | Heure de fin de l'itinéraire. L'itinéraire prend fin une fois la desserte terminée au dépôt final. Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à cette valeur horaire est extrait de l'élément de réseau sur lequel se trouve le dépôt final. |
TotalWaitTime | Temps d'attente total à tous les ordres, dépôts et aux pauses sur l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
TotalViolationTime | Temps de violation total à tous les ordres et pauses sur l'itinéraire. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
RenewalCount | En cas de relais de tournée, cette valeur est égale au nombre d'arrêts aux dépôts en vue de charger ou de décharger un véhicule. |
TotalRenewalServiceTime | Dans le cas d'un itinéraire comptant des relais, durée totale de desserte passée aux passages aux relais. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
Classes d'entités Directions
Cette classe d'entités linéaire donne des instructions tournant par tournant pour aider les conducteurs à suivre leurs itinéraires. Le nom par défaut de cette classe d'entités en sortie est Directions, mais vous pouvez lui attribuer un nom différent en modifiant le paramètre Nom des feuilles de route en sortie (output_directions_name dans Python) avant l'analyse. En outre, l'outil Résoudre la tournée de véhicules crée toujours la classe d'entités Directions ; toutefois, vous pouvez utiliser le paramètre Remplir les feuilles de route (populate_directions dans Python) pour remplir ou non la classe d'entités avec des entités pendant l'analyse. Par défaut, cette classe n'est pas remplie. Si vous n'avez pas besoin d'utiliser des feuilles de route, vous pouvez considérablement réduire les temps d'analyse ainsi que la quantité des données transférées entre serveurs et clients.
ArcGIS attribue le même système de coordonnées que le jeu de données réseau sous-jacent utilise pour la classe d'entités Directions. Vous pouvez spécifier une valeur pour l'environnement de géotraitement Système de coordonnées en sortie.
Les noms de champ de la classe d'entités Directions sont répertoriés et décrits ci-dessous.
Nom de champ | Description |
---|---|
ObjectID | Champ d'ID géré par le système. |
Shape | Champ de géométrie indiquant la forme des lignes. |
RouteName | Nom de l'itinéraire auquel l'action de conduite s'applique. |
ArriveTime | Heure de la journée à laquelle commence une action de conduite donnée. Si l'itinéraire couvre plusieurs jours, la date et l'heure du jour sont affichées. |
Type | Ce champ s'adresse à des utilisateurs expérimentés souhaitant personnaliser le texte des trajets. La plupart des utilisateurs peuvent ignorer ce champ et se reporter au champ Text. Type est une constante dans l'une des deux énumérations suivantes : esriDirectionsManueverType ou esriDirectionsStringType. (Reportez-vous à la description du champ SubItemType pour savoir à quelle énumération la valeur Type fait référence.) |
SubItemType | Ce champ s'adresse à des utilisateurs expérimentés souhaitant personnaliser le texte des trajets. La plupart des utilisateurs peuvent ignorer ce champ et se reporter au champ Text. SubItemType s'utilise avec Type pour créer le trajet dans le champ Text. Le champ SubItemType indique si le champ Type fait référence à une valeur constante de l'énumération esriDirectionsManueverType ou esriDirectionsStringType.
|
Text | Texte descriptif du trajet. |
ElapsedTime | Temps écoulé entre le début du trajet actuel et le suivant ou entre le début du trajet actuel et la fin de l'itinéraire pour le dernier trajet. Certains trajets incluent des enregistrements supplémentaires indiquant le temps de service, le temps de violation, etc. Dans ces cas, le temps écoulé est répliqué pour chaque enregistrement. Si vous souhaitez calculer le temps total écoulé, sélectionnez ces enregistrements avec une valeur Type de 1 et additionnez-les. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
DriveDistance | Distance entre le début du trajet actuel et le suivant ou entre le début du trajet actuel et la fin de l'itinéraire pour le dernier trajet. Cette valeur est nulle pour les trajets qui commencent au même emplacement que le suivant. |
Table Stops
La table Stops fournit des informations sur les arrêts aux dépôts, aux ordres et pendant les pauses. Ces données précisent notamment les itinéraires qui comportent des arrêts, les heures de départ et d'arrivée, ainsi que la séquence des arrêts.
Le nom par défaut de cette table en sortie est Stops, mais vous pouvez lui attribuer un nom différent en modifiant le paramètre Nom des arrêts en sortie (output_stops_name dans Python) avant l'analyse.
Les noms de champ de la table Stops sont répertoriés et décrits ci-dessous.
Nom de champ | Description |
---|---|
ObjectID | Champ d'ID géré par le système. |
Name | Nom de l'arrêt. Il s'agit d'une clé étrangère du nom du dépôt, de l'ordre ou de la pause dans le jeu d'enregistrements et les jeux d'entités en entrée. Le champ StopType spécifie le jeu d'entités ou d'enregistrements en entrée. |
PickupQuantities | Cargaison ou nombre de personnes devant être récupérées à un arrêt. Si plusieurs dimensions sont livrées à un arrêt, chaque quantité est séparée par un espace. Les unités de ce champ ne sont pas stockées. Vous devez interpréter les unités en tenant compte de la méthode utilisée pour renseigner le champ Quantities des itinéraires en entrée et les champs PickupQuantities et DeliveryQuantities des ordres en entrée. (Vous devez avoir rempli ces champs en utilisant les mêmes unités et un nombre identique de dimensions.) |
DeliveryQuantities | Cargaison ou nombre de personnes devant être déposées à un arrêt. Si plusieurs dimensions sont livrées à un arrêt, chaque quantité est séparée par un espace. Les unités de ce champ ne sont pas stockées. Vous devez interpréter les unités en tenant compte de la méthode utilisée pour renseigner le champ Quantities des itinéraires en entrée et les champs PickupQuantities et DeliveryQuantities des ordres en entrée. (Vous devez avoir rempli ces champs en utilisant les mêmes unités et un nombre identique de dimensions.) |
StopType | Indique si l'arrêt représente un dépôt, un ordre ou une pause. Le champ stocke une valeur codée qui peut être interprétée de la manière suivante :
|
RouteName | Nom de l'itinéraire comportant l'arrêt. |
Sequence | Séquence relative selon laquelle l'itinéraire attribué passe par l'arrêt. Si vous procédez à un tri par champs RouteName et Sequence, des listes ordonnées des arrêts sur chaque itinéraire sont créées. |
FromPreviousTravelTime | Temps de trajet écoulé entre le précédent arrêt sur l'itinéraire et l'arrêt actuel. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel (time_units dans Python). |
FromPreviousDistance | Distance sur l'itinéraire entre le précédent arrêt et l'arrêt actuel. L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ de distance (distance_units pour Python). |
ArriveCurbApproach | Indique de quel côté du véhicule se trouve le trottoir lorsque l'arrêt est atteint. |
DepartCurbApproach | Indique de quel côté du véhicule se trouve le trottoir au départ de l'arrêt. |
ArriveTime | Heure d'arrivée à l'arrêt. Lorsque le jeu de données réseau est configuré avec des fuseaux horaires, la valeur horaire correspond au fuseau horaire où se trouve l'arrêt ; sinon, elle correspond au fuseau horaire configuré sur l'ordinateur utilisé pour résoudre l'analyse. |
DepartTime | Heure de départ de l'arrêt. Lorsque le jeu de données réseau est configuré avec des fuseaux horaires, la valeur horaire correspond au fuseau horaire où se trouve l'arrêt ; sinon, elle correspond au fuseau horaire configuré sur l'ordinateur utilisé pour résoudre l'analyse. |
ArriveTimeUTC | Heure d'arrivée à l'arrêt. Cette valeur est exprimée en UTC (Temps Universel Coordonné). Ce champ est vide si aucun fuseau horaire n'est configuré sur le jeu de données réseau. |
DepartTimeUTC | Heure de départ de l'arrêt. Cette valeur est exprimée en UTC (Temps Universel Coordonné). Ce champ est vide si aucun fuseau horaire n'est configuré sur le jeu de données réseau. |
WaitTime | Temps d'attente ou escale à l'arrêt. Il se peut, par exemple, qu'une tournée soit obligée d'attendre à un ordre le début d'une fenêtre horaire. |
ViolationTime | Laps de temps écoulé entre la fin de la fenêtre horaire de l'arrêt et l'arrivée de la tournée du véhicule. |
Visualisation des arrêts
Comme la table Stops n'est pas une classe d'entités, il ne suffit pas d'ajouter la table à une carte pour voir les arrêts. Pour voir les arrêts sur une carte, vous devez suivre quelques étapes supplémentaires. Pour savoir comment, reportez-vous à la procédure ci-dessous. Cette approche peut vous sembler inutilement complexe si vous devez afficher les arrêts d'une tournée sur une carte, mais n'oubliez pas que cet outil est avant tout destiné à créer des services Web de tournées de véhicules. C'est pourquoi la sortie a été conçue pour être la moins volumineuse possible afin de minimiser la charge de traitement des serveurs et le transfert des données. Néanmoins, la sortie contient toutes les informations nécessaires à l'affichage des arrêts sous forme d'entités ponctuelles.
Par exemple, pour voir où se trouvent les arrêts au niveau des ordres, associez la table Stops au jeu d'entités Ordres d'origine utilisé en entrée. Vous pouvez sélectionner et combiner ces jeux de données à l'aide des champs StopType et Name de la table Stops et du champ Name du jeu d'entités Orders. Adoptez une approche similaire pour afficher les arrêts aux dépôts.
Contrairement aux ordres et aux dépôts, les pauses ne sont pas associées à un jeu d'entités en entrée. Vous devez donc faire appel à une autre méthode pour les visualiser. Vous pouvez générer des directions dans l'analyse, sélectionner les lignes représentant des entités et utiliser l'outil Sommets d'entités vers points pour les convertir en points.
Table UnassignedStops
Cette table répertorie les ordres qu'aucune tournée n'a pu atteindre. Elle indique également pourquoi l'arrêt n'a pas pu être respecté pour que vous puissiez apporter les modifications nécessaires et résoudre le problème.
Le nom par défaut de cette table en sortie est Stops, mais vous pouvez lui attribuer un nom différent en modifiant le paramètre Nom des arrêts non attribués en sortie (output_unassigned_stops_name) avant l'analyse.
Les noms de champ de la table Stops sont répertoriés et décrits ci-dessous.
Nom de champ | Description |
---|---|
ObjectID | Champ d'ID géré par le système. |
StopType | Indique si l'arrêt représente un dépôt, un ordre ou une pause. Le champ stocke une valeur codée qui peut être interprétée de la manière suivante :
|
Name | Nom de l'arrêt. Il s'agit d'une clé étrangère du nom du dépôt, de l'ordre ou de la pause dans le jeu d'enregistrements et les jeux d'entités en entrée. Le champ StopType spécifie le jeu d'entités ou d'enregistrements en entrée. |
ViolatedConstraints | Ce champ contient un résumé des contraintes de violation ; il est défini après un calcul. En cas de violation d'une contrainte, ce champ peut se voir attribuer une ou plusieurs des violations répertoriées ci-dessous.
|
Status | Ce champ est contraint par un domaine de valeurs répertoriées ci-dessous (leurs valeurs précodées sont affichées entre parenthèses).
|