Exercice 8 : rechercher les meilleurs itinéraires pour visiter des couples de course
Dans cet exercice, votre objectif est de rechercher les meilleurs itinéraires pour une flotte de minibus qui transporte des personnes sans moyen de locomotion de leur domicile vers différents hôpitaux pour des rendez-vous médicaux. Pour ce faire, vous allez calculer un itinéraire de véhicule (VRP) à l'aide de couples de course, qui lient et classent deux commandes (arrêts) afin que les minibus aillent chercher les personnes et les accompagnent à la destination qui convient. A l'aide des autres entités de la couche d'analyse VRP, vous allez également veiller à ce que d'autres exigences soient satisfaites. Par exemple, vous allez entrer un temps de transit maximum pour les couples de course afin que les personnes ne passent pas trop de temps en transit. Vous allez aussi utiliser des fenêtres horaires avec les commandes pour que les personnes ne soient pas en retard à leur rendez-vous. Certaines personnes étant en fauteuil roulant, vous allez utiliser des spécialités pour les apparier avec les minibus équipés de plate-formes élévatrices. Une fois les itinéraires déterminés, vous générerez des feuilles de route tournant par tournant des itinéraires obtenus et les distribuerez aux chauffeurs par voie électronique ou sur version papier après impression.
Préparation de votre affichage
- Si l'Exercise08.mxd est déjà ouvert dans ArcMap, passez à l'étape 6.
- Démarrez ArcMap en cliquant sur Démarrer > Tous les programmes > ArcGIS > ArcMap 10.
-
Dans la boîte de dialogue ArcMap - Démarrage, cliquez sur Cartes existantes > Rechercher davantage.
La boîte de dialogue Ouvrir un document ArcMap s'ouvre.
-
Accédez à C:\ArcGIS\ArcTutor\Network Analyst\Tutorial.
Il s'agit de l'emplacement d'installation par défaut des données du didacticiel.
-
Double-cliquez sur Exercise08.mxd.
La carte s'ouvre dans ArcMap.
-
Activez l'extension Network Analyst.
-
Cliquez sur Personnaliser > Extensions.
La boîte de dialogue Extensions s'affiche.
- Cochez l'option Network Analyst.
- Cliquez sur Fermer.
-
Cliquez sur Personnaliser > Extensions.
-
Cliquez sur Personnaliser > Barres d'outils > Network Analyst.
La barre d'outils Network Analyst est ajoutée à ArcMap.
-
Dans la barre d'outils Network Analyst, cliquez sur le bouton Afficher/Masquer la fenêtre Network Analyst. .
La fenêtre Network Analyst ancrable s'affiche.
Si la barre d'outils Network Analyst n'est pas affichée, vous devez l'ajouter.
Si la fenêtre Network Analyst n'est pas affichée, vous devez l'ajouter.
Vous pouvez ancrer ou détacher la fenêtre Network Analyst. Dans cet exercice, elle est ancrée sous la fenêtre Table des matières.
Création de la couche d'optimisation des tournées de véhicules
-
Dans la barre d'outils Network Analyst, cliquez sur Network Analyst, puis sur Nouvelle tournée de véhicules.
La couche d'optimisation des tournées de véhicules est ajoutée dans la fenêtre Network Analyst. Les classes d'analyse de réseau (Commandes, Dépôts, Itinéraires, Passages aux dépôts, Interruptions, Zones de tournées, Points d'origine de tournée, Relais de tournée, Spécialités, Couples de course et Barrières ponctuelles, Barrières linéaires et Barrières zonales) sont vides.
La couche d'analyse est également ajoutée dans la fenêtre Table des matières.
Ajout de spécialités
La société de logistique a trois minibus. L'un de ceux qui circulent en centre-ville est équipé pour les fauteuils roulants. Vous allez ajouter Fauteuil roulant comme spécialité afin que les commandes nécessitant cette particularité soient affectées à l'itinéraire doté d'une plate-forme élévatrice pour fauteuils roulants.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Particularités (0) et choisissez Ajouter un élément.
Une nouvelle particularité, Item1, est ajoutée sous la classe Spécialités dans la fenêtre Network Analyst. La fenêtre Propriétés pour la nouvelle spécialité s'ouvre.
-
Dans la fenêtre Propriétés, entrez Fauteuil roulant comme Nom.
- Cliquez sur OK.
Ajout de commandes
Une feuille de calcul est fournie avec les données du didacticiel. Elle contient les informations sur chaque patient, y compris son nom et son adresse, le nom et l'adresse de l'hôpital auquel ils doivent être emmenés, la fenêtre horaire dans laquelle il faut aller chercher le patient, etc. Le tableau suivant décrit les champs de la feuille de calcul :
Attribut |
Description |
---|---|
OrderName1 |
Nom du patient ayant besoin du transport |
PatientAddress |
Adresse où le patient doit être récupéré |
OrderName2 |
Nom unique de la destination |
HospitalAddress |
Localisation où le patient a son rendez-vous |
PickFrom |
Heure à partir de laquelle le patient peut être récupéré à la localisation PatientAddress |
PickTo |
Heure maximum à laquelle le patient peut être récupéré à la localisation PatientAddress |
TotalPassengers |
Nombre total de passagers à récupérer |
MaxTransitTime |
Durée maximale que le patient peut passer dans le minibus |
SpecialtyNames |
Spécifie les besoins spéciaux du passager, tel qu'un fauteuil roulant, par exemple |
Dans ce cas, les passagers et les visites à l'hôpital sont reliés entre eux car chaque passager doit se rendre à un hôpital prédéterminé. Vous pouvez modéliser cette situation avec des couples de course en chargeant à la fois les patients et les localisations des hôpitaux dans la classe d'analyse de réseau Commandes et les associer aux nouveaux objets de couples de course.
Dans les étapes suivantes, vous allez géocoder les adresses des patients et des hôpitaux et charger les points qui en résultent sous formes de commandes.
-
Cliquez sur Fichier > Ajouter des données > Géocodage > Géocoder des adresses.
La boîte de dialogue Choisir le localisateur d'adresses à utiliser s'ouvre.
- Cliquez sur SanFranciscoLocator.
Le localisateur SanFranciscoLocator est compris dans l'Exercise08.mxd.
-
Cliquez sur OK.
La boîte de dialogue Géocoder des adresses: SanFranciscoLocator s'ouvre.
-
Cliquez sur le bouton Parcourir à côté de la liste déroulante Table d'adresses.
La boîte de dialogue Choisir une table contenant les adresses s'ouvre.
-
Cliquez sur la liste déroulante Regarder dans et choisissez Accueil - Didacticiel.
La table que vous allez ajouter est stockée dans une feuille de calcul Excel comprise dans les données du didacticiel ArcGIS Network Analyst.
- Double-cliquez sur OrderPairs.xls.
-
Double-cliquez sur Patients$.
La feuille de calcul Patients est ajoutée à la liste déroulante Table d'adresses.
- Dans la liste déroulante Rue ou intersection, sélectionnez PatientAddress.
-
Cliquez sur le bouton Parcourir à côté de la zone de texte Fichier de formes ou classe d'entités en sortie.
La boîte de dialogue Enregistrement des données s'ouvre à l'emplacement de stockage d'Exercise08.mxd.
- Cliquez sur la liste déroulante Regarder dans et choisissez Accueil - Didacticiel.
-
Cliquez sur la liste déroulante Enregistrer en tant que type et choisissez Classes d'entités de géodatabase personnelle et fichier.
La liste de fichiers et d'espaces de travail est mise à jour.
- Double-cliquez sur SanFrancisco.gdb.
-
Supprimez le nom indiqué dans la zone de texte Nom et tapez Patients à la place.
La classe d'entités en sortie va s'appeler Patients.
-
Cliquez sur Enregistrer.
La zone de texte Fichier de formes ou classe d'entités en sortie de la boîte de dialogue Géocoder des adresses: SanFranciscoLocator est mise à jour pour afficher le nouveau chemin d'accès en sortie.
-
Cliquez sur OK.
La boîte de dialogue Géocodage des adresses s'ouvre et indique que la totalité des 15 adresses a été appariée.
-
Cliquez sur Fermer.
Les adresses géocodées sont ajoutées à la carte en tant que couche de points, Résultat du géocodage: Patients.
-
Répétez les étapes 1 à 16 pour charger les hôpitaux de destination des patients, mais apportez les changements suivants :
- A l'étape 8, définissez Rue ou intersection sur HospitalAddress.
-
A l'étape 13, tapez DestinationHospitals dans la zone de texte Nom.
La fenêtre Table des matières doit maintenant comporter deux couches d'entités, Résultat du géocodage: DestinationHospitals et Résultat du géocodage: Patients.
- Dans la fenêtre Table des matières, désactivez les deux couches de résultats de géocodage afin qu'elles ne soient plus visibles dans l'affichage cartographique.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Ordres (0), puis choisissez Charger des localisations.
La boîte de dialogue Charger des localisations s'ouvre.
- Choisissez Résultat du géocodage: Patients dans la liste déroulante Charger depuis.
-
Configurez les propriétés répertoriées dans la section Propriétés d'analyse des localisations afin qu'elles copient des valeurs de champ de la couche Résultat du géocodage: Patients comme indiqué dans les étapes ci-dessous. (Le graphique suivant illustre ces changements.)
- Appariez la propriété Nom au champ OrderName1.
- Appariez la propriété Description au champ PatientAddress.
- Appariez la propriété TimeWindowStart1 au champ PickFrom.
- Appariez la propriété TimeWindowEnd1 au champ PickTo.
- Appariez la propriété PickupQuantities au champ TotalPassengers.
- Assurez-vous que la propriété SpecialtyNames est automatiquement appariée au champ SpecialtyNames.
-
Tapez 2 sous Valeur par défaut pour la propriété ServiceTime.
Toutes les localisations d'adresse de patient chargées vont avoir une valeur ServiceTime de 2 pour prendre en compte la durée moyenne (en minutes) nécessaire aux passagers pour monter à bord du minibus.
-
Tapez 0 sous Valeur par défaut pour la propriété MaxViolationTime1.
En définissant toutes les propriétés MaxViolationTime1 sur zéro, le solveur VRP va rechercher uniquement les itinéraires qui visitent les commandes dans leurs fenêtres horaires.
-
Cliquez sur OK.
Quinze commandes sont chargées. Vous pouvez les voir dans l'affichage cartographique et dans la fenêtre Network Analyst.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Ordres (15), puis choisissez Charger des localisations.
La boîte de dialogue Charger des localisations s'ouvre.
- Choisissez Résultat du géocodage: DestinationHospitals dans la liste déroulante Charger depuis.
-
Configurez les propriétés répertoriées dans la section Propriétés d'analyse des localisations afin qu'elles copient des valeurs de champ de la couche Résultat du géocodage: DestinationHospitals comme indiqué dans les étapes ci-dessous. (Le graphique suivant illustre ces changements.)
-
Appariez la propriété Nom au champ OrderName2.
Notez que la valeur de l'attribut Nom doit être unique dans la classe d'analyse de réseau Commandes. Dans ce cas, il y a beaucoup de patients devant se rendre au même hôpital. Par conséquent, si les adresses d'hôpital ont été utilisées pour dériver la valeur de l'attribut Nom pour les commandes, le solveur VRP va renvoyer des messages d'erreur car il existe des valeurs Nom en double.
- Appariez la propriété Description au champ HospitalAddress.
- Appariez la propriété DeliveryQuantities au champ TotalPassengers.
- Assurez-vous que la propriété SpecialtyNames est automatiquement appariée au champ SpecialtyNames.
-
Appariez la propriété Nom au champ OrderName2.
-
Tapez 2 sous Valeur par défaut pour la propriété ServiceTime.
-
Cliquez sur OK.
Trente commandes sont répertoriées dans la fenêtre Network Analyst sous la classe d'analyse de réseau Commande et sont affichées en tant que commandes sur la carte dans la couche de calcul d'itinéraire de véhicule.
Dans les étapes suivantes, vous allez charger ces couches dans la classe d'analyse de réseau Commandes.
La section Propriétés d'analyse des localisations de la boîte de dialogue Charger des localisations vous permet de spécifier les attributs de la couche Résultat du géocodage: Patients qui contiennent les valeurs que Network Analyst va référencer dans ce calcul d'itinéraire de véhicule.
Ajout de couples de course
Les passagers doivent être accompagnés à un hôpital prédéterminé. En ajoutant des objets à la classe d'analyse de réseau Couples de course, vous pouvez ajouter les informations qui spécifient l'hôpital auquel doivent être emmenés les patients et la durée maximale par trajet pendant laquelle ces derniers peuvent rester assis dans le minibus.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Paires d'ordres (0), puis choisissez Charger des localisations.
La boîte de dialogue Charger des localisations s'ouvre.
- Cliquez sur le bouton Parcourir à côté de la liste déroulante Charger depuis.
-
Cliquez sur la liste déroulante Regarder dans et choisissez Accueil - Didacticiel.
La table que vous allez ajouter est stockée dans une feuille de calcul Excel comprise dans les données du didacticiel Network Analyst.
- Double-cliquez sur OrderPairs.xls.
-
Double-cliquez sur Patients$.
La table Patients est ajoutée à la liste déroulante Charger depuis de la boîte de dialogue Charger des localisations.
-
Configurez les propriétés répertoriées dans la section Propriétés d'analyse des localisations afin qu'elles extraient des valeurs de champ de la table Patients$ comme indiqué dans les étapes ci-dessous.
- Appariez la propriété FirstOrderName au champ OrderName1.
- Appariez la propriété SecondOrderName au champ OrderName2.
- Assurez-vous que la propriété MaxTransitTime est automatiquement appariée au champ MaxTransitTime.
-
Cliquez sur OK.
Quinze couples de course sont répertoriés dans la fenêtre Network Analyst sous la classe d'analyse de réseau Couples de course.
Ajout de dépôts
La société de logistique exploite des minibus depuis trois dépôts dont les emplacements sont affichés dans la couche d'entités CentralDepots dans ArcMap. Vous allez maintenant ajouter ces entités ponctuelles à la classe d'analyse de réseau Dépôts.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Dépôts (0), puis choisissez Charger des localisations.
La boîte de dialogue Charger des localisations s'ouvre.
- Sélectionnez CentralDepots dans la liste déroulante Charger depuis.
-
Dans la section Propriétés d'analyse des localisations, assurez-vous que la propriété Nom est automatiquement appariée au champ Nom.
-
Cliquez sur OK.
Trois dépôts sont répertoriés dans la fenêtre Network Analyst sous la classe d'analyse de réseau Dépôts et affichés sur la carte dans la couche de calcul d'itinéraire de véhicule.
Ajout d'itinéraires
La société de logistique a trois minibus, d'une capacité maximale de six passagers chacun. Les minibus partent et reviennent aux dépôts après avoir effectué tous les voyages. L'un des minibus qui circulent en centre-ville est équipé d'une plate-forme élévatrice pour fauteuils roulants.
Vous allez ajouter trois itinéraires (un pour chaque minibus) et définir la propriété pour le minibus de centre-ville de sorte à inclure Fauteuil roulant comme particularité.
-
Dans la fenêtre Network Analyst, cliquez avec le bouton droit sur Itinéraires (0) et choisissez Ajouter un élément.
Un nouvel itinéraire, Item1, est ajouté sous la classe d'analyse de réseau Itinéraires et la fenêtre Propriétés de l'itinéraire s'ouvre.
-
Dans la fenêtre Propriétés, spécifiez les attributs pour l'itinéraire comme indiqué dans le tableau ci-dessous, en laissant les valeurs par défaut pour les attributs non répertoriés. La colonne Description du tableau explique l'utilisation de valeurs particulières.
Attribut
Valeur
Description
Nom
Centre ville
Nom de l'itinéraire.
StartDepotName
Dépôt du centre-ville
Le minibus part du dépôt situé en centre-ville.
EndDepotName
Dépôt du centre-ville
Le minibus retourne au dépôt situé en centre-ville à la fin de l'itinéraire.
Capacities
6
Le minibus peut transporter six passagers maximum à la fois.
SpecialtyNames
Fauteuil roulant (Cochez Fauteuil roulant pour le définir comme valeur.)
Le minibus est équipé pour les fauteuils roulants.
-
Cliquez sur OK.
Un nouvel itinéraire, Centre ville, est répertorié dans la fenêtre Network Analyst.
-
Répétez les étapes 1 à 3 pour ajouter deux autres itinéraires représentant les minibus qui opèrent dans l'Est et le Nord de la Baie de San Francisco. Utilisez les tableaux suivants pour ces nouveaux itinéraires à la place des propriétés répertoriées à l'étape 2.
Attribut
Valeur
Nom
Baie Nord
StartDepotName
Dépôt de Baie Nord
EndDepotName
Dépôt de Baie Nord
Capacities
6
Attribut
Valeur
Nom
Baie Est
StartDepotName
Dépôt de baie Est
EndDepotName
Dépôt de baie Est
Capacities
6
Notez que ces minibus ne sont pas équipés pour accueillir des fauteuils roulants.
La fenêtre Network Analyst affiche trois objets d'itinéraire répertoriés dans la classe d'analyse de réseau Itinéraires.
Ajout de zones de tournée
Les trois minibus utilisés par la société ne sont habilités qu'à desservir des commandes dans une région prédéterminée. Vous allez ajouter des zones de tournée et les associer aux minibus/itinéraires.
- Dans la fenêtre Network Analyst, cliquez sur Zones de tournées (0).
- Cliquez sur l'Outil Créer une localisation de réseau sur la barre d'outils Network Analyst.
-
Sur l'affichage cartographique, numérisez un polygone qui couvre grossièrement le centre-ville comme indiqué ci-dessous.
Cliquez une fois pour ajouter des sommets et double-cliquez pour terminer le polygone.
Une nouvelle zone de tournée, Elément graphique 1, est ajoutée à la classe de zones de tournée dans la fenêtre Network Analyst. -
Dans la fenêtre Network Analyst, double-cliquez sur la nouvelle zone de tournée, Elément graphique 1.
La fenêtre Propriétés de la zone de tournée s'ouvre.
-
Définissez les propriétés de la zone de tournée comme indiqué dans le tableau ci-dessous.
Attribut
Valeur
Description
RouteName
Centre ville
Nom de l'itinéraire auquel cette zone de tournée est associée.
IsHardZone
Vrai
Le minibus ne peut pas desservir les commandes situées en dehors de la zone de tournée. Définir cette valeur sur True garantit que seules des commandes situées dans la zone de tournée seront affectées au minibus.
-
Répétez les étapes 1 à 6 pour ajouter deux autres zones de tournée : une pour la Baie Nord et une pour la Baie Est.
La carte et la fenêtre Network Analyst doivent contenir trois objets de zone de tournée.
Configuration des propriétés pour l'analyse
Vous allez ensuite spécifier les propriétés pour votre analyse d'itinéraire de véhicule.
-
Cliquez sur le bouton Propriétés de la couche d'analyse dans la fenêtre Network Analyst.
La boîte de dialogue Propriétés de la couche s'ouvre.
- Cliquez sur l'onglet Paramètres d'analyse.
-
Assurez-vous que la liste déroulante Attribut de temps est définie sur TravelTime (minutes).
Le solveur VRP va utiliser cet attribut pour calculer des coûts basés sur le temps entre des commandes et les dépôts.
-
Assurez-vous que rien n'est sélectionné dans la liste déroulante Attribut de distance.
Etant donné que vous n'utilisez pas de paramètre de coût basé sur la distance, tel que CostPerUnitDistance ou MaxTotalDistance, la configuration de l'attribut de distance n'est pas obligatoire.
- Définissez la Date par défaut sur Jour de la semaine. Dans la liste déroulante Jour de la semaine, choisissez Lundi.
-
La capacité du minibus étant exprimée uniquement par le nombre total des passagers pouvant être transportés, assurez-vous que le Nombre de capacités est défini sur 1.
Si la capacité était exprimée par le nombre total de passagers et le nombre maximum de fauteuils roulant pouvant être accueillis dans le minibus, le nombre de capacités serait 2.
-
Laissez les options par défaut pour les autres propriétés.
- Cliquez sur OK.
Exécution du processus de calcul de la solution
-
Cliquez sur le bouton Rechercher sur la barre d'outils Network Analyst.
Le solveur VRP calcule les itinéraires pour chaque minibus. Chaque itinéraire commence à un dépôt, récupère une ou plusieurs personnes si le temps qu'elles vont passer dans le minibus est inférieur à la valeur MaxTransitTime spécifiée dans le couple de course, les dépose à leur hôpital, continue de récupérer et de déposer d'autres personnes et retourne au dépôt à la fin. Les itinéraires desservent uniquement des commandes dans les zones de tournée qui leur sont affectées.
Génération des feuilles de route tournant par tournant pour les itinéraires
-
Cliquez sur le bouton Fenêtre Feuilles de route sur la barre d'outils Network Analyst.
La boîte de dialogue Fenêtre Feuilles de route s'ouvre.
- Vous pouvez également exporter le calcul d'itinéraire de véhicule sous forme de fichier de couches (<nom de fichier>.lyr) sur le disque afin de pouvoir le charger dans une autre carte.
- Quittez ArcMap sans enregistrer les modifications.