Résumé
Détermine les chemins les plus courts pour accéder aux arrêts en entrée et renvoie les itinéraires, des informations sur les arrêts visités et les feuilles de route, notamment le temps de trajet et la distance.
L’outil est capable d’établir des itinéraires qui passent par plusieurs arrêts en entrée selon une séquence que vous déterminez au préalable ou selon la séquence qui réduit le temps de trajet total. Vous pouvez regrouper les arrêts en entrée dans différents itinéraires à l’aide du champ RouteName. L’outil établit alors un itinéraire pour chaque groupe d’arrêts, ce qui vous permet de générer des itinéraires pour plusieurs véhicules au cours d’une même opération de calcul d’itinéraire.
Illustration
Utilisation
L'outil recherche les itinéraires les plus courts en fonction du temps de trajet si la valeur du paramètre Unités de mesure est temporelle et en fonction de la distance de trajet si la valeur repose sur la distance.
Vous devez spécifier au moins deux arrêts pour exécuter l'outil. Vous pouvez ajouter jusqu’à 10 000 arrêts et attribuer un maximum de 150 arrêts par itinéraire.
Vous pouvez ajouter jusqu’à 250 interruptions ponctuelles. Vous pouvez ajouter autant d’interruptions linéaires ou surfaciques que vous voulez, mais les interruptions linéaires ne peuvent pas intersecter plus de 500 entités rues et les interruptions surfaciques ne peuvent pas intersecter plus de 2 000 entités.
Vous pouvez utiliser la hiérarchie routière lors de la résolution d'un problème afin de générer les résultats plus rapidement que les itinéraires exacts, mais la solution risque d'être moins optimale.
Que le paramètre Utiliser la hiérarchie soit activé (True) ou non, la hiérarchie est toujours utilisée lorsque la distance en ligne droite entre des paires d’arrêts est supérieure à 50 miles (80,46 kilomètres).
La distance en ligne droite entre des paires d’arrêts ne peut pas être supérieure à 27 miles (43,45 kilomètres) lorsque le Mode de déplacement est défini à la valeur Marche ou lorsqu’il est défini à la valeur Personnalisé et que la restriction Marche est utilisée.
Si la distance entre un point en entrée et sa rue traversable la plus proche est supérieure à 12,42 miles (20 kilomètres), le point est exclu de l’analyse.
L’utilisation de ce service consomme des crédits. Pour plus d'informations, reportez-vous à Présentation des crédits de service.
Cet outil est conçu pour s’exécuter dans ArcGIS Pro, ArcMap, ArcGlobe et ArcScene, mais pas dans ArcCatalog.
Syntaxe
arcpy.naagol.FindRoutes(Stops, Measurement_Units, {Analysis_Region}, {Reorder_Stops_to_Find_Optimal_Routes}, {Preserve_Terminal_Stops}, {Return_to_Start}, {Use_Time_Windows}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {UTurn_at_Junctions}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Use_Hierarchy}, {Restrictions}, {Attribute_Parameter_Values}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Route_Edges}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {Travel_Mode}, {Impedance}, {Time_Zone_for_Time_Windows}, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Save_Route_Data}, {Time_Impedance}, {Distance_Impedance}, {Output_Format}, {Ignore_Invalid_Locations})
Paramètre | Explication | Type de données |
Stops |
Spécifie les emplacements où les itinéraires en sortie doivent faire un arrêt. Vous pouvez ajouter jusqu'à 10 000 arrêts et attribuer jusqu'à 150 arrêts à un même itinéraire. (Attribue des arrêts aux itinéraires à l’aide de l’attribut RouteName.) Vous pouvez définir les propriétés des arrêts que vous spécifiez, comme leur nom ou le temps de service, à l’aide des attributs suivants : Name Nom de l'arrêt. Le nom est utilisé dans les trajets. Si le nom n'est pas spécifié, un nom unique accompagné du préfixe Location est automatiquement généré dans les arrêts, itinéraires et trajets en sortie. RouteName Nom de l’itinéraire auquel l’arrêt est attribué. Si vous attribuez le même nom d'itinéraire à différents arrêts, ces derniers sont regroupés et visités par le même itinéraire. Vous pouvez générer plusieurs itinéraires dans une seule opération de calcul en attribuant des noms d'itinéraires uniques à différents groupes d'arrêts. Vous pouvez rassembler jusqu’à 150 arrêts dans un itinéraire. Sequence Les itinéraires en sortie accèdent aux arrêts dans l’ordre que vous spécifiez avec cet attribut. Au sein d’un groupe d’arrêts portant la même valeur RouteName, le numéro de séquence doit être supérieur à 0, mais inférieur au nombre total d’arrêts. De plus, le numéro de séquence ne doit pas être dupliqué. Si l'option Réorganiser les arrêts pour trouver l'itinéraire optimal est activée (True), toutes les valeurs de la séquence (à l'exception sans doute de la première et de la dernière) pour chaque nom d'itinéraire sont ignorées afin que l'outil puisse trouver la séquence qui réduit le temps de trajet total pour chaque itinéraire. (Les paramètres de Conserver l’organisation des arrêts et Revenir au départ déterminent si la première valeur et la dernière valeur de la séquence pour chaque itinéraire sont ignorées.) AdditionalTime Temps passé à l’arrêt, qui s’ajoute à la durée totale de l’itinéraire. La valeur par défaut est 0. Les unités de cette valeur attributaire sont spécifiées dans le paramètre Unités de mesure. La valeur attributaire est incluse dans l'analyse uniquement lorsque les unités de mesure sont temporelles. Vous pouvez tenir compte du temps supplémentaire requis pour l'accomplissement d'une tâche à l'arrêt, par exemple pour réparer un appareil, livrer un paquet ou inspecter les lieux. AdditionalDistance Distance supplémentaire parcourue aux arrêts, qui s’ajoute à la distance totale de l’itinéraire. La valeur par défaut est 0. Les unités de cette valeur attributaire sont spécifiées dans le paramètre Unités de mesure. La valeur attributaire est incluse dans l'analyse uniquement lorsque les unités de mesure sont basées sur la distance. En règle générale, le lieu d'un arrêt, chez soi par exemple, ne donne pas directement sur une rue : il est un peu en retrait de la route. Cette valeur attributaire peut être utilisée pour modéliser la distance entre le lieu réel de l’arrêt et sa localisation sur la rue, s’il est important d’inclure cette distance dans la distance totale de trajet. AdditionalCost Coût supplémentaire dépensé sur le lieu de l’arrêt, qui s’ajoute au coût total de l’itinéraire. La valeur par défaut est 0. Cette valeur attributaire doit être utilisée lorsque le mode de déplacement pour l’analyse fait appel à un attribut d’impédance qui n’est basé ni sur le temps, ni sur la distance. Les unités des valeurs attributaires sont interprétées comme des unités inconnues. TimeWindowStart Créneau horaire pendant lequel l’arrêt peut être visité au plus tôt. En spécifiant une heure de départ et de fin pour la fenêtre horaire d'un arrêt, vous définissez le moment où un itinéraire doit accéder à l'arrêt. Lorsque le mode de déplacement pour l’analyse utilise un attribut d’impédance de type temporel en spécifiant les valeurs de fenêtres horaires, l’analyse essaie de trouver une solution réduisant le temps de trajet total et parvenant à l’arrêt dans la fenêtre horaire prescrite. Veillez à utiliser une valeur de date et d’heure, par exemple 8/12/2015 12 h 15. Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, les valeurs des fenêtres horaires se rapportent au fuseau horaire dans lequel se trouve l'arrêt. Ce champ peut contenir une valeur nulle. Une valeur nulle indique qu’un itinéraire peut arriver à tout moment avant l’heure indiquée dans l’attribut TimeWindowEnd. Si une valeur nulle figure également dans l’attribut TimeWindowEnd, un itinéraire peut visiter l’arrêt à n’importe quelle heure. TimeWindowEnd Créneau horaire pendant lequel l’arrêt peut être visité au plus tard. En spécifiant une heure de départ et de fin pour la fenêtre horaire d’un arrêt, vous définissez le moment où un itinéraire doit accéder à l’arrêt. Lorsque le mode de déplacement pour l’analyse utilise un attribut d’impédance de type temporel, la spécification de valeurs de fenêtres horaires implique que l’analyse essaie de trouver une solution réduisant le temps de trajet total et parvenant à l’arrêt dans la fenêtre horaire prescrite. Veillez à utiliser une valeur de date et d’heure, par exemple 8/12/2015 12 h 15. Lors de la résolution d'un problème couvrant plusieurs fuseaux horaires, les valeurs des fenêtres horaires se rapportent au fuseau horaire dans lequel se trouve l'arrêt. Ce champ peut contenir une valeur nulle. Une valeur nulle indique qu’un itinéraire peut arriver à tout moment après l’heure indiquée dans l’attribut TimeWindowStart. Si une valeur nulle figure également dans l’attribut TimeWindowStart, un itinéraire peut visiter l’arrêt à n’importe quelle heure. CurbApproach Spécifie la direction dans laquelle un véhicule peut atteindre et quitter l’arrêt. 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) :
L’attribut CurbApproach est conçu pour fonctionner avec les deux types de normes de conduite nationales : circulation à droite (comme en France et aux États-Unis) et circulation à gauche (Royaume-Uni). D'abord, considérez un arrêt 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 arrêt du côté droit ou du côté gauche du véhicule. Par exemple, si vous souhaitez atteindre un arrêt sans laisser de voie de circulation entre le véhicule et l’arrêt, vous choisissez 1 (Côté droit du véhicule) en France et aux États-Unis, mais 2 (Côté gauche du véhicule) au Royaume-Uni. LocationType Spécifie le type d’arrêt. Le champ peut prendre l'une des valeurs entières ci-après (utilisez le code numérique, et non le nom de l'option fourni entre parenthèses) :
Bearing Direction de déplacement d'un point. Les unités sont exprimées en degrés et sont mesurées dans le sens horaire, à partir du nord géographique. 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 emplacement en entrée 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. En savoir plus sur le relèvement et la tolérance de relèvement 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 Bearing (Relèvement). Si la valeur du champ Bearing 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 que localisation 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. Les valeurs doivent être 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 degrés de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon. En savoir plus sur le relèvement et la tolérance de relèvement 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 temporelles du champ NavLatency sont identiques à celles de la propriété timeUnits de l’objet d’analyse. | Feature Set |
Measurement_Units | Précise les unités à utiliser pour mesurer et afficher la durée ou la distance totale du trajet pour les itinéraires en sortie. Les unités que vous choisissez pour ce paramètre déterminent si l'outil mesure la distance ou la durée pour identifier le meilleur itinéraire. Choisissez une unité de temps afin de réduire le temps de trajet pour le mode de déplacement choisi (temps de conduite ou de marche, par exemple). Afin de réduire la distance de trajet pour le mode de déplacement donné, choisissez une unité de distance. Votre choix détermine également les unités utilisées par l'outil pour signaler la distance totale ou la distance dans les résultats.
| String |
Analysis_Region (Facultatif) | Région dans laquelle l’analyse doit être effectuée. 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 seulement si la détection automatique du nom de région n’est pas pertinente pour vos entrées. Pour indiquer une région, utilisez l'une des valeurs suivantes :
| String |
Reorder_Stops_to_Find_Optimal_Routes (Facultatif) | Précise si vous souhaitez accéder aux arrêts selon l’ordre que vous définissez ou selon l’ordre déterminé par l’outil pour réduire le temps de trajet total.
La recherche de l’ordre optimal des arrêts et du meilleur itinéraire est généralement connue sous le nom de résolution du problème du délégué commercial. | Boolean |
Preserve_Terminal_Stops (Facultatif) | Précise comment les arrêts terminaux sont préservés. Lorsque l’option Reorder Stops to Find Optimal Routes (Réorganiser les arrêts pour trouver les itinéraires optimum) est sélectionnée (ou True), vous pouvez préserver les arrêts de départ ou de fin, et l’outil peut réorganiser le reste. Le premier et le dernier arrêts sont déterminés par leurs valeurs d’attribut Sequence ou, si les valeurs Sequence sont nulles, par leurs valeurs Object ID.
L'option Conserver les arrêts terminaux est ignorée lorsque le paramètre Réorganiser les arrêts pour trouver l'itinéraire optimal est décoché (ou False). | String |
Return_to_Start (Facultatif) | Choisit si les itinéraires vont commencer et s’achever au même endroit. Avec cette option, vous pouvez éviter de dupliquer le premier arrêt et de séquencer l’arrêt dupliqué à la fin. L’emplacement de départ de l’itinéraire est l’entité d’arrêt ayant la valeur la plus basse dans l’attribut Sequence. Si les valeurs Sequence sont nulles, il s’agit de l’entité d’arrêt ayant la valeur Object ID la plus basse.
| Boolean |
Use_Time_Windows (Facultatif) | Spécifie si des fenêtres horaires sont utilisées. Sélectionnez cette option (ou définissez-la sur True) si des arrêts en entrée disposent de fenêtres horaires spécifiant quand l’itinéraire doit atteindre l’arrêt. Vous pouvez ajouter des fenêtres horaires aux arrêts en entrée en entrant des valeurs horaires dans les attributs TimeWindowStart et TimeWindowEnd.
L’exécution de l’outil est légèrement plus longue si l’option Use Time Windows (Utiliser les fenêtres de temps) est sélectionnée (ou True), même si aucun des arrêts en entrée ne dispose de fenêtres horaires. Il est par conséquent recommandé de décocher cette option (définie sur False) si possible. | Boolean |
Time_of_Day (Facultatif) | Heure et date auxquelles les itinéraires commencent. Si vous modélisez le mode de déplacement en voiture et spécifiez la date et l’heure actuelles pour ce paramètre, l’outil utilise les conditions de trafic réel pour trouver les meilleurs itinéraires ; la durée totale du trajet dépendra des conditions de circulation. Lorsque vous spécifiez une heure, les itinéraires et l'estimation des temps de trajet sont plus précis, car ils tiennent compte des conditions de circulation applicables à la date et à l'heure spécifiées. Le paramètre Fuseau horaire de l'heure de la journée spécifie si cette heure et cette date correspondent à l'heure UTC ou au fuseau horaire dans lequel l'arrêt se trouve. L'outil ignore ce paramètre lorsque le paramètre Unités de mesure n'est pas défini sur une unité temporelle. | Date |
Time_Zone_for_Time_of_Day (Facultatif) | Spécifie le fuseau horaire du paramètre Date/heure du jour.
| String |
UTurn_at_Junctions (Facultatif) | Spécifie la règle de demi-tour aux jonctions. L'autorisation des demi-tours implique que le solveur puisse faire demi-tour au niveau d'une jonction et revenir en arrière par la même rue. Dans la mesure où les jonctions représentent des intersections de rues et des voies sans issue, différents véhicules peuvent faire demi-tour à certaines jonctions mais pas à d'autres, selon que la jonction représente une intersection ou une voie sans issue. Pour en tenir compte, le paramètre de règle de demi-tour est spécifié implicitement par le nombre de tronçons connectés à la jonction, également connu sous le nom de « valence de jonction ». Les valeurs acceptables pour ce paramètre sont répertoriées ci-dessous ; chacune est suivie d'une description de sa signification en termes de valence de jonction.
Ce paramètre est ignoré, sauf si le paramètre Mode de déplacement est défini sur Personnalisé. | String |
Point_Barriers (Facultatif) |
Utilisez ce paramètre pour spécifier un ou plusieurs points servant de restrictions temporaires ou représentant un délai ou une distance supplémentaire qui peut ê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 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) :
Additional_Time Temps de trajet ajouté lorsque l’interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté si le paramètre Unités de mesure est temporel. 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 Distance ajoutée lorsque l’interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté si le paramètre Unités de mesure est basé sur la distance. La valeur du 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. AdditionalCost Coût ajouté lorsque l’interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté si le paramètre Unités de mesure n’est ni temporel ni basé sur la distance. FullEdge Spécifie la façon dont les interruptions ponctuelles de restriction sont appliquées aux tronçons au cours de l’analyse. 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) :
CurbApproach Spécifie le sens de circulation affecté par l’interruption. 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) :
Étant donné que les jonctions sont des points et n’ont pas de côté, les interruptions situées sur des jonctions affectent tous les véhicules quelle que soit l’approche du trottoir. L’attribut CurbApproach fonctionne avec les deux types de normes de conduite nationales : circulation à droite (comme en France et aux États-Unis) et circulation à gauche (Royaume-Uni). Tout d'abord, imaginons une ressource qui se trouve 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 la ressource du côté droit ou du côté gauche du véhicule. Par exemple, pour atteindre une ressource sans qu’il y ait de voie de circulation entre le véhicule et la ressource, choisissez 1 (côté droit du véhicule) en France et aux États-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 sont mesurées dans le sens horaire, à partir du nord géographique. 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 emplacement en entrée 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. En savoir plus sur le relèvement et la tolérance de relèvement 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 Bearing (Relèvement). Si la valeur du champ Bearing 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 que localisation 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. Les valeurs doivent être 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 degrés de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon. En savoir plus sur le relèvement et la tolérance de relèvement 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 temporelles du champ NavLatency sont identiques à celles de la propriété timeUnits de l’objet d’analyse. | Feature Set |
Line_Barriers (Facultatif) |
Utilisez ce paramètre pour spécifier 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 Line Barriers (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épasser500. Vous pouvez définir des propriétés de nom et de type d’interruption pour les interruptions linéaires que vous spécifiez en utilisant les attributs suivants : Name Nom de l'interruption. | Feature Set |
Polygon_Barriers (Facultatif) |
Utilisez ce paramètre pour spécifier 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 Polygon Barriers (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 toutes les polygones ne peut 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 les attributs suivants : Name Nom de l'interruption. BarrierType Spécifie si l’interruption restreint complètement la circulation ou proportionne le coût de déplacement (tel que le temps ou la distance) lorsqu’elle est franchie. 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) :
ScaledTimeFactor Il s'agit du facteur de multiplication du temps de trajet des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro. Ce champ est actif uniquement pour les interruptions à coût proportionné et uniquement si le mode de déplacement pour l’analyse fait appel à un attribut d’impédance basé sur le temps. ScaledDistanceFactor Il s'agit du facteur de multiplication de la distance des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro. Ce champ est actif uniquement pour les interruptions à coût proportionné et uniquement si le mode de déplacement pour l’analyse fait appel à un attribut d’impédance basé sur la distance. ScaledCostFactor Il s’agit du facteur de multiplication du coût des rues intersectées par l’interruption. La valeur du champ doit être supérieure à zéro. Ce champ est actif uniquement pour les interruptions à coût proportionné et uniquement si le mode de déplacement utilisé pour l’analyse fait appel à un attribut d’impédance qui n’est basé ni sur le temps, ni sur la distance. | Feature Set |
Use_Hierarchy (Facultatif) | Indique si la hiérarchie est utilisée lorsque vous recherchez les chemins les plus courts entre les arrêts.
L’outil utilise automatiquement la hiérarchie si la distance en ligne droite entre les ressources et les points de demande est supérieure à 50 miles (80,46 kilomètres), même si ce paramètre est désactivé (défini sur False dans Python). Ce paramètre est ignoré, sauf si le paramètre Mode de déplacement est défini sur Personnalisé. Lorsque vous modélisez un mode de marche à pied personnalisé, il est recommandé de désactiver la hiérarchie, car elle est conçue pour les véhicules motorisés. | Boolean |
Restrictions [Restrictions,...] (Facultatif) | 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 Éviter les routes à péage permet d’obtenir un itinéraire qui n’inclut les routes à péage que lorsque cela est absolument inévitable pour se rendre sur le lieu d’un incident ou parvenir à 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. L'outil prend en charge les restrictions suivantes :
| String |
Attribute_Parameter_Values (Facultatif) | Utilisez ce paramètre pour spécifier les valeurs supplémentaires requises par un attribut ou une restriction, par exemple pour indiquer si la restriction interdit, évite ou préfère un déplacement sur des routes soumises à restrictions. 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 Attribute Parameter Values (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 :
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 de 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 de restriction peut se voir attribuer l’une des valeurs de chaîne suivantes ou leurs valeurs numériques équivalentes affichées entre parenthèses :
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 Éviter 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 pour certains utilisateurs. En revanche, d’autres utilisateurs préféreront circuler sur des routes à péage, car il est plus important pour eux d’éviter les embouteillages que de faire l’économie des coûts de péage. Dans ce dernier cas, choisissez 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 |
Route_Shape (Facultatif) | Spécifie le type des entités itinéraires générées par l’outil.
Lorsque le paramètre Route Shape (Forme d’itinéraire) est défini sur True Shape (Géométrie réelle) ou True Shape with Measures (Géométrie réelle avec mesures), vous pouvez contrôler la généralisation de la forme d’itinéraire en utilisant la valeur appropriée pour le paramètre Route Line Simplification Tolerance (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, le meilleur itinéraire est toujours déterminé en minimisant le temps ou la distance du trajet, sans jamais utiliser la distance en ligne droite entre les arrêts. 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. | String |
Route_Line_Simplification_Tolerance (Facultatif) | Indiquez dans quelle proportion vous souhaitez simplifier la géométrie des lignes en sortie pour les itinéraires, les feuilles de route et les tronçons d'itinéraires. L'outil ignore ce paramètre si le paramètre Forme d'itinéraire n'est pas défini sur Géométrie réelle. 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_Route_Edges (Facultatif) | Spécifie si l’outil doit générer des tronçons pour chaque itinéraire. Les tronçons d'itinéraires représentent des rues individuelles ou d'autres entités similaires qui sont traversées par un itinéraire. La couche des tronçons d'itinéraires en sortie est généralement utilisée pour voir quelles rues ou chemins sont fréquentés le plus souvent ou le moins souvent par les itinéraires générés.
| Boolean |
Populate_Directions (Facultatif) | Spécifie si l’outil génère des feuilles de route pour chaque itinéraire.
| Boolean |
Directions_Language (Facultatif) | Langue utilisée lors de la génération de la feuille de route. Ce paramètre est utilisé uniquement lorsque le paramètre Charger les feuilles de route est activé (True dans Python). La valeur du paramètre peut être spécifiée avec l'un des codes de langue de deux ou cinq caractères suivants :
L’outil recherche tout d’abord une correspondance parfaite pour la langue spécifiée comportant n’importe quelle localisation de langue. S’il n’existe aucune correspondance parfaite, il essaie de faire correspondre la famille de langues. Si une correspondance n’est toujours pas trouvée, l’outil renvoie la feuille de route dans la langue par défaut, à savoir l’anglais. Imaginons, par exemple, que la langue de la feuille de route spécifiée est es-MX (espagnol du Mexique). L’outil renvoie la feuille de route en espagnol car il prend en charge le code de langue es, mais pas le code es-MX. | String |
Directions_Distance_Units (Facultatif) | Spécifie les unités dans lesquelles la distance de déplacement s’affiche dans les feuilles de route. Ce paramètre est utilisé uniquement lorsque le paramètre Charger les feuilles de route est activé (True dans Python).
| String |
Directions_Style_Name (Facultatif) | Spécifie 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é (True dans Python).
| String |
Travel_Mode (Facultatif) | Mode de transport à modéliser dans l’analyse. Les modes de déplacement sont gérés dans ArcGIS Online et peuvent être configurés par l’administrateur de votre organisation pour refléter les processus de l’organisation. Vous devez indiquer le nom d’un mode de déplacement pris en charge par votre organisation. Pour obtenir la liste des noms de modes de déplacement pris en charge, utilisez la connexion au serveur SIG que vous avez utilisée pour accéder à cet outil, puis exécutez GetTravelModes dans la boîte à outils Utilitaires. L’outil GetTravelModes ajoute la table Supported Travel Modes (modes de déplacement pris en charge) à l’application. N’importe quelle valeur du champ Travel Mode Name dans la table des modes de déplacement pris en charge peut être spécifiée en entrée. Vous pouvez également indiquer la valeur du champ Travel Mode Settings en entrée. Cela réduit le temps d’exécution de l’outil, car il n’a pas besoin de rechercher les paramètres en fonction du nom du mode de déplacement. La valeur par défaut, Personnalisé, vous permet de configurer votre propre mode de déplacement à l'aide des paramètres du mode de déplacement personnalisé (Demi-tours aux jonctions, Utiliser la hiérarchie, Restrictions, Valeurs des paramètres d'attributs et Impédance). Les valeurs par défaut des paramètres du mode de trajet personnalisé modélisent les déplacements en voiture. Vous pouvez choisir Custom (Personnalisé) et définir les paramètres du mode de trajet personnalisé répertoriés ci-dessus pour modéliser un piéton qui marche très rapidement ou un camion doté d’une hauteur donnée, d’un poids en particulier et qui transporte des matières dangereuses. Vous pouvez essayer différents paramètres afin d’obtenir les résultats d’analyse qui vous intéressent. Une fois les paramètres d’analyse identifiés, collaborez avec l’administrateur de votre organisation pour enregistrer ces paramètres dans le cadre d’un mode de déplacement nouveau ou existant afin que tous les membres de votre organisation puissent exécuter l’analyse avec les mêmes paramètres. | String |
Impedance (Facultatif) | Spécifie l’impédance. Il s’agit d’une valeur représentant l’effort ou le coût de déplacement le long des segments de route ou sur d’autres portions du réseau de transport. Le temps de trajet est une impédance : une voiture peut mettre une minute à parcourir un mile (1,6 kilomètre) sur une route déserte. Les temps de trajet peuvent varier selon le mode de déplacement : un piéton peut mettre plus de 20 minutes à parcourir le même mile. Il est par conséquent important de choisir l’impédance appropriée au mode de déplacement que vous modélisez. La distance à parcourir peut également être une impédance ; la longueur d’une route en kilomètres peut être considérée comme une impédance. En ce sens, la distance à parcourir est la même pour tous les modes : un kilomètre pour un piéton est également un kilomètre pour une voiture. (Ce qui peut changer, ce sont les voies d'accès que les différents modes sont autorisés à emprunter. Cela affecte la distance entre les points et est modélisé par les paramètres du mode de déplacement.) Choisissez une des valeurs d'impédance suivantes :
Si vous choisissez une impédance temporelle telle que TravelTime, TruckTravelTime, Minutes, TruckMinutes ou WalkTime, le paramètre Measurement Units (Unités de mesure) doit être défini sur une valeur basée sur le temps. En revanche, si vous choisissez une impédance de distance comme Miles ou Kilomètres, le paramètre Unités de mesure doit faire référence à une distance. | String |
Time_Zone_for_Time_Windows (Facultatif) | Spécifie le fuseau horaire pour les valeurs de fenêtres horaires associées aux arrêts. Les fenêtres horaires sont spécifiées comme faisant partie des champs TimeWindowStart et TimeWindowEnd sur les arrêts. Ce paramètre est applicable uniquement lorsque le paramètre Charger les feuilles de route est activé ou défini sur True).
| String |
Save_Output_Network_Analysis_Layer (Facultatif) | Précise si les paramètres de l’analyse seront enregistrés comme fichier de couche d’analyse réseau. Vous ne pouvez pas utiliser ce fichier directement, même lorsque vous ouvrez le fichier dans une application ArcGIS Desktop telle que ArcMap. Celui-ci doit être envoyé au support technique Esri, qui évaluera la qualité des résultats renvoyés par l’outil.
| Boolean |
Overrides (Facultatif) | Des paramètres supplémentaires pouvant influencer le comportement du solveur lorsque vous recherchez des solutions pour résoudre les problèmes d’analyse du réseau. La valeur de ce paramètre doit être spécifiée au format JSON (JavaScript Object Notation). Une valeur valide, par exemple, a le format suivant : {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Le nom du paramètre de remplacement est toujours spécifié entre des guillemets doubles. Les valeurs peuvent être un nombre, une valeur booléenne ou une chaîne. Par défaut, aucune valeur ne doit être spécifiée pour ce paramètre, ce qui signifie qu'il est déconseillé de remplacer les paramètres du solveur. Les valeurs de remplacement sont des paramètres avancés qui ne doivent être utilisés qu'après une analyse approfondie des résultats obtenus avant et après leur application. Vous pouvez obtenir auprès du support technique d’Esri une liste des paramètres de remplacement pris en charge, ainsi que leurs valeurs acceptables, pour chaque solveur. | String |
Save_Route_Data (Facultatif) | Indique si la sortie inclut un fichier .zip contenant une géodatabase fichier avec les entrées et sorties de l’analyse dans un format qui peut servir à partager les couches d’itinéraires avec ArcGIS Online ou Portal for ArcGIS.
| Boolean |
Time_Impedance (Facultatif) | L’impédance basée sur le temps. Il s’agit d’une valeur représentant le temps de déplacement le long des segments de route ou sur d’autres portions du réseau de transport.
| String |
Distance_Impedance (Facultatif) | L’impédance basée sur la distance est une valeur représentant la distance à parcourir le long des segments de route ou sur d’autres portions du réseau de transport.
| String |
Output_Format (Facultatif) | Spécifie le format dans lequel les entités en sortie sont créées.
Lorsqu’un format de sortie - basé sur un fichier, tel que Fichier JSON ou Fichier GeoJSON, est spécifié, aucune sortie n’est ajoutée à l’affichage puisque l’application (comme ArcMap ou ArcGIS Pro) ne peuvent pas afficher le contenu du fichier de résultats. À la place, le fichier est téléchargé dans un répertoire temporaire sur votre machine. Dans ArcGIS Pro, il est possible de déterminer l’emplacement du fichier téléchargé en affichant la valeur du paramètre Fichier de résultats en sortie dans l’entrée correspondant à l’exécution de l’outil dans l’historique de géotraitement de votre projet. Dans ArcMap, l’emplacement du fichier peut être déterminé via l’option Copier l’emplacement dans le menu contextuel du paramètre Fichier de résultats en sortie de l’entrée correspondant à l’exécution de l’outil dans la fenêtre Résultats du géotraitement. | String |
Ignore_Invalid_Locations (Facultatif) | Détermine si les emplacements en entrée non valides sont ignorés.
| Boolean |
Sortie dérivée
Nom | Explication | Type de données |
Solve_Succeeded | Détermine si le service a réussi à générer les itinéraires. | Boolean |
Output_Routes | Ce paramètre permet d’accéder aux itinéraires obtenus. | Feature Set |
Output_Route_Edges | Ce paramètre permet d’accéder à chacun des tronçons de réseau qui sont parcourus par l’itinéraire. | Feature Set |
Output_Directions | Ce paramètre permet d’accéder à la feuille de route détaillée de chaque itinéraire obtenu. | Feature Set |
Output_Stops | Ce paramètre permet d’accéder aux attributs des arrêts qui ont pu et n’ont pas pu être atteints par les itinéraires. | Feature Set |
Output_Network_Analysis_Layer | Couche d’analyse de réseau avec des propriétés dont la configuration correspond à celle des paramètres d’outil, pouvant être utilisée pour réaliser d’autres analyses ou des opérations de débogage sur la carte. | File |
Output_Route_Data | Fichier .zip contenant toutes les informations sur un itinéraire donné. | File |
Output_Result_File | Fichier .zip contenant les résultats de l’analyse, avec un ou plusieurs fichiers pour chacune des sorties. Le format d’un fichier est spécifié par le paramètre Output Format (Format en sortie). | File |
Output_Network_Analysis_Layer_Package | Paquetage de couche contenant une couche d’analyse de réseau avec les données et les paramètres utilisés dans l’analyse. | File |
Output_Direction_Points | Ce paramètre permet d’accéder à la feuille de route étape par étape pour les itinéraires calculés dans l’analyse, représentée sous forme d’emplacements ponctuels le long des itinéraires pour lesquels des événements spécifiques ou des manœuvres ont lieu. | Feature Set |
Output_Direction_Lines | Ce paramètre permet d’accéder aux lignes d’itinéraire calculées dans l’analyse, sous forme de tranches afin de représenter chaque segment d’itinéraire entre l’événement DirectionPoints ou les emplacements de manœuvre. | Feature Set |
Exemple de code
Exemple d’utilisation de l’outil FindRoutes (script Python)
Le script Python ci-dessous illustre l’utilisation de l’outil FindRoutes dans un script.
"""This example shows how to find a best route that optimizes the sequence in which the stops are visitied."""
import sys
import time
import datetime
import arcpy
# Change the username and password applicable to your own ArcGIS Online account
username = "<your user name>"
password = "<your password>"
route_service = "https://logistics.arcgis.com/arcgis/services;World/Route;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
# Check https://pro.arcgis.com/en/pro-app/arcpy/functions/importtoolbox.htm for
# other ways in which you can specify credentials to connect to a geoprocessing service.
arcpy.ImportToolbox(route_service)
# Set the variables to call the tool
stops = "C:/data/Inputs.gdb/Stores"
output_routes = "C:/data/Results.gdb/Routes"
output_directions = "C:/data/Results.gdb/Directions"
# Call the tool specifying current UTC time as start time. This will ensure that the route is
# calculated based on the current traffic conditions. We also want to find the best sequence in
# which to visit the stops but do not want to change the sequence of the first stop since the
# first stop is a pre-defined start location such as an office.
result = arcpy.FindRoutes_Route(stops, "Minutes",
Reorder_Stops_to_Find_Optimal_Routes=True,
Preserve_Terminal_Stops="Preserve First",
Time_of_Day=datetime.datetime.utcnow(),
Time_Zone_for_Time_of_Day="UTC")
arcpy.AddMessage("Running the analysis with result ID: {}".format(result.resultID))
# Check the status of the result object every 1 second until it has a value of 4 (succeeded)
# or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the output route and driving directions to a geodatabase
result.getOutput(1).save(output_routes)
result.getOutput(3).save(output_directions)
Environnements
Cet outil n'utilise pas d’environnement de géotraitement.