Résumé
Crée une matrice de coût origine-destination (OD) de plusieurs origines vers plusieurs destinations. Une matrice de coût OD est une table contenant le temps de trajet et la distance à parcourir de chaque origine vers chaque destination. En outre, elle classe les destinations auxquelles chaque origine se connecte par ordre croissant en fonction du temps ou de la distance minimum nécessaire pour aller de cette origine vers chaque destination. Le meilleur chemin sur le réseau de transport est découvert pour chaque paire origine-destination. Les temps de déplacement et les distances à parcourir sont stockés sous forme d'attributs des lignes en sortie. Bien que, pour des raisons de performance, les lignes soient droites, elles stockent toujours le temps de trajet et la distance à parcourir avec le réseau de transport et non la distance en ligne droite.
Pour en savoir plus sur la sortie de l'outil GenerateOriginDestinationCostMatrix
Illustration

Utilisation
Vous devez spécifier au moins une origine et une destination pour exécuter l'outil. Vous pouvez charger jusqu’à 1000 origines et 1000 destinations.
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 Use Hierarchy (Utiliser la hiérarchie) soit activé (True) ou non, la hiérarchie est toujours utilisée lorsque la distance en ligne droite entre toute paire d’arrêts est supérieure à 50 miles (80,46 kilomètres).
La distance en ligne droite entre une paire origine-destination ne peut pas être supérieure à 50 miles (80,46 kilomètres) lorsque le mode de déplacement est de type Marche ou lorsqu’il est défini sur la valeur Custom (Personnalisé) et que la restriction Walking (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 exclus 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.
Syntaxe
arcpy.naagol.GenerateOriginDestinationCostMatrix(Origins, Destinations, {Travel_Mode}, {Time_Units}, {Distance_Units}, {Analysis_Region}, {Number_of_Destinations_to_Find}, {Cutoff}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, Point_Barriers, Line_Barriers, Polygon_Barriers, {UTurn_at_Junctions}, {Use_Hierarchy}, {Restrictions}, {Attribute_Parameter_Values}, {Impedance}, Origin_Destination_Line_Shape, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Time_Impedance}, {Distance_Impedance}, {Output_Format}, {Ignore_Invalid_Locations})
Paramètre | Explication | Type de données |
Origins |
Spécifie les points de départ à partir desquels voyager jusqu’aux destinations. Vous pouvez ajouter jusqu'à 1000 origines. Lorsque vous spécifiez les origines, vous pouvez définir les propriétés de chacune, telles que son nom ou le nombre de destinations à rechercher depuis l’origine, en utilisant les attributs suivants : Name Le nom de l'origine. Le nom peut être un identifiant unique de l'origine. Le nom est inclus dans les lignes en sortie (comme champ OriginName) et dans les origines en sortie (comme champ Name) ; il peut servir à joindre des informations supplémentaires depuis les sorties de l’outil aux attributs de vos origines. Si le nom n’est pas spécifié, un nom unique accompagné du préfixe Location est automatiquement généré. TargetDestinationCount Nombre maximum de destinations à rechercher pour l’origine. Si aucune valeur n'est indiquée, la valeur du paramètre Nombre de destinations à rechercher est utilisée. Ce champ permet de spécifier un nombre différent de destinations à rechercher pour chaque origine. Par exemple, en utilisant ce champ, vous pouvez rechercher les trois destinations les plus proches d’une origine et les deux destinations les plus proches d’une autre origine. Cutoff Valeur d’impédance à laquelle la recherche de destinations cesse pour une origine donnée. Cet attribut permet de spécifier une valeur de limite différente pour chaque destination. Ainsi, avec cet attribut, vous pouvez rechercher les destinations qui se trouvent à cinq minutes d’une origine et celles qui se trouvent à huit minutes d’une autre origine. Les unités de la limite sont les mêmes que celles de votre attribut d’impédance. Si aucune valeur n'est indiquée, la valeur du paramètre Limite est utilisée. CurbApproach Spécifie la direction dans laquelle un véhicule peut quitter l’origine. 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). Tout d'abord, imaginons une origine 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 de quitter l'origine du côté droit ou du côté gauche du véhicule. Par exemple, si vous souhaitez atteindre une origine sans laisser de voie de circulation entre le véhicule et l’origine, 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. 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 |
Destinations | Spécifie les emplacements de point d’arrivée vers lesquels voyager à partir des origines. Vous pouvez ajouter jusqu'à 1000 destinations. Lorsque vous précisez les destinations, vous pouvez définir les propriétés pour chacune, comme leur nom, à l’aide des attributs suivants : Name Le nom de la destination. Le nom peut être un identifiant unique de la destination. Le nom est inclus dans les lignes en sortie (comme le champ DestinationName) et dans les destinations en sortie (comme le champ Name) et peut servir à joindre des informations supplémentaires issues des sorties de l’outil aux attributs de vos destinations. Si le nom n’est pas spécifié, un nom unique accompagné du préfixe Location est automatiquement généré. CurbApproach Spécifie la direction dans laquelle un véhicule peut atteindre la destination. 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). Tout d'abord, imaginons une origine 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 de quitter l'origine du côté droit ou du côté gauche du véhicule. Par exemple, si vous souhaitez atteindre une origine sans laisser de voie de circulation entre le véhicule et l’origine, 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. 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 |
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 |
Time_Units (Facultatif) | Précise les unités que vous souhaitez utiliser pour mesurer et afficher le temps de trajet total entre chaque paire origine-destination.
| String |
Distance_Units (Facultatif) | Précise les unités que vous souhaitez utiliser pour mesurer et afficher la distance totale à parcourir entre chaque paire origine-destination.
| 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 |
Number_of_Destinations_to_Find (Facultatif) | Le nombre maximum de destinations à rechercher par origine. Si aucune valeur n'est indiquée pour ce paramètre, la matrice en sortie inclut les coûts de déplacement depuis chaque origine vers chaque destination. Chaque origine peut posséder sa propre valeur (spécifiée comme le champ TargetDestinationCount) qui remplace la valeur du paramètre Number of Destinations to Find (Nombre de destinations à rechercher). | Long |
Cutoff (Facultatif) | La valeur du temps de trajet ou de la distance à parcourir à laquelle cesser la recherche de destinations depuis une origine donnée. Toute destination située au-delà de la valeur limite ne sera pas prise en compte. Chaque origine peut posséder sa propre valeur (spécifiée comme champ Cutoff) qui remplace la valeur du paramètre Cutoff (Limite). La valeur doit respecter les unités spécifiées par le paramètre Time Units (Unités de temps)si l’attribut d’impédance dans votre mode de déplacement repose sur le temps ou les unités spécifiées par le paramètre Distance Units (Unités de distance) si l’attribut d’impédance dans votre mode de déplacement repose sur la distance. Si aucune valeur n'est spécifiée, l'outil n'applique aucune limite de temps de trajet ou de distance à parcourir lors de la recherche de destinations. | Double |
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 |
Point_Barriers |
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 |
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 |
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 |
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 |
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 |
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.)
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 |
Origin_Destination_Line_Shape | Les lignes résultantes d'une matrice de coût OD peuvent être représentées avec une géométrie de ligne droite ou sans aucune géométrie. Dans les deux cas, l'itinéraire est toujours calculé le long du réseau de transport en réduisant le temps de trajet ou la distance à parcourir et jamais en utilisant la distance en ligne droite entre les origines et les destinations.
| 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 |
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 la matrice de coût origine-destination. | Boolean |
Output_Origin_Destination_Lines | Ce paramètre permet d’accéder aux lignes reliant les origines aux destinations. | Feature Set |
Output_Origins | Ce paramètre fournit des informations sur les origines utilisées dans l’analyse telles que le nombre total de destinations atteintes à partir d’une origine donnée ou les origines non incluses dans l’analyse. | Feature Set |
Output_Destinations | Ce paramètre fournit des informations sur les destinations utilisées dans l’analyse telles que le nombre total d’origines atteintes à partir d’une destination donnée ou les destinations non incluses dans l’analyse. | 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_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 |
Exemple de code
Exemple d’utilisation de l’outil GenerateOriginDestinationCostMatrix (script autonome)
Le script Python ci-dessous illustre l’utilisation de l’outil GenerateOriginDestinationCostMatrix dans un script.
"""This example shows how to generate a matrix of travel times between origins and destinations."""
import sys
import time
import arcpy
username = "<your user name>"
password = "<your password>"
od_service = "https://logistics.arcgis.com/arcgis/services;World/OriginDestinationCostMatrix;{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(od_service)
# Set the variables to call the tool
origins = "C:/data/Inputs.gdb/Warehouses"
destinations = "C:/data/Inputs.gdb/Stores"
output_od_lines = "C:/data/Results.gdb/ODLines"
# Call the tool
result = arcpy.GenerateOriginDestinationCostMatrix_OriginDestinationCostMatrix(origins,
destinations,
Origin_Destination_Line_Shape="Straight Line")
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 lines connecting origins to destinations in a geodatabase
result.getOutput(1).save(output_od_lines)
Environnements
Cet outil n'utilise pas d’environnement de géotraitement.