SolveVehicleRoutingProblem (VehicleRoutingProblem)

Récapitulatif

Ce service ArcGIS Online résout une tournées de véhicules (VRP) afin de trouver les itinéraires les mieux adaptés à une flotte de véhicules.

Un régulateur qui gère une flotte de véhicules a souvent besoin de prendre des décisions concernant l'itinéraire des véhicules. Ce type de décision implique d'attribuer au mieux un groupe de clients à une flotte de véhicules et d'ordonner et de programmer leurs visites. L'objectif du calcul d'itinéraire de véhicule (VRP) est de fournir un niveau élevé de service au client en respectant toutes les fenêtres horaires et en réduisant le plus possible les coûts opérationnels et d'investissement globaux. Les contraintes consistent à terminer les itinéraires avec les ressources disponibles et dans les limites de temps imposées par les rotations des chauffeurs, les limitations de vitesse, et les engagements du client.

Ce service sert à trouver des solutions pour des tâches aussi complexes que la gestion des flottes.

Prenons un exemple de livraison de marchandises à des épiceries au départ d'une localisation d'entrepôt central. Une flotte de trois camions est disponible à l'entrepôt. L'entrepôt fonctionne seulement dans une fenêtre horaire limitée, de 8h00 à 17h00, amplitude pendant laquelle tous les camions doivent rentrer à l'entrepôt. Chaque camion a une capacité de 7,5 tonnes, qui limite la quantité de marchandises qu'il peut transporter. Chaque point de vente a une demande concernant une quantité spécifique de marchandises (en livres) qui doit être livrée, ainsi que des fenêtres horaires limitant les moments où les livraisons doivent être faites. En outre, le chauffeur ne peut travailler que huit heures par jour, a besoin d'une pause déjeuner et il est rémunéré en fonction du temps passé à la conduite et à la livraison aux points de vente. L'objectif est de déterminer un itinéraire pour chaque chauffeur (ou itinéraire) qui permet d'effectuer les livraisons tout en respectant tous les besoins de service et en réduisant le temps total passé par le chauffeur sur chaque itinéraire. L'illustration suivant montre trois itinéraires obtenus en calculant l'itinéraire de véhicules ci-dessus.

Illustration

Résultats du calcul d'une tournée de véhicules

Utilisation

Syntaxe

SolveVehicleRoutingProblem_naagol (orders, depots, routes, breaks, time_units, distance_units, {analysis_region}, {default_date}, {uturn_policy}, {time_window_factor}, {spatially_cluster_routes}, {route_zones}, {route_renewals}, {order_pairs}, {excess_transit_factor}, {point_barriers}, {line_barriers}, {polygon_barriers}, {use_hierarchy_in_analysis}, {restrictions}, {attribute_parameter_values}, {populate_route_lines}, {route_line_simplification_tolerance}, {populate_directions}, {directions_language}, {directions_style_name})
ParamètreExplicationType de données
orders

Indiquez un ou plusieurs ordres (2,000 au maximum). Il s'agit des arrêts que doivent marquer les itinéraires de l'analyse VRP. Un ordre peut représenter une livraison (livraison d'un meuble, par exemple), une collecte (navette d'aéroport collectant un passager, par exemple) ou tout autre type de service ou d'inspection (élagage d'arbres ou inspection d'un bâtiment, par exemple).

Vous pouvez définir les propriétés des ordres que vous spécifiez, comme leur nom ou le temps de service, en utilisant des attributs. Vous pouvez spécifier les ordres avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

Name : nom de l'ordre. Le nom doit être unique. Si le nom n'est pas spécifié (champ vide), un nom est automatiquement généré pendant le processus de calcul.

ServiceTime : cette propriété spécifie le temps passé à un emplacement du réseau traversé par l'itinéraire. Elle stocke donc la valeur d'impédance de cet emplacement. Une valeur zéro ou Null indique que l'emplacement de réseau ne nécessite aucun temps de service.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

TimeWindowStart1 : heure de début de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de début.

Une fenêtre horaire n'indique que le moment auquel un véhicule peut arriver à un ordre, et non l'heure à laquelle la desserte doit être terminée. Pour tenir compte de la durée de la desserte et partir avant la fin de la fenêtre horaire, vous devez soustraire ServiceTime du champ TimeWindowEnd1.

Les champs de fenêtres horaires peuvent contenir soit une valeur d'heure uniquement, soit une valeur de date et d'heure. Si un champ d'heure, tel que TimeWindowStart1, a une valeur d'heure uniquement (par exemple, 8h00), la date est censée être celle spécifiée par le paramètre Date par défaut. L'utilisation de valeurs de date et d'heure (par exemple, 7/11/2010 8h00) vous permet de définir des fenêtres horaires qui couvrent plusieurs jours.

Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, les valeurs des fenêtres horaires de chaque ordre se rapportent au fuseau horaire dans lequel se trouve l'ordre.

TimeWindowEnd1 : heure de fin de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de fin.

TimeWindowStart2 : heure de début de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique l'absence de deuxième fenêtre horaire.

Si la première fenêtre horaire spécifiée par les champs TimeWindowStart1 et TimeWindowEnd1 est nulle, la deuxième doit l'être également.

Si les deux fenêtres horaires sont non nulles, elles ne peuvent pas se chevaucher. En outre, la deuxième fenêtre horaire doit survenir après la première.

TimeWindowEnd2 : heure de fin de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null.

Lorsque les deux valeurs TimeWindowStart2 et TimeWindowEnd2 sont nulles, il n'existe aucune deuxième fenêtre horaire.

Lorsque TimeWindowStart2 est non nul mais TimeWindowEnd2 est nul, il existe une deuxième fenêtre horaire ayant une heure de début mais aucune heure de fin. Cette situation est valide.

MaxViolationTime1 : une fenêtre horaire est considérée comme enfreinte si l'heure d'arrivée survient après la fin de la fenêtre horaire. Ce champ spécifie l'infraction de temps maximale autorisée pour la première fenêtre horaire de l'ordre. Elle peut contenir une valeur de zéro, mais pas de valeurs négatives. La valeur zéro indique qu'une violation de fenêtre horaire à la première fenêtre horaire de l'ordre est inacceptable. La première fenêtre horaire est donc stricte. En revanche, une valeur Null indique qu'il n'y a aucune limite d'infraction de temps admissible. Une valeur différente de zéro spécifie le retard maximal autorisé ; par exemple, un itinéraire peut arriver à un ordre jusqu'à 30 minutes après la fin de sa première fenêtre horaire.

L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel.

Les violations de fenêtre horaire peuvent être suivies et pondérées par le solveur. Vous pouvez faire en sorte que le solveur de tournées de véhicules adopte l'une des trois approches suivantes :

  • réduire la durée totale de la violation, sans tenir compte de l'augmentation du coût de trajet de la flotte,
  • trouver une solution équilibrée entre la durée totale de la violation et le coût de trajet,
  • ignorer la durée totale de la violation et réduire à la place le coût de trajet de la flotte.

En attribuant un degré d'importance au paramètre Importance de la violation des fenêtres horaires, vous choisissez de fait l'une de ces trois approches. Cependant, le solveur renvoie une erreur si la valeur définie pour MaxViolationTime1 est dépassée.

MaxViolationTime2 : infraction maximale de temps autorisée pour la deuxième fenêtre horaire de l'ordre. Ce champ est identique au champ MaxViolationTime1.

DeliveryQuantities : taille de la livraison. Vous pouvez spécifier la taille dans la dimension de votre choix, comme le poids, le volume ou la quantité. Vous pouvez même spécifier plusieurs dimensions, par exemple le poids et le volume.

Entrez les quantités de livraison sans préciser d'unités. Par exemple, si un objet de 300 livres doit être livré dans un ordre, entrez 300. Vous devez vous souvenir que la valeur est exprimée en livres.

Si vous effectuez le suivi de plusieurs dimensions, séparez chaque valeur numérique par un espace. Par exemple, si vous enregistrez le poids et le volume d'une livraison de 2 000 livres et 100 mètres cube, respectivement, entrez 2000 100. Là encore, vous devez vous souvenir des unités utilisées, à savoir les livres et les mètres cube dans ce cas. Vous devez également mémoriser l'ordre dans lequel vous saisissez les valeurs et leurs unités correspondantes.

Assurez-vous que DeliveryQuantities et PickupQuantities pour la classe Orders, et Capacities pour la classe Routes, sont spécifiés de la même manière. Les valeurs doivent être exprimées dans les mêmes unités et les dimensions doivent être répertoriées dans le même ordre pour tous les paramètres. Ainsi, si vous spécifiez le poids en kilos, puis le volume en mètres cube pour DeliveryQuantities, la capacité de vos itinéraires et les quantités d'enlèvement de vos ordres doivent être spécifiées de la même manière, à savoir poids en kilos, puis volume en mètres cube. Si vous combinez des unités ou modifiez l'ordre, des résultats indésirables se produiront sans que vous en ayez été averti.

Une chaîne vide ou une valeur Null signifie que toutes les dimensions sont égales à zéro. Si la chaîne contient un nombre insuffisant de valeurs par rapport au nombre de capacités ou aux dimensions faisant l'objet d'un suivi, les valeurs restantes sont considérées comme nulles. Les quantités de livraison ne peuvent pas être négatives.

PickupQuantities : taille de l'enlèvement. Vous pouvez spécifier la taille dans la dimension de votre choix, comme le poids, le volume ou la quantité. Vous pouvez même spécifier plusieurs dimensions, par exemple le poids et le volume. En revanche, vous ne pouvez pas utiliser de valeurs négatives. Ce champ est identique au champ DeliveryQuantities de la classe Ordres.

dans le cas d'une visite d'échange, un ordre peut avoir à la fois des quantités de livraison et de collecte.

Revenue : chiffre d'affaires généré si l'ordre est inclus dans une solution. Ce champ peut contenir une valeur Null, qui indique un chiffre d'affaires égal à zéro, mais il ne peut pas contenir de valeur négative.

Le chiffre d'affaires est compris dans l'optimisation de la valeur de fonction objective, mais ne fait pas partie du coût de fonctionnement de la solution. Autrement dit, le champ TotalCost de la classe d'itinéraires n'inclut jamais le paramètre Revenue dans sa sortie. Cependant, le chiffre d'affaires pondère l'importance relative de la desserte des ordres.

SpecialtyNames : chaîne séparée par des espaces contenant les noms des particularités requises pour l'ordre. Une valeur Null indique que l'ordre n'inclut pas de particularités.

L'orthographe des spécialités répertoriées dans les classes Ordres et Itinéraires doit correspondre pour que le solveur de tournées de véhicules puisse les associer entre elles.

Pour décrire les particularités et leur fonctionnement, prenons l'exemple d'une société d'entretien des pelouses et d'élagage dont une partie de ses ordres nécessite l'usage d'un camion nacelle pour élaguer les grands arbres. L'entreprise saisit CamionNacelle dans le champ SpecialtyNames de ces ordres pour indiquer leur besoin spécifique. SpecialtyNames n'est pas renseigné pour les autres ordres. De la même manière, l'entreprise saisit également CamionNacelle dans le champ SpecialtyNames des itinéraires empruntés par des camions munis de flèches hydrauliques. Le champ n'est pas renseigné pour les autres itinéraires. Lors de l'analyse, le solveur de tournées de véhicules attribue des ordres sans besoin spécifique à n'importe quel itinéraire, mais il attribue les ordres nécessitant des camions nacelle uniquement aux itinéraires empruntés par ces derniers.

AssignmentRule : ce champ spécifie la règle d'attribution de l'ordre à un itinéraire. Elle est contrainte par un domaine de valeurs répertoriées ci-dessous (utilisez le code numérique et pas le nom entre parenthèses).

  • 0 (Exclure) : l'ordre est exclu de l'opération de calcul qui s'ensuit.
  • 1 (Conserver la tournée et la séquence définie) : le solveur doit toujours attribuer à l'ordre l'itinéraire et la séquence prédéfinis lors du calcul. Si cette règle d'attribution ne peut pas être respectée, une violation d'ordre s'ensuit. Avec ce paramètre, seule la séquence relative est conservée (mais pas la séquence absolue). Par exemple, prenons deux ordres, A et B. Leurs valeurs de séquence sont de 2 et 3, respectivement. Si vous définissez les valeurs du champ AssignmentRule sur Conserver la tournée et la séquence définie, les valeurs de séquence réelles de A et B peuvent changer une fois l'analyse terminée, car d'autres ordres, pauses et passages aux dépôts peuvent encore être insérés avant, entre ou après A et B. Toutefois, B ne peut pas survenir avant A.
  • 2 (Conserver la tournée) : le solveur doit toujours attribuer l'ordre à l'itinéraire préattribué lors du calcul. Une séquence valide doit aussi être définie, même si elle ne peut pas être conservée. Si l'ordre ne peut pas être attribué à l'itinéraire spécifié, une violation d'ordre s'ensuit.
  • 3 (Déroger) : le solveur tente de conserver l'itinéraire et de séquencer la préattribution de l'ordre lors du calcul. Mais un nouvel itinéraire ou une nouvelle séquence peut être attribuée à l'ordre si cela permet de réduire la valeur globale de la fonction objective. Il s'agit de la valeur par défaut.

Ce champ ne peut pas contenir une valeur Null.

CurbApproach : spécifie la direction selon laquelle un véhicule peut atteindre et quitter le lieu de l'ordre. Le champ peut prendre l'une des valeurs entières suivantes affichées dans les parenthèses (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Peu importe le côté) : le véhicule peut atteindre et quitter le lieu de l'ordre dans les deux directions, donc le demi-tour est autorisé. Ce paramètre peut être sélectionné s'il est possible et souhaitable pour votre véhicule de faire demi-tour à l'ordre. Cette décision peut dépendre de la largeur de la route et de la densité du trafic ou de la présence à l'ordre d'un parking où les véhicules peuvent faire demi-tour.
  • 1 (Côté droit du véhicule) : l'ordre doit se trouver du côté droit du véhicule lorsque celui-ci s'en approche ou s'en éloigne. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules, tels que des bus qui doivent arriver à l'arrêt de bus par la droite.
  • 2 (Côté gauche du véhicule) : lorsque le véhicule atteint et quitte le lieu de l'ordre, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules, tels que des bus qui doivent arriver à l'arrêt de bus par la gauche.
  • 3 (Pas de demi-tour) : lorsque le véhicule s'approche du lieu de l'ordre, le bord du trottoir peut être d'un côté quelconque du véhicule ; en revanche, le véhicule doit partir sans faire demi-tour.

La propriété CurbApproach est conçue pour fonctionner avec les deux types de normes de conduite nationales : circulation à droite (comme en France et aux Etats-Unis) et circulation à gauche (Royaume-Uni). Tout d'abord, imaginons un ordre qui s'est produit du côté gauche d'un véhicule. Il se situe toujours sur la gauche, que le véhicule circule du côté gauche ou du côté droit de la route. Avec les normes de conduite nationales, ce qui peut changer est votre décision d'aborder l'ordre du côté droit ou du côté gauche du véhicule. Par exemple, si vous souhaitez atteindre le lieu de l'ordre sans laisser une voie de circulation entre le véhicule et l'ordre, vous choisissez 1 (Côté droit du véhicule) en France et aux Etats-Unis, mais 2 (Côté gauche du véhicule) au Royaume-Uni.

RouteName : nom de l'itinéraire auquel l'ordre est attribué.

En tant que champ en entrée, ce champ est utilisé pour préattribuer un ordre à une tournée spécifique. (Vous pouvez préattribuer un maximum de 200 ordres à un nom d'itinéraire.) Il peut contenir une valeur Null qui indique que l'ordre n'est préattribué à aucun itinéraire et que le solveur détermine la meilleure attribution d'itinéraire possible pour l'ordre. Si sa valeur est définie sur nul, le champ de séquence doit aussi l'être.

Après un calcul, si l'ordre est visité, le champ RouteName contient le nom de l'itinéraire auquel l'ordre est attribué.

Sequence : ce champ indique la séquence de l'ordre sur son itinéraire attribué.

En tant que champ en entrée, il permet de spécifier la séquence relative d'un ordre sur l'itinéraire. Ce champ peut contenir une valeur Null qui spécifie que l'ordre peut être placé n'importe où le long de l'itinéraire. Une valeur Null peut se produire seulement avec une valeur RouteName Null.

Les valeurs de séquence en entrée sont positives et uniques pour chaque itinéraire (partagées par les passages aux dépôts de relais, les ordres et les pauses), mais elles n'ont pas besoin de commencer à 1 ou d'être contiguës.

Après l'analyse, le champ Sequence contient la valeur de séquence de l'ordre sur son itinéraire attribué. Les valeurs de séquence en sortie pour un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives. Par conséquent, la plus petite valeur de séquence en sortie possible pour un ordre visité est 2, car une tournée commence toujours à un dépôt

Feature Set
depots

Spécifiez un ou plusieurs dépôts pour la tournée de véhicules spécifiée. Un dépôt est un emplacement d'où part un véhicule au début de sa journée de travail et à laquelle il retourne à la fin de la journée. Les véhicules sont chargés (en cas de livraison) ou déchargés (en cas de collecte) aux dépôts en début de tournée. Dans certains cas, un dépôt peut aussi jouer le rôle d'emplacement de relais où un véhicule peut être déchargé ou rechargé avant de poursuivre les livraisons ou les collectes. Un dépôt possède des heures d'ouverture et de fermeture, spécifiées par une fenêtre horaire stricte. Les véhicules ne peuvent pas arriver à un dépôt en dehors de cette fenêtre horaire.

Vous pouvez définir les propriétés des ordres que vous spécifiez, comme leur nom ou le temps de service, en utilisant des attributs. Vous pouvez spécifier les ordres avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

Name : nom du dépôt. Les champs StartDepotName et EndDepotName du jeu d'enregistrements Itinéraires font référence aux noms que vous spécifiez ici. Le dépôt est également référencé par le jeu d'enregistrements Relais de tournée lorsqu'il est utilisé.

Les noms de dépôts ne respectent pas la casse, ils doivent être non vides et uniques.

TimeWindowStart1 : heure de début de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de début.

Les champs de fenêtres horaires peuvent contenir soit une valeur d'heure uniquement, soit une valeur de date et d'heure. Si un champ d'heure a une valeur d'heure uniquement (par exemple, 8h00), la date est censée être celle spécifiée par le paramètre Date par défaut de la couche d'analyse. L'utilisation de valeurs de date et d'heure (par exemple, 7/11/2010 8h00) vous permet de définir des fenêtres horaires qui couvrent plusieurs jours.

Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, les valeurs des fenêtres horaires de chaque dépôt se rapportent au fuseau horaire dans lequel se trouve le dépôt.

TimeWindowEnd1 : heure de fin de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de fin.

TimeWindowStart2 : heure de début de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique l'absence de deuxième fenêtre horaire.

Si la première fenêtre horaire spécifiée par les champs TimeWindowStart1 et TimeWindowEnd1 est nulle, la deuxième doit l'être également.

Si les deux fenêtres horaires sont non nulles, elles ne peuvent pas se chevaucher. En outre, la deuxième fenêtre horaire doit survenir après la première.

TimeWindowEnd2 : heure de fin de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null.

Lorsque les deux valeurs TimeWindowStart2 et TimeWindowEnd2 sont nulles, il n'existe aucune deuxième fenêtre horaire.

Lorsque TimeWindowStart2 est non nul mais TimeWindowEnd2 est nul, il existe une deuxième fenêtre horaire ayant une heure de début mais aucune heure de fin. Cette situation est valide.

CurbApproach : spécifie la direction selon laquelle un véhicule peut atteindre et quitter le lieu du dépôt. Le champ peut prendre l'une des valeurs entières suivantes affichées dans les parenthèses (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Peu importe le côté) : le véhicule peut atteindre et quitter le lieu du dépôt dans les deux directions, donc le demi-tour est autorisé. Ce paramètre peut être sélectionné s'il est possible et souhaitable pour votre véhicule de faire demi-tour au dépôt. Cette décision peut dépendre de la largeur de la route et de la densité du trafic ou de la présence au dépôt d'un parking où les véhicules peuvent faire demi-tour.
  • 1 (Côté droit du véhicule) : le dépôt doit se trouver du côté droit du véhicule lorsque celui-ci s'en approche ou s'en éloigne. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules, tels que des bus qui doivent arriver à l'arrêt de bus par la droite.
  • 2 (Côté gauche du véhicule) : lorsque le véhicule atteint et quitte le lieu du dépôt, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules, tels que des bus qui doivent arriver à l'arrêt de bus par la gauche.
  • 3 (Pas de demi-tour) : lorsque le véhicule s'approche du lieu du dépôt, le bord du trottoir peut être d'un côté quelconque du véhicule ; en revanche, le véhicule doit partir sans faire demi-tour.

La propriété CurbApproach est conçue pour fonctionner avec les deux types de normes de conduite nationales : circulation à droite (comme en France et aux Etats-Unis) et circulation à gauche (Royaume-Uni). Tout d'abord, imaginons un dépôt qui s'est produit du côté gauche d'un véhicule. Il se situe toujours sur la gauche, que le véhicule circule du côté gauche ou du côté droit de la route. Avec les normes de conduite nationales, ce qui peut changer est votre décision d'aborder un dépôt du côté droit ou du côté gauche du véhicule. Par exemple, si vous souhaitez atteindre un dépôt sans laisser une voie de circulation entre le véhicule et le dépôt, vous choisissez 1 (Côté droit du véhicule) en France et aux Etats-Unis, mais 2 (Côté gauche du véhicule) au Royaume-Uni.

Bearing : direction de déplacement d'un point. Les unités sont exprimées en degrés et mesurées dans le sens horaire, à partir du nord vrai. Ce champ est utilisé avec le champ BearingTol.

En règle générale, les données de relèvement sont automatiquement envoyées à partir d'un périphérique mobile équipé d'un récepteur GPS. Essayez d'inclure des données de relèvement si vous chargez un ordre qui se déplace, par exemple un piéton ou un véhicule.

L'utilisation de ce champ vous évite d'ajouter des emplacements sur des tronçons incorrects, par exemple lorsqu'un véhicule se rapproche d'une intersection ou d'un passage supérieur. Le relèvement permet également à l'outil de déterminer plus facilement le côté de la rue où se trouve le point.

Pour plus d'informations, reportez-vous à la rubrique d'aide sur le relèvement et la tolérance de relèvement (http://links.esri.com/bearing-and-bearing-tolerance).

BearingTol : la valeur de tolérance de relèvement crée une plage de valeurs de relèvement acceptables lors de la localisation de points qui se déplacent sur un tronçon à l'aide du champ Relèvement. Si la valeur du champ Relèvement est comprise dans la plage de valeurs acceptables générées à partir de la tolérance de relèvement sur un tronçon, le point peut être ajouté à cet endroit en tant qu'emplacement de réseau. Sinon, le point le plus proche sur le prochain tronçon le plus proche est évalué.

Les unités sont exprimées en degrés et la valeur par défaut est 30. Vous pouvez choisir des valeurs supérieures à zéro et inférieures à 180.

Si la valeur est égale à 30, lorsque Network Analyst essaie d'ajouter un emplacement de réseau sur un tronçon, une plage de valeurs de relèvement acceptables est générée à 15º de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon.

Pour plus d'informations, reportez-vous à la rubrique sur le relèvement et la tolérance de relèvement dans le système d'aide ArcGIS (http://links.esri.com/bearing-and-bearing-tolerance).

NavLatency : ce champ n'est utilisé qu'au cours du processus de calcul si Bearing et BearingTol contiennent également des valeurs ; toutefois, vous n'êtes pas obligé d'entrer une valeur NavLatency, même si Bearing et BearingTol sont renseignés. NavLatency indique le temps censé s'écouler entre le moment où un véhicule se déplaçant envoie des informations GPS à un serveur et le moment où le dispositif de navigation du véhicule reçoit l'itinéraire traité. Les unités de temps de NavLatency sont identiques à celles de l'attribut de coût spécifiées par le paramètre Attribut de temps.

Feature Set
routes

Indiquez un ou plusieurs itinéraires (100 au maximum). Un itinéraire spécifie les caractéristiques des véhicules et des chauffeurs et représente également le chemin entre les dépôts et les ordres une fois l'analyse terminée.

Un itinéraire peut être défini par des temps de service aux dépôts initial et final, une heure de début fixe ou souple, des coûts opérationnels basés sur le temps ou sur la distances, de nombreuses capacités, diverses contraintes sur la journée de travail d'un chauffeur, etc. Vous pouvez définir les propriétés des itinéraires que vous spécifiez en utilisant des attributs. Vous pouvez spécifier les itinéraires avec les attributs suivants :

Name : nom de l'itinéraire. Le nom doit être unique.

L'outil génère un nom au moment du calcul si la valeur de champ est Null ; par conséquent, la saisie d'une valeur est facultative dans la plupart des cas. Toutefois, vous devez obligatoirement entrer un nom si votre analyse inclut des pauses, des relais de tournée, des zones de tournée ou des ordres qui sont préattribués à un itinéraire, car le nom de l'itinéraire est utilisé comme clé étrangère dans ces circonstances. Les noms d'itinéraires ne respectent pas la casse

StartDepotName : nom du dépôt initial de l'itinéraire. Ce champ est une clé étrangère du champ Nom dans Dépôts.

Si la valeur de StartDepotName est Null, l'itinéraire commence au premier ordre affecté. Omettre le dépôt initial est utile lorsque le point de départ du véhicule est inconnu ou sans rapport à votre problème. Cependant, si la valeur de StartDepotName est Null, EndDepotName ne peut pas l'être également.

Si des livraisons sont prévues le long de l'itinéraire et que la valeur de StartDepotName est Null, la cargaison est supposée avoir été chargée sur le véhicule à un dépôt virtuel avant le début de l'itinéraire. Dans le cas d'un itinéraire sans passage à des relais, les ordres de livraison (ceux dont les valeurs DeliveryQuantities sont différentes de zéro dans la classe Ordres) sont chargés au dépôt initial ou au dépôt virtuel. Pour un itinéraire doté de passages à des relais, seuls les ordres de livraison avant le premier passage à un relais sont chargés au dépôt initial ou au dépôt virtuel.

EndDepotName : nom du dépôt final de l'itinéraire. Ce champ est une clé étrangère du champ Nom de la classe Dépôts.

StartDepotServiceTime : durée de desserte au dépôt de départ. Cette valeur peut servir à modéliser le temps passé à charger le véhicule. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel.

Les périodes de service aux dépôts finaux et initiaux sont des valeurs fixes (fournies par les champs StartDepotServiceTime et EndDepotServiceTime) et ne prennent pas en considération la charge réelle d'un itinéraire. Par exemple, le temps de chargement d'un véhicule au dépôt initial peut dépendre de la taille des ordres. Par conséquent, les périodes de service au dépôt peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer vos propres estimations de temps.

EndDepotServiceTime : période de service au dépôt final. Cette valeur peut servir à modéliser le temps passé à décharger le véhicule. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

L'unité de cette valeur de champ est spécifiée par le paramètre Unités du champ temporel.

Les périodes de service aux dépôts finaux et initiaux sont des valeurs fixes (fournies par les champs StartDepotServiceTime et EndDepotServiceTime) et ne prennent pas en considération la charge réelle d'un itinéraire. Par exemple, le temps de chargement d'un véhicule au dépôt initial peut dépendre de la taille des ordres. Par conséquent, les périodes de service au dépôt peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer vos propres estimations de temps.

EarliestStartTime : première heure de début admissible pour l'itinéraire. Ce champ est utilisé par le solveur conjointement avec la fenêtre horaire du dépôt initial pour déterminer des heures de départ d'itinéraire faisables.

Ce champ ne peut pas contenir de valeurs Null et affiche par défaut une valeur horaire de 8h00. Cette valeur par défaut est interprétée comme 8h00 à la date fournie par le paramètre Date par défaut.

Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, le fuseau horaire pour EarliestStartTime est le même que celui dans lequel se trouve le dépôt de départ.

LatestStartTime : dernière heure de début admissible pour l'itinéraire. Ce champ ne peut pas contenir de valeurs Null et affiche par défaut une valeur horaire de 10h00. Cette valeur par défaut est interprétée comme étant 10h00 à la date indiquée par la propriété Date par défaut de la couche d'analyse.

Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, le fuseau horaire pour LatestStartTime est le même que celui dans lequel se trouve le dépôt de départ.

ArriveDepartDelay : ce champ enregistre le temps de trajet nécessaire pour accélérer le véhicule à des vitesses de déplacement normales, le décélérer à un arrêt et le retirer du réseau et l'y replacer (entrée et sortie d'un parking, par exemple). Si vous incluez une valeur ArriveDepartDelay, le solveur de tournées de véhicules est dissuadé d'envoyer de nombreux itinéraires pour desservir physiquement des ordres coïncidents.

Le coût de cette propriété est supporté entre des visites à des dépôts, des relais de tournée et des ordres non coïncidents. Par exemple, lorsqu'un itinéraire commence à un dépôt et visite le premier ordre, le retard d'arrivée/de départ total est ajouté au temps de trajet. Cela est également valable pour le déplacement du premier ordre au deuxième ordre. Si les deuxième et troisième ordres sont coïncidents, la valeur ArriveDepartDelay n'est pas ajoutée entre eux, car le véhicule n'a pas besoin de se déplacer. Si l'itinéraire mène à un relais de tournée, la valeur est de nouveau ajoutée au temps de trajet.

Même si un véhicule doit ralentir et s'arrêter pendant une pause et accélérer par la suite, le solveur de tournées de véhicules ne peut pas ajouter la valeur ArriveDepartDelay aux pauses. Cela signifie que si un itinéraire quitte un ordre, effectue une pause et continue jusqu'à l'ordre suivant, le retard d'arrivée/de départ est ajouté une seule fois, et non deux.

Prenons l'exemple de cinq ordres coïncidents dans une très haute tour, qui sont desservis par trois itinéraires différents. Trois retards d'arrivée/de départ sont alors concernés, car trois chauffeurs doivent trouver chacun une place de parking et entrer dans le même bâtiment. Si toutefois les ordres pouvaient être desservis par un seul itinéraire au lieu de trois, un seul chauffeur aurait à se garer et à entrer dans le bâtiment (un seul retard d'arrivée/de départ serait concerné). Comme le solveur de tournées de véhicules essaie de réduire le coût, il tentera de limiter les retards d'arrivée/de départ et choisira donc l'option à un seul itinéraire. (Notez que plusieurs itinéraires peuvent être envoyés lorsque d'autres contraintes, comme des particularités, des fenêtres horaires ou des capacités, l'exigent.)

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

Capacities : capacité maximale du véhicule. Vous pouvez spécifier une capacité dans la dimension de votre choix, comme le poids, le volume ou la quantité. Vous pouvez même spécifier plusieurs dimensions, par exemple le poids et le volume.

Entrez les capacités sans préciser d'unités. Par exemple, si votre véhicule peut transporter 40 000 livres au maximum, entrez 40000. Vous devez vous souvenir que la valeur est exprimée en livres.

Si vous effectuez le suivi de plusieurs dimensions, séparez chaque valeur numérique par un espace. Par exemple, si vous enregistrez le poids et le volume et que votre véhicule peut transporter un poids de 40 000 livres et un volume de 56 mètres cube, le champ Capacities doit être défini sur 40000 56. Là encore, vous devez vous souvenir des unités utilisées. Vous devez également mémoriser l'ordre dans lequel vous saisissez les valeurs et leurs unités correspondantes (kilos suivis de mètres cube dans ce cas).

Il est important de mémoriser les unités et l'ordre dans lequel vous les saisissez pour deux raisons : d'abord pour pouvoir réinterpréter les informations ultérieurement, ensuite pour entrer correctement les valeurs dans les champs DeliveryQuantities et PickupQuantities des ordres. En ce qui concerne le deuxième point, notez que le solveur de tournées de véhicules traite simultanément les champs Capacities, DeliveryQuantities et PickupQuantities pour éviter toute surcharge. Comme aucune unité ne peut être entrée dans le champ, l'outil VRP ne peut pas effectuer de conversions. Par conséquent, vous devez entrer les valeurs des trois champs en utilisant les mêmes unités et en respectant le même ordre afin que les valeurs soient correctement interprétées. Si vous combinez des unités ou modifiez l'ordre dans un des trois champs, des résultats indésirables se produiront sans que vous en ayez été avertis. Nous vous conseillons donc de prédéfinir des unités et l'ordre dans lequel les saisir pour pouvoir vous y référer à tout moment lorsque vous entrez des valeurs dans ces trois champs.

Une chaîne vide ou une valeur Null signifie que toutes les valeurs sont égales à zéro. Les valeurs de capacité ne peuvent pas être négatives.

Si la chaîne Capacities contient un nombre insuffisant de valeurs par rapport aux champs DeliveryQuantities ou PickupQuantities pour la classe Ordres, les valeurs restantes sont traitées comme étant égales à zéro.

Le solveur de tournées de véhicules effectue un test booléen simple pour déterminer si les capacités sont dépassées. Si la valeur de capacité d'un itinéraire est supérieure ou égale à la quantité totale transportée, le solveur de tournées de véhicules suppose que la cargaison tient dans le véhicule. Cela peut toutefois s'avérer inexact, en fonction de la forme réelle de la cargaison et du véhicule. Par exemple, le solveur de tournées de véhicules autorise une sphère de 30 mètres cube dans un camion de 30 mètres cube qui mesure 2,40 mètres de large. Mais en réalité, comme la sphère mesure 3,85 mètres de diamètre, elle ne peut pas passer dans ce camion de 2,40 mètres de large.

FixedCost : coût monétaire fixe encouru seulement si l'itinéraire est utilisé dans une solution (autrement dit, si des ordres lui sont attribués). Ce champ peut contenir des valeurs Null, ce qui indique un coût fixe de zéro. Ce coût fait partie du coût de fonctionnement total de l'itinéraire.

CostPerUnitTime : coût monétaire encouru (par unité de temps de travail) pour la durée totale de l'itinéraire, y compris les temps de trajet, ainsi que le temps de service et le temps d'attente aux ordres, aux dépôts et les pauses. Ce champ ne peut pas contenir de valeur Null et sa valeur par défaut est 1.0.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

CostPerUnitDistance : coût monétaire encouru (par unité de distance parcourue) pour la longueur de l'itinéraire (distance de trajet totale). Ce champ peut contenir des valeurs Null, ce qui indique un coût de zéro.

L'unité de cette valeur de champ est spécifiée par le paramètre distance_units.

OvertimeStartTime : durée du temps de travail standard, avant le calcul des heures supplémentaires. Ce champ peut contenir des valeurs Null, ce qui indique que les heures supplémentaires ne s'appliquent pas.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

Par exemple, si le chauffeur doit percevoir des heures supplémentaires lorsque la durée totale de la tournée dépasse huit heures, la valeur OvertimeStartTime est alors 480 (8 heures * 60 minutes/heure), si le paramètre time_units est défini sur Minutes.

CostPerUnitOvertime : coût monétaire encouru par unité de temps d'heures supplémentaires. Ce champ peut contenir des valeurs Null, ce qui indique que la valeur de CostPerUnitOvertime est la même que celle de CostPerUnitTime.

MaxOrderCount : nombre maximal d'ordres autorisé sur l'itinéraire. Ce champ ne peut pas contenir de valeur Null et sa valeur par défaut est de 30. Cette valeur ne peut pas dépasser 200.

MaxTotalTime : durée d'itinéraire maximale autorisée. La durée de l'itinéraire 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. Ce champ peut contenir des valeurs Null, ce qui indique qu'aucune contrainte n'est présente sur la durée de la tournée.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

MaxTotalTravelTime : temps de trajet maximal admissible pour l'itinéraire. Le temps de trajet inclut uniquement le temps passé au volant sur le réseau, à l'exclusion de la durée de desserte ou du temps d'attente.

Ce champ peut contenir des valeurs Null. Une valeur Null indique l'absence de contrainte sur le temps de trajet maximal autorisé. La valeur de ce champ ne peut pas être supérieure à la valeur du champ MaxTotalTime.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

MaxTotalDistance : distance de trajet maximale admissible pour l'itinéraire.

L'unité de cette valeur de champ est spécifiée par le paramètre distance_units.

Ce champ peut contenir des valeurs Null, ce qui indique qu'aucune contrainte n'est présente sur la distance de trajet maximale autorisée.

SpecialtyNames : chaîne séparée par des espaces contenant les noms des particularités prises en charge par l'itinéraire. Une valeur Null indique que l'itinéraire ne prend pas en charge de particularités.

Ce champ est une clé étrangère du champ SpecialtyNames dans la classe Ordres.

Pour décrire les particularités et leur fonctionnement, prenons l'exemple d'une société d'entretien des pelouses et d'élagage dont une partie de ses ordres nécessite l'usage d'un camion nacelle pour élaguer les grands arbres. L'entreprise saisit CamionNacelle dans le champ SpecialtyNames de ces ordres pour indiquer leur besoin spécifique. SpecialtyNames n'est pas renseigné pour les autres ordres. De la même manière, l'entreprise saisit également CamionNacelle dans le champ SpecialtyNames des itinéraires empruntés par des camions munis de flèches hydrauliques. Le champ n'est pas renseigné pour les autres itinéraires. Lors de l'analyse, le solveur de tournées de véhicules attribue des ordres sans besoin spécifique à n'importe quel itinéraire, mais il attribue les ordres nécessitant des camions nacelle uniquement aux itinéraires empruntés par ces derniers.

AssignmentRule : ce champ spécifie si l'itinéraire peut être utilisé ou non lors du calcul. Ce champ est contraint par un domaine de valeurs répertoriées ci-dessous (utilisez le code numérique et pas le nom entre parenthèses).

  • 1 (Inclure) : l'itinéraire est inclus dans l'analyse. Il s'agit de la valeur par défaut.
  • 2 (Exclure) : l'itinéraire est exclu de l'analyse.

Record Set
breaks

On compte les périodes de repos, ou pauses, pour les itinéraires d'une tournée de véhicules spécifiée. Une pause est précisément associée à un itinéraire et elle peut être prise une fois un ordre terminé, en cours de route vers un ordre ou avant de desservir un ordre. Elle possède une heure de début et une durée, pendant laquelle le chauffeur peut être rémunéré ou pas. Vous disposez de trois options pour définir le début d'une pause : en utilisant une fenêtre horaire, un temps de trajet maximal ou un temps de travail maximal.

Vous pouvez définir les propriétés des pauses que vous spécifiez, comme leur nom ou le temps de service, en utilisant des attributs. Vous pouvez spécifier les ordres avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

RouteName : nom de l'itinéraire auquel la pause s'applique. Même si une pause est précisément affectée à un itinéraire, de nombreuses pauses peuvent être affectées à un même itinéraire.

Ce champ, qui est une clé étrangère du champ Nom du paramètre routes, ne peut pas contenir de valeur Null.

Precedence : les valeurs de Precedence permettent de classer les pauses d'un itinéraire donné. Les pauses dont la valeur de précédence est définie sur 1 surviennent avant celles dont la valeur est définie sur 2, etc.

Toutes les pauses doivent avoir une valeur de précédence, que ce soient des pauses en fonction d'une fenêtre horaire, d'un temps de trajet maximal ou d'un temps de travail maximal.

ServiceTime : durée de la pause. Ce champ peut contenir des valeurs Null. Une valeur Null indique l'absence de durée de desserte.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

TimeWindowStart : heure de début de la fenêtre horaire de la pause.

Si la valeur de ce champ est Null et qu'une valeur horaire valide est affectée à TimeWindowEnd, la pause peut démarrer à tout moment avant la valeur TimeWindowEnd.

Si ce champ possède une valeur, les valeurs de champs MaxTravelTimeBetweenBreaks et MaxCumulWorkTime doivent être Null. La valeur de MaxTravelTimeBetweenBreaks et de MaxCumulWorkTime doit également être Null pour toutes les autres pauses de la couche d'analyse.

Une erreur est renvoyée au moment du calcul si leurs fenêtres horaires d'un itinéraire qui possède plusieurs pauses se chevauchent.

Les champs de fenêtres horaires des pauses peuvent contenir soit une valeur d'heure seulement, soit une valeur de date et d'heure. Si un champ d'heure, tel que TimeWindowStart, a une valeur d'heure uniquement (par exemple, 12h00), la date est censée être celle spécifiée par le paramètre default_date. L'utilisation de valeurs de date et d'heure (le 11/07/2010 à 24h00, par exemple) vous permet de spécifier des fenêtres horaires qui couvrent au moins deux jours. Cela s'avère particulièrement utile lorsqu'une pause doit être prise avant et après minuit.

Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, les valeurs des fenêtres horaires de chaque pause se rapportent au fuseau horaire dans lequel se trouve l'itinéraire associé, tel que spécifié par le champ RouteName.

TimeWindowEnd : heure de fin de la fenêtre horaire de la pause.

Si la valeur de ce champ est Null et qu'une valeur horaire valide est affectée à TimeWindowStart, la pause peut démarrer à tout moment après la valeur TimeWindowStart.

Si ce champ possède une valeur, la valeur de MaxTravelTimeBetweenBreaks et de MaxCumulWorkTime doit être Null. La valeur de MaxTravelTimeBetweenBreaks et de MaxCumulWorkTime doit également être Null pour toutes les autres pauses de la couche d'analyse.

MaxViolationTime : ce champ indique la durée de violation maximale autorisée pour une pause en fonction d'une fenêtre horaire. Une fenêtre horaire fait l'objet d'une violation lorsque l'heure d'arrivée ne coïncide pas avec la plage horaire.

Une valeur nulle indique qu'une fenêtre horaire ne peut pas faire l'objet d'une violation. Autrement dit, la fenêtre horaire est stricte. Une valeur différente de zéro spécifie le retard maximal autorisé ; par exemple, la pause peut commencer jusqu'à 30 minutes après la fin de sa fenêtre horaire, mais le retard est pénalisé selon le paramètre Importance de la violation des fenêtre horaires.

La valeur de cette propriété peut être Null ; une valeur Null avec TimeWindowStart et TimeWindowEnd indique que la durée de violation autorisée n'est pas limitée. Si MaxTravelTimeBetweenBreaks ou MaxCumulWorkTime possède une valeur, la valeur de MaxViolationTime doit alors être nulle.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

MaxTravelTimeBetweenBreaks : temps de trajet maximal pouvant être cumulé avant que la pause ne soit prise. Le temps de trajet est cumulé à partir de la fin de la pause précédente ou, si aucune pause n'a encore été prise, à partir du début de l'itinéraire.

S'il s'agit de la dernière pause de l'itinéraire, MaxTravelTimeBetweenBreaks indique également le temps de trajet maximal pouvant être cumulé de la dernière pause jusqu'au dépôt final.

Ce champ est conçu pour limiter le temps de conduite d'une personne avant une pause. Par exemple, si le paramètre Unités du champ temporel (time_units pour Python) de l'analyse est définie sur Minutes et que MaxTravelTimeBetweenBreaks a pour valeur 120, le chauffeur pourra prendre une pause après deux heures de conduite. Pour affecter une deuxième pause au bout de deux autres heures de conduite, la propriété MaxTravelTimeBetweenBreaks de cette deuxième pause doit avoir pour valeur 120.

Si ce champ possède une valeur, la valeur de TimeWindowStart, TimeWindowEnd, MaxViolationTime et MaxCumulWorkTime doit être Null pour pouvoir calculer correctement une analyse.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

MaxCumulWorkTime :

Temps de travail maximal pouvant être cumulé avant que la pause ne soit prise. Le temps de travail est toujours cumulé à partir du début de l'itinéraire.

Le temps de travail correspond à la somme du temps de trajet et de la durée de desserte aux ordres, dépôts et pendant les pauses. Notez toutefois que le temps d'attente en est exclu, à savoir le temps passé par un itinéraire (ou un chauffeur) à attendre qu'une fenêtre horaire ne commence à un ordre ou à un dépôt.

Ce champ est conçu pour limiter le temps de travail d'une personne avant une pause. Par exemple, si le paramètre time_units est défini sur Minutes et que MaxCumulWorkTime a pour valeur 120 et que ServiceTime a pour valeur 15, le chauffeur pourra prendre une pause de 15 minutes au bout de deux heures de travail.

Reprenons le dernier exemple et partons du principe qu'une deuxième pause s'avère nécessaire au bout de trois autres heures de travail. Pour spécifier cette pause, vous affecteriez la valeur 315 (cinq heures et 15 minutes) à la propriété MaxCumulWorkTime de la deuxième pause. Ce nombre comprend les valeurs de MaxCumulWorkTime et ServiceTime de la pause précédente, ainsi que les trois heures de temps de travail supplémentaires avant d'accorder la deuxième pause. Pour éviter de prendre prématurément des pauses en fonction d'un temps de travail maximal, n'oubliez pas qu'elles cumulent le temps de travail à partir du début de l'itinéraire et que ce temps de travail comprend le temps de service aux précédents dépôts et ordres et pendant les précédentes pauses.

Si ce champ possède une valeur, la valeur de TimeWindowStart, TimeWindowEnd, MaxViolationTime et MaxTravelTimeBetweenBreaks doit être Null pour pouvoir calculer correctement une analyse.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

IsPaid : valeur booléenne indiquant si la pause est payée ou non. Une valeur True indique que le temps passé en pause est inclus dans le calcul de coût d'itinéraire et dans la détermination des heures supplémentaires. Une valeur False indique le contraire. La valeur par défaut est True.

Sequence : en tant que champ en entrée, il indique la séquence de la pause sur son itinéraire. Ce champ peut contenir des valeurs nulles. Les valeurs de séquence en entrée sont positives et uniques pour chaque itinéraire (partagées par les passages aux dépôts de relais, les ordres et les pauses), mais elles n'ont pas besoin de commencer à 1 ni d'être contiguës.

Le solveur modifie le champ de séquence. Une fois le calcul terminé, ce champ contient la valeur de séquence de la pause sur son itinéraire. Les valeurs de séquence en sortie pour un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives.

Record Set
time_units

Unités de temps pour toutes les valeurs de champ basées sur le temps dans l'analyse. Nombre d'entités et d'enregistrements d'une analyse VRP ont des champs qui permettent de stocker des valeurs de temps, comme ServiceTime pour les ordres et CostPerUnitTime pour les itinéraires. Pour optimiser la saisie des données, ces valeurs de champ n'incluent pas d'unités. Toutes les valeurs de champ basées sur une distance doivent être entrées dans les mêmes unités, et ce paramètre sert à spécifier les unités de ces valeurs.

Notez que les champs temporels en sortie utilisent les mêmes unités que celles spécifiées par ce paramètre.

String
distance_units

Unités de distance pour toutes les valeurs de champ basées sur une distance dans l'analyse. Nombre d'entités et d'enregistrements d'une analyse VRP ont des champs qui permettent de stocker des valeurs de distance, comme MaxTotalDistance et CostPerUnitDistance pour la classe Itinéraires. Pour optimiser la saisie des données, ces valeurs de champ n'incluent pas d'unités. Toutes les valeurs de champ basées sur une distance doivent être entrées dans les mêmes unités, et ce paramètre sert à spécifier les unités de ces valeurs.

Notez que les champs de distance en sortie utilisent les mêmes unités que celles spécifiées par ce paramètre.

String
analysis_region
(Facultatif)

Indiquez la région dans laquelle effectuer l'analyse. Si aucune valeur n'est spécifiée pour ce paramètre, l'outil calcule automatiquement le nom de la région en fonction de l'emplacement des points en entrée. Il est recommandé de définir le nom de la région afin d'accélérer l'exécution de l'outil. Pour indiquer une région, utilisez l'une des valeurs suivantes :

  • Europe
  • Inde
  • Japon
  • Corée
  • Moyen-Orient et Afrique
  • Amérique du Nord
  • Océanie
  • Amérique du Sud
  • Asie du Sud Est
  • Taïwan
  • Thaïlande

String
default_date
(Facultatif)

Date par défaut pour les valeurs de champs temporels qui spécifient un heure de la journée sans inclure de date. Vous pouvez trouver ces champs temporels dans différents paramètres en entrée, tels que les attributs ServiceTime des paramètres orders et breaks.

Date
uturn_policy
(Facultatif)

Utilisez ce paramètre pour empêcher ou autoriser la zone de desserte à réaliser des demi-tours aux jonctions. La terminologie suivante permet de mieux comprendre les valeurs des paramètres : une jonction est un point où un segment de rue se termine et se connecte potentiellement à un ou plusieurs autres segments. Une pseudo-jonction est un point où exactement deux rues se connectent. Une intersection est un point où trois rues ou plus se connectent. Une voie sans issue est un endroit où un segment de rue se termine sans se connecter à aucun autre. Avec ces informations, le paramètre peut avoir les valeurs suivantes :

  • ALLOW_UTURNS : les demi-tours sont permis partout. L'autorisation des demi-tours implique que le véhicule peut faire demi-tour au niveau de n'importe quelle jonction et repasser par la même rue. Il s'agit de la valeur par défaut.
  • NO_UTURNS : les demi-tours sont interdits à toutes les jonctions : pseudo-jonctions, intersections et voies sans issue. Notez toutefois que des demi-tours peuvent être autorisés même si cette option est choisie. Pour empêcher les demi-tours au niveau des incidents et des ressources, définissez la valeur de champ CurbApproach de façon à interdire les demi-tours.
  • ALLOW_DEAD_ENDS_ONLY : les demi-tours sont interdits au niveau de toutes les jonctions, sauf celles ayant une seule entité rue connectée (voie sans issue).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY : les demi-tours sont interdits aux pseudo-jonctions où deux rues adjacentes se rencontrent, mais sont autorisés aux intersections et dans les voies sans issue. Ceci empêche les manœuvres au milieu de la route lorsqu'une longueur de route est numérisée sous forme de deux entités rues.

String
time_window_factor
(Facultatif)

Indique l'importance de respecter les fenêtres horaires. Trois options sont décrites ci-dessous.

  • Elevé : accorde plus d'importance au respect de l'heure d'arrivée aux arrêts qu'à la réduction du temps de conduite. Les organisations qui doivent impérativement respecter l'heure de livraison ou qui placent le service clientèle au rang de leurs principales préoccupations doivent choisir l'option Elevée.
  • Moyenne : il s'agit de la valeur par défaut. Accorde autant d'importance à la réduction du temps de conduite qu'au respect de l'heure d'arrivée.
  • Faible : accorde plus d'importance à la réduction du temps de conduite qu'au respect de l'heure d'arrivée aux arrêts. Vous pouvez utiliser ce paramètre si vous avez un retard croissant de traitement des demandes de service. Si vous souhaitez desservir un plus grand nombre d'ordres au cours d'une journée ou rattraper un retard, vous pouvez sélectionner l'option Min., même si les clients risquent d'être gênés par votre arrivée tardive.

String
spatially_cluster_routes
(Facultatif)

  • CLUSTER (True) : des points d'origine dynamiques sont automatiquement créés pour toutes les tournées et les ordres attribués à une tournée particulière sont spatialement agrégés. L'agrégation des ordres permet de regrouper les tournées dans des zones plus petites et de réduire le nombre d'intersections entre différentes lignes d'itinéraires, mais elle a également tendance à augmenter le temps de trajet total.
  • NO_CLUSTER (False) : aucun point d'origine dynamique n'est créé. Choisissez cette option si des zones de tournée sont spécifiées.

Boolean
route_zones
(Facultatif)

Délimite les territoires de travail pour des itinéraires donnés. Une zone de tournée est une entité surfacique utilisée pour contraindre des itinéraires à traiter uniquement les ordres se trouvant dans la zone spécifiée ou s'en approchant. Voici quelques exemples de cas dans lesquels les zones de tournée peuvent être utiles :

  • Certains de vos employés n'ont pas les permis nécessaires pour travailler dans certaines régions ou communautés. Vous pouvez créer une zone de tournée stricte pour qu'ils ne visitent des ordres que dans des zones où ils remplissent les conditions requises.
  • L'un de vos véhicules tombe souvent en panne et vous souhaitez réduire le temps de réponse en faisant en sorte qu'il ne visite que les ordres proches de votre garage. Vous pouvez créer une zone de tournée souple ou stricte pour faire en sorte que le véhicule reste proche.

Vous devez définir les propriétés des zones de tournée que vous spécifiez, comme son itinéraire associé, en utilisant des attributs. Vous pouvez spécifier les zones de tournée avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

RouteName : nom de l'itinéraire auquel cette zone s'applique. Une zone de tournée peut avoir un itinéraire associé au maximum. Ce champ ne peut pas contenir de valeur Null. Il s'agit d'une clé étrangère pour le champ Nom de l'entité dans le paramètre routes.

IsHardZone : valeur booléenne indiquant une zone de tournée stricte ou souple. Une valeur True indique que la zone de tournée est stricte, c'est-à-dire qu'un ordre se trouvant en dehors du polygone de zone de tournée ne peut pas être attribué à l'itinéraire. La valeur par défaut est 1 (True). Une valeur False (0) indique que ces ordres peuvent encore être attribués, mais que leur coût de desserte est pondéré par une fonction basée sur la distance euclidienne depuis la zone de tournée. Cela signifie qu'à mesure que la distance en ligne droite entre la zone souple et l'ordre augmente, la probabilité que l'ordre soit attribué à l'itinéraire décroît.

Feature Set
route_renewals
(Facultatif)

Indique les dépôts intermédiaires que les itinéraires peuvent visiter pour recharger ou décharger la cargaison qu'ils livrent ou collectent. Un relais de tournée relie spécifiquement un itinéraire à un dépôt. La relation indique que l'itinéraire peut passer à un relais (pour recharger ou décharger en cours de route) au dépôt associé.

Les relais de tournée peuvent permettre de modéliser des scénarios dans lesquels un véhicule enlève une cargaison complète de livraisons au dépôt initial, dessert les ordres, retourne au dépôt pour renouveler sa charge de livraisons et continue à desservir d'autres ordres. Par exemple, dans le cas d'une livraison de gaz propane, le véhicule peut effectuer plusieurs livraisons jusqu'à ce que sa cuve soit presque vide, visiter un point de ravitaillement, puis poursuivre ses livraisons.

Voici quelques règles et options à prendre en compte lors de l'utilisation de points d'origine de tournée :

  • Le point de rechargement/déchargement, ou la localisation de relais, peut être différent du dépôt initial ou final.
  • Chaque itinéraire peut avoir une ou plusieurs localisations de relais.
  • Une localisation de relais peut être utilisée plusieurs fois par un même itinéraire.
  • Lorsque plusieurs dépôts de relais sont disponibles pour un itinéraire, le plus proche est sélectionné par le solveur.

Vous devez définir les propriétés des relais de tournée que vous spécifiez, comme le nom du dépôt où le relais de tournée peut se produire, en utilisant des attributs. Vous pouvez spécifier les relais de tournée avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

DepotName : nom du dépôt où ce relais a lieu. Ce champ ne peut pas contenir de valeur nulle. C'est une clé étrangère du champ Nom du paramètre depots.

RouteName : nom de l'itinéraire auquel ce relais s'applique. Ce champ ne peut pas contenir de valeur nulle. C'est une clé étrangère du champ Nom du paramètre routes.

ServiceTime : durée de desserte du relais. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

La durée de chargement d'un véhicule à un dépôt de relais peut dépendre de la taille du véhicule et de son degré de chargement. La durée de desserte d'un relais de tournée est toutefois une valeur fixe et elle ne prend pas en considération la charge réelle. Il est possible d'attribuer à une durée de desserte relais une valeur correspondant à une cargaison complète, une cargaison moyenne ou une autre estimation en temps de votre choix.

Record Set
order_pairs
(Facultatif)

Ce paramètre apparie les ordres d'enlèvement et de livraison pour qu'ils soient traités par le même itinéraire.

Il est quelquefois nécessaire que l'enlèvement et la livraison soient appariés pour les ordres. Par exemple, une entreprise de messagerie peut demander à un de ses employés de collecter un colis prioritaire à un ordre pour le livrer à un autre sans retourner au dépôt, ou centre de tri, afin de minimiser le temps de livraison. Il est possible d'utiliser des paires d'ordres pour attribuer ces ordres associés au même itinéraire avec la séquence adéquate. En outre, vous pouvez également attribuer des restrictions pour limiter le temps d'immobilisation du paquet dans le véhicule. Par exemple, un prélèvement sanguin doit être transporté du cabinet médical au laboratoire d'analyses en moins de deux heures.

Vous devez définir les propriétés des paires d'ordres que vous spécifiez, comme les noms des deux ordres, en utilisant des attributs. Vous pouvez spécifier les paires d'ordres avec les attributs suivants :

ObjectID : champ d'ID géré par le système.

FirstOrderName : nom du premier ordre de la paire. Ce champ est une clé étrangère du champ Nom du paramètre orders.

SecondOrderName : nom du second ordre de la paire. Ce champ est une clé étrangère du champ de nom du paramètre orders.

Le premier ordre de la paire doit être un ordre d'enlèvement, à savoir que la valeur de son champ DeliveryQuantities est nulle. Le second ordre de la paire doit être un ordre de livraison, à savoir que la valeur de son champ PickUpQuantities est nulle. La quantité enlevée au premier ordre doit correspondre à la quantité livrée au second ordre. Dans les cas où aucune capacité n'est utilisée, les deux ordres peuvent avoir des quantités égales à zéro.

Les quantités des ordres ne sont pas chargées ou déchargées à des dépôts.

MaxTransitTime : temps de transit maximal pour la paire. Le temps de transit correspond au laps de temps s'écoulant entre l'heure de départ du premier ordre et l'heure d'arrivée au second. Cette contrainte limite le temps passé dans le véhicule, ou temps de trajet, entre les deux ordres. Lorsqu'un véhicule transporte des personnes ou des denrées périssables, le temps de trajet est généralement plus court que celui d'un véhicule transportant des paquets ou des denrées non périssables. Ce champ peut contenir des valeurs nulles, ce qui indique qu'aucune contrainte n'est présente sur le temps de trajet.

L'unité de cette valeur de champ est spécifiée par le paramètre time_units.

Le temps de transit excessif (mesuré en fonction du temps de trajet direct entre des paires d'ordres) peut être suivi et pondéré par le solveur. Vous pouvez faire en sorte que le solveur de tournées de véhicules adopte l'une des trois approches suivantes :

  • réduire le temps de transit excessif, sans tenir compte de l'augmentation du coût de trajet de la flotte,
  • trouver une solution équilibrée entre la durée totale de la violation et le coût de trajet,
  • ignorer le temps de transit excessif et réduire à la place le coût de trajet de la flotte.

En attribuant un niveau d'importance au paramètre excess_transit_factor, vous choisissez l'une de ces trois approches. Quel que soit le niveau d'importance, le solveur renvoie toujours une erreur en cas de dépassement de la valeur MaxTransitTime.

Record Set
excess_transit_factor
(Facultatif)

Estime l'importance de la réduction du temps de transit excessif des paires d'ordres. Le temps de transit excessif correspond à la quantité de temps dépassant le temps nécessaire pour effectuer le trajet direct entre une paire d'ordres. Les pauses des chauffeurs ou les trajets aux ordres et aux dépôts intermédiaires peuvent être à l'origine de ces temps excessifs. Vous pouvez choisir parmi les trois valeurs répertoriées ci-dessous.

  • Elevé : le solveur tente de trouver une solution présentant le moins de temps de transit excessif possible entre des ordre appariés, mais augmente les coûts de trajet globaux. Ce paramètre est utile si vous transportez des personnes entre des paires d'ordres et que voulez raccourcir le temps de trajet. Il est caractéristique des services de taxi.
  • Moyenne : il s'agit de la valeur par défaut. Le solveur cherche un équilibre entre la réduction du temps de transit excessif et la réduction du coût total de la solution.
  • Basse - Le solveur tente de trouver une solution qui réduit le coût global de la solution, quel que soit le temps de transit excessif. Ce paramètre est fréquemment utilisé par les messageries privées. Ces sociétés transportant des paquets plutôt que des personnes, elles ne se préoccupent pas du temps de trajet. Cette option permet aux messageries de servir les paires d'ordres dans le bon ordre et de réduire le coût global de la solution.

String
point_barriers
(Facultatif)

Spécifiez un ou plusieurs points devant servir de restrictions temporaires ou représentant un délai ou une distance supplémentaire risquant d'être nécessaire pour se déplacer dans les rues sous-jacentes. Par exemple, une interruption ponctuelle peut servir à représenter un arbre tombé dans une rue ou le temps d'attente à un passage à niveau.

L'outil impose une limite de 250 points à ajouter comme interruptions.

Vous pouvez définir les propriétés des interruptions ponctuelles que vous spécifiez, comme leur nom ou type d'interruption, en utilisant des attributs. Vous pouvez spécifier les interruptions ponctuelles avec les attributs suivants :

Name : nom de l'interruption.

BarrierType : spécifie si l'interruption ponctuelle restreint complètement la circulation ou ajoute un délai ou une distance lorsqu'elle est traversée. La valeur de cet attribut peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Restriction) : interdit la circulation à travers l'interruption. L'interruption est désignée par le terme d'interruption ponctuelle de restriction, car elle agit comme une restriction.
  • 2 (Coût ajouté) : lorsque l'interruption est traversée, le temps de déplacement ou la distance augmente de la valeur spécifiée dans le champ Additional_Time ou Additional_Distance. Ce type d'interruption est désigné sous le terme d'interruption ponctuelle à coût ajouté.

Additional_Time : indique le temps de trajet ajouté lorsque l'interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté et uniquement si les unités de mesure sont temporelles. Cette valeur de champ doit être supérieure ou égale à zéro et ses unités identiques à celles spécifiées dans le paramètre Unités de mesure.

Additional_Distance : indique la distance ajoutée lorsque l'interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté et uniquement si les unités de mesure sont basées sur la distance. La valeur de champ doit être supérieure ou égale à zéro et ses unités identiques à celles spécifiées dans le paramètre Unités de mesure.

Feature Set
line_barriers
(Facultatif)

Spécifiez une ou plusieurs lignes interdisant la circulation partout où les lignes intersectent les rues. Par exemple, un défilé ou une manifestation qui bloque la circulation sur plusieurs segments de rue peut être modélisé avec une interruption linéaire. Une interruption linéaire peut également délimiter rapidement un périmètre autour de plusieurs routes et filtrer ainsi les itinéraires possibles en évitant les parties indésirables du réseau de transport.

L'outil impose une limite au nombre de rues que vous pouvez restreindre à l'aide du paramètre des interruptions linéaires. Bien qu'aucune limite ne soit imposée au nombre de lignes que vous pouvez spécifier comme interruptions linéaires, le nombre combiné de rues intersectées par toutes les lignes ne peut pas dépasser 500.

Vous pouvez définir une propriété de nom pour les interruptions linéaires que vous spécifiez en utilisant les attributs suivants :

Name : nom de l'interruption.

Feature Set
polygon_barriers
(Facultatif)

Spécifiez les polygones qui restreignent entièrement la circulation ou adaptez proportionnellement le temps ou la distance nécessaire pour se déplacer dans les rues intersectées par les polygones.

Le service impose une limite au nombre de rues que vous pouvez restreindre à l'aide du paramètre des interruptions polygonales. Bien qu'aucune limite ne soit imposée au nombre de polygones que vous pouvez spécifier comme interruptions polygonales, le nombre combiné de rues intersectées par tous les polygones ne doit pas dépasser 2,000.

Vous pouvez définir les propriétés des interruptions polygonales que vous spécifiez, comme leur nom ou type d'interruption, en utilisant des attributs. Vous pouvez spécifier les interruptions polygonales avec les attributs suivants :

Name : nom de l'interruption.

BarrierType : spécifie si l'interruption restreint complètement la circulation ou adapte le temps ou la distance de déplacement lorsqu'elle est traversée. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Restriction) : interdit la circulation à travers toute partie de l'interruption. L'interruption est désignée par le terme d'interruption polygonale de restriction, car elle empêche les déplacements dans les rues intersectées par l'interruption. Ce type d'interruption sert notamment à modéliser les zones inondées de la rue où la circulation est impossible.
  • 1 (Coût proportionné) : adapte le temps ou la distance nécessaire pour se déplacer dans les rues sous-jacentes selon un facteur spécifié avec le champ ScaledTimeFactor ou ScaledDistanceFactor. Si les rues sont partiellement couvertes par l'interruption, le temps de trajet ou la distance est réparti et proportionné. Par exemple, un facteur de 0,25 signifie que le déplacement dans les rues sous-jacentes est censé être quatre fois plus rapide que d'habitude. Un facteur de 3,0 signifie au contraire qu'il prendra trois fois plus de temps que d'habitude. Ce type d'interruption est désigné sous le terme d'interruption polygonale à coût proportionné. Il permet de modéliser des tempêtes qui réduisent la vitesse des déplacements dans des régions spécifiques.

ScaledTimeFactor : il s'agit du facteur de multiplication du temps de trajet des rues intersectées par l'interruption. Ce champ est actif uniquement pour les interruptions à coût proportionné et uniquement si les unités de mesure sont temporelles. La valeur du champ doit être supérieure à zéro.

ScaledDistanceFactor : il s'agit du facteur de multiplication de la distance des rues intersectées par l'interruption. Cet attribut est actif uniquement pour les interruptions à coût proportionné et uniquement si les unités de mesure sont basées sur la distance. La valeur de l'attribut doit être supérieure à zéro.

Feature Set
use_hierarchy_in_analysis
(Facultatif)

Indiquez si vous souhaitez utiliser une hiérarchie lorsque vous recherchez les meilleurs itinéraires.

  • Activé (True) - Recherche des itinéraires en utilisant une hiérarchie. Lorsque vous utilisez une hiérarchie, l'outil préfère les rues d'ordre supérieur (comme les autoroutes) aux rues d'ordre inférieur (comme les routes locales) ; il permet de simuler la préférence du conducteur de circuler sur des autoroutes plutôt que des routes locales, même si cela implique un trajet plus long. Cela est particulièrement vrai lorsque vous recherchez un itinéraire vers un site éloigné. En effet, pour les longs trajets, les conducteurs préfèrent généralement emprunter des autoroutes qui leur permettent d'éviter les arrêts, les intersections et les tournants. La recherche hiérarchique est plus rapide, surtout pour les itinéraires longue distance, car l'outil doit sélectionner le meilleur itinéraire à partir d'un sous-ensemble de rues relativement plus restreint.
  • Désactivé (False) - Recherche des itinéraires sans utiliser de hiérarchie. Si vous n'utilisez pas de hiérarchie, l'outil tient compte de toutes les rues pour trouver le meilleur itinéraire. Aucune préférence n'est accordée aux rues d'ordre supérieur. Cette valeur sert généralement à trouver des itinéraires courts dans une ville.

L'outil utilise automatiquement la hiérarchie si la distance en ligne droite entre les ordres, dépôts ou ordres et dépôts est supérieure à 50 milles (80 km), même si ce paramètre indique qu'il ne faut pas utiliser de hiérarchie.

Boolean
restrictions
(Facultatif)

Indiquez les restrictions qui doivent être respectées par l'outil lorsque vous recherchez les meilleurs itinéraires.

Une restriction représente une préférence ou une exigence relative à un trajet. Dans la plupart des cas, les restrictions sont utilisées pour interdire certaines routes. Par exemple, la restriction Eviter les routes à péage permet d'obtenir un itinéraire qui n'inclut les routes à péage que lorsque cela est strictement inévitable pour visiter un incident ou une ressource. Restriction de hauteur permet de contourner les dégagements qui sont inférieurs à la hauteur de votre véhicule. Si vous transportez des matières corrosives dans votre véhicule, l'utilisation de la restriction Substances dangereuses interdites empêche le transport de ces matériaux sur les routes qui l'interdisent.

Voici une liste des restrictions disponibles, ainsi qu'une brève description.

RemarqueRemarque :

Certaines restrictions nécessitent une valeur supplémentaire. Cette valeur doit être associée au nom de la restriction et à un paramètre précis destiné à fonctionner avec la restriction. Vous pouvez identifier ces restrictions si leurs noms apparaissent sous la colonne AttributeName dans le paramètre Valeurs des paramètres d’attributs. Le champ ParameterValue doit être indiqué dans le paramètre Valeurs des paramètres d’attributs pour que la restriction soit correctement utilisée lors de la recherche des routes traversables.

RemarqueRemarque :

Certaines restrictions sont uniquement prises en charge dans certains pays. Leur disponibilité est indiquée par région dans la liste ci-dessous. Parmi les restrictions dont la disponibilité est limitée au sein d'une région, vous pouvez vérifier si la restriction est disponible dans un pays en particulier en consultant la table de la section Liste des pays sur la page Web des données couvertes pour les services d'analyse du réseau. Si un pays a la valeur Yes dans la colonne Logistics Attribute, la restriction dotée de la disponibilité sélectionnée est prise en charge dans ce pays. Si vous spécifiez des noms de restrictions qui ne sont pas disponibles dans le pays dans lequel se trouvent vos incidents, le service ignore les restrictions non valides. Le service ignore également les restrictions dont la valeur du paramètre Utilisation de restriction est comprise entre 0 et 1 (voir le paramètre Valeurs des paramètres d’attributs). Il interdit toutes les restrictions dont la valeur du paramètre Utilisation de restriction par défaut est supérieure à 0.

L'outil prend en charge les restrictions suivantes :

  • Substances dangereuses interdites : les résultats n'intègrent pas les routes où le transport de marchandises dangereuses est interdit.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Eviter les routes de covoiturage : les résultats éviteront les routes qui sont exclusivement destinées aux véhicules de covoiturage (avec un nombre élevé d'occupants).

    Disponibilité : Tous les pays

  • Eviter les voies rapides : les résultats éviteront les voies rapides.

    Disponibilité : Tous les pays

  • Eviter les navettes : les résultats éviteront les navettes.

    Disponibilité : Tous les pays

  • Eviter les barrières : les résultats éviteront les routes sur lesquelles des barrières sont dressées, par exemple les accès verrouillés ou les allées contrôlées par des gardiens.

    Disponibilité : Tous les pays

  • Eviter les routes à accès limité : les résultats éviteront les autoroutes à accès limité.

    Disponibilité : Tous les pays

  • Eviter les routes privées : les résultats éviteront les routes qui ne sont pas publiques.

    Disponibilité : Tous les pays

  • Eviter les routes à péage : les résultats éviteront les routes à péage.

    Disponibilité : Tous les pays

  • Eviter les routes non goudronnées : les résultats éviteront les routes non goudronnées (terre battue, gravier, etc.).

    Disponibilité : Tous les pays

  • Restriction du nombre d'essieux : les résultats n'incluront pas les routes sur lesquelles les camions dotés du nombre spécifié d'essieux sont interdits. Le nombre d'essieux peut être indiqué à l'aide du paramètre de restriction Nombre d'essieux.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Conduire un bus : les résultats n'incluront pas les routes où les bus sont interdits. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Conduire un véhicule de livraison : les résultats n'incluront pas les routes où les véhicules de livraison sont interdits. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Conduire un taxi : les résultats n'incluront pas les routes où les taxis sont interdits. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Conduire un camion : les résultats n'incluront pas les routes où les camions sont interdits. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Conduire une automobile : les résultats n'incluront pas les routes où les automobiles sont interdites. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Conduire un véhicule d’urgence : les résultats n'incluront pas les routes où les véhicules d’urgence sont interdits. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Restriction de hauteur : les résultats n'incluront pas les routes où la hauteur des véhicules dépasse la hauteur maximale autorisée pour la route. La hauteur d'un véhicule peut être spécifiée à l'aide du paramètre de restriction Hauteur du véhicule (mètres).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Restriction de longueur entre le pivot central et l'essieu arrière : les résultats n'incluront pas les routes où la longueur des véhicules dépasse la longueur maximale autorisée entre le pivot central et l'essieu arrière pour tous les camions sur la route. La longueur entre le pivot central et l'essieu arrière peut être indiquée à l'aide du paramètre de restriction Longueur entre le pivot central et l'essieu arrière (mètres).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Restriction de longueur : les résultats n'incluront pas les routes où la longueur des véhicules dépasse la longueur maximale autorisée pour la route. La longueur d'un véhicule peut être spécifiée à l'aide du paramètre de restriction Longueur du véhicule (mètres).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Conduire une moto : les résultats n'incluront pas les routes où les motos sont interdites. Cette restriction permet également de s'assurer que les résultats respecteront les rues à sens unique.

    Disponibilité : Tous les pays

  • Routes en construction interdites : les résultats n'incluront pas les routes qui sont en construction.

    Disponibilité : Tous les pays

  • Semi-remorques interdits : les résultats n'incluront pas les routes où les semi-remorques sont interdits.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Véhicules à un seul essieu interdits : les résultats n'incluront pas les routes sur lesquelles les véhicules à un seul essieu sont interdits.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Véhicules à essieu tandem interdits : les résultats n'incluront pas les routes sur lesquelles les véhicules à essieu tandem sont interdits.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Trafic de passage interdit : les résultats n'intègrent pas les routes où le trafic de passage (non local) est interdit.

    Disponibilité : Tous les pays

  • Camion avec restriction du nombre de remorques : les résultats n'incluront pas les routes sur lesquelles les camions dotés du nombre spécifié de remorques sont interdits. Le nombre de remorques sur le camion peut être indiqué à l'aide du paramètre de restriction Nombre de remorques.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Utiliser les itinéraires privilégiés pour les substances dangereuses : les résultats privilégieront les routes désignées pour transporter tout type de marchandises dangereuses.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Utiliser les itinéraires privilégiés pour les camions : les résultats privilégieront les routes désignées pour les camions, telles que les routes faisant partie du réseau national (stipulées dans la loi National Surface Transportation Assistance aux Etats-Unis) ou les routes désignées comme routes pour les camions par l'Etat ou la province, ou encore les routes qui sont préférées par les chauffeurs routiers lorsqu'ils conduisent dans une région.

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Marche : les résultats n'incluront pas les routes où les piétons sont interdits.

    Disponibilité : Tous les pays

  • Restriction de poids : les résultats n'incluront pas les routes où le poids des véhicules dépasse le poids maximal autorisé pour la route. Le poids d'un véhicule peut être spécifié à l'aide du paramètre de restriction Poids du véhicule (kilogrammes).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Restriction de poids par essieu : les résultats n'incluront pas les routes où le poids par essieu des véhicules dépasse le poids par essieu maximal autorisé pour la route. Le poids d'un véhicule par essieu peut être spécifié à l'aide du paramètre de restriction Poids par essieu du véhicule (kilogrammes).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

  • Restriction de largeur : les résultats n'incluront pas les routes où la largeur des véhicules dépasse la largeur maximale autorisée pour la route. La largeur d'un véhicule peut être spécifiée à l'aide du paramètre de restriction Largeur du véhicule (mètres).

    Disponibilité : Sélectionner des pays en Amérique du Nord et en Europe.

String
attribute_parameter_values
(Facultatif)

Spécifiez les valeurs supplémentaires requises par certaines restrictions, telles que le poids d'un véhicule en cas de restriction de poids. Vous pouvez également faire appel au paramètre d'attribut pour spécifier si la restriction interdit, évite ou préfère la circulation sur des routes qui utilisent la restriction. Si la restriction consiste à éviter ou à préférer certaines routes, vous pouvez utiliser ce paramètre pour préciser le degré d'évitement ou de préférence. Par exemple, vous pouvez choisir de ne jamais emprunter de routes à péage, de les éviter autant que possible ou même de les préférer.

Si vous spécifiez le paramètre Valeurs des paramètres d’attributs d'une classe d'entités, les noms de champs sur la classe d'entités doivent correspondre aux champs, comme suit :

AttributeName : nom de la restriction.

ParameterName : nom du paramètre associé à la restriction. Une restriction peut avoir une ou plusieurs valeurs de champs ParameterName selon l'utilisation prévue.

ParameterValue : valeur de ParameterName utilisée par l'outil lors de l'évaluation de la restriction.

Le paramètre Valeurs des paramètres d'attributs dépend du paramètre Restrictions. Le champ ParameterValue s'applique uniquement si le nom de la restriction est spécifié comme valeur du paramètre Restrictions.

Dans le paramètre Valeurs des paramètres d'attributs, chaque restriction (affichée sous la forme AttributeName) se voit attribuer une valeur de champ ParameterName "Utilisation d'une restriction" qui détermine si la restriction interdit, évite ou préfère la circulation sur les routes associées à la restriction et précise le degré d'évitement ou de préférence des routes. Le champ ParameterName "Utilisation d'une restriction" peut se voir attribuer l'une des valeurs de chaîne suivantes ou leurs valeurs numériques équivalentes affichées entre parenthèses :

  • PROHIBITED (-1) - La circulation sur les routes utilisant la restriction est totalement interdite.
  • AVOID_HIGH (5) - Il est très improbable que l'outil inclue dans l'itinéraire les routes associées à la restriction.
  • AVOID_MEDIUM (2) - Il est improbable que l'outil inclue dans l'itinéraire les routes associées à la restriction.
  • AVOID_LOW (1.3) - Il est assez improbable que l'outil inclue dans l'itinéraire les routes associées à la restriction.
  • PREFER_LOW (0.8) - Il est assez probable que l'outil inclue dans l'itinéraire les routes associées à la restriction.
  • PREFER_MEDIUM (0.5) - Il est probable que l'outil inclue dans l'itinéraire les routes associées à la restriction.
  • PREFER_HIGH (0.2) - Il est très probable que l'outil inclue dans l'itinéraire les routes associées à la restriction.

Dans la plupart des cas, vous pouvez utiliser la valeur PROHIBITED par défaut pour le paramètre Utilisation d'une restriction si la restriction dépend d'une caractéristique du véhicule, telle que sa hauteur. Toutefois, dans certains cas, la valeur du paramètre Utilisation d'une restriction dépend de vos préférences d'itinéraire. Par exemple, pour le paramètre Utilisation d'une restriction, la valeur par défaut de la restriction Eviter les routes à péage est AVOID_MEDIUM. Cela signifie que lorsque cette restriction est utilisée, l'outil essaie de contourner les routes à péage, dans la mesure du possible. AVOID_MEDIUM indique également l'importance d'éviter les routes à péage lorsque vous recherchez le meilleur itinéraire : dans ce cas, la priorité est moyenne. Si vous choisissez AVOID_LOW, il n'est pas important d'éviter les routes à péage ; la sélection de AVOID_HIGH, en revanche, donne une grande importance à ce choix et justifie ainsi la génération par le service d'itinéraires plus longs afin d'éviter les péages. Si vous optez pour PROHIBITED, vous interdisez formellement la circulation sur des routes à péage, ce qui rend impossible la fréquentation d'un tronçon d'une route à péage dans la préparation de l'itinéraire. Gardez à l'esprit que l'évitement ou l'interdiction de routes à péage, et donc l'évitement du paiement de péages, peut constituer un objectif dans certains cas ; en revanche, d'autres préféreront circuler sur des routes à péage, car il leur apparaît plus important d'éviter les embouteillages plutôt que d'économiser sur les coûts de péage. Dans ce dernier cas, vous devez choisir PREFER_LOW, PREFER_MEDIUM ou PREFER_HIGH comme valeur du paramètre Utilisation d'une restriction. Plus la préférence est élevée, plus l'outil devra dévier de son trajet afin d'autoriser la circulation sur les routes associées à la restriction.

Record Set
populate_route_lines
(Facultatif)

  • Activé (True) : les itinéraires en sortie ont la forme exacte des rues sous-jacentes.
  • Désactivé (False) : aucune forme n'est générée pour les itinéraires en sortie, mais les itinéraires contiennent toujours les informations tabulaires concernant la solution. Vous ne pourrez pas générer de trajets si aucune ligne d'itinéraire n'est créée.

Lorsque le paramètre Forme d'itinéraire est défini sur Géométrie réelle, vous pouvez contrôler la généralisation de la forme d'itinéraire en utilisant les valeurs appropriées pour les paramètres Tolérance de simplification des lignes d'itinéraires.

Quelle que soit la valeur que vous choisissez pour le paramètre Forme d'itinéraire, les itinéraires les plus appropriés sont toujours déterminés en réduisant au maximum le déplacement dans les rues, jamais avec la distance en ligne droite. Cela signifie que seules les formes d'itinéraire sont différentes, pas les rues sous-jacentes dans lesquelles effectuer la recherche d'itinéraire.

Boolean
route_line_simplification_tolerance
(Facultatif)

Indiquez dans quelle proportion vous souhaitez simplifier la géométrie des lignes en sortie pour les itinéraires et les feuilles de route.

L'outil ignore ce paramètre si le paramètre populate_route_lines est désactivé (False).

La simplification conserve les points critiques sur un itinéraire, comme les virages dans les intersections, pour définir la forme globale de l'itinéraire et supprimer d'autres points. La distance de simplification que vous spécifiez est le décalage maximal autorisé de la ligne simplifiée par rapport à la ligne d'origine. La simplification d'une ligne diminue le nombre de sommets qui appartiennent à la géométrie de l'itinéraire. Cette opération améliore le temps d'exécution de l'outil.

Linear Unit
populate_directions
(Facultatif)

Spécifiez si l'outil doit générer des feuilles de route pour chaque itinéraire.

  • Activé (vrai) :

    Indique que les feuilles de route seront générées et configurées en fonction des valeurs des paramètres Langue des directions, Nom de style des directions et Unités de distance des feuilles de route.

  • Désactivé (faux) :

    Les feuilles de route ne sont pas générées et l'outil renvoie une couche Directions vide.

Boolean
directions_language
(Facultatif)

Spécifiez la langue à utiliser lors de la génération des feuilles de route.

Ce paramètre est utilisé uniquement lorsque le paramètre populate_directions est activé ou True.

La valeur du paramètre peut être spécifiée avec l'un des codes de langue de deux ou cinq caractères suivants :

  • ar - Arabe
  • de - Allemand
  • en - Anglais
  • es - Espagnol
  • et - Estonien
  • fr - Français
  • he - Hébreu
  • it - Italien
  • ja - Japonais
  • ko - Coréen
  • lt - Lituanien
  • lv - Letton
  • nl - Néerlandais
  • pl - Polonais
  • pt-BR - Portugais brésilien
  • pt-PT - Portugais européen
  • ru - Russe
  • sv - Suédois
  • zh-CN - Chinois simplifié

Si un code de langue non pris en charge est spécifié, l'outil renvoie la feuille de route dans la langue par défaut, à savoir l'anglais.

String
directions_style_name
(Facultatif)

Spécifiez le nom du style de mise en forme pour la feuille de route. Ce paramètre est utilisé uniquement lorsque le paramètre Charger les feuilles de route est activé ou vrai. Le paramètre peut être spécifié avec les valeurs suivantes :

  • NA Desktop :

    Génère des feuilles de route tournant par tournant adaptées à l'impression.

  • NA Navigation :

    Génère une feuille de route conçue pour un dispositif de navigation dans un véhicule.

String

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Thèmes connexes

5/25/2014