Résumé
L’outil Itérer dans des valeurs multiples itère sur une liste de valeurs.
Dans ce processus, l’itérateur Itérer dans des valeurs multiples permet d’itérer sur des classes d’entités de type aéroports, sorties d’autoroute et aires de loisirs. L’autre entrée est une classe d’entités ponctuelles et le modèle calcule la distance la plus courte entre chaque point de la classe d’entités et les aéroports, les sorties d’autoroute et les aires de loisirs à l’aide de l’outil Proche. L’outil Proche ajoute un champ indiquant la valeur de distance entre chaque point en entrée et l’entité la plus proche dans une classe d’entités et les valeurs de champ sont remplacées à chaque itération. Pour éviter de perdre la valeur de distance après chaque itération, le modèle ajoute un champ et copie les valeurs de distance à l’aide de l’outil Calculer un champ. L’outil Analyser un chemin permet d’extraire le nom de la classe d’entités proche (aéroport, sorties et aires de loisirs). Ces noms sont ensuite utilisés comme noms de champ dans l’outil Ajouter un champ.
Cette illustration représente un sous-ensemble de la carte de la classe d’entités ponctuelles en entrée et de toutes les classes d’entités pour lesquelles la distance proche est calculée. La table attributaire de la classe d’entités ponctuelles en entrée affiche le champ ajouté et les valeurs calculées pour chaque classe d’entités proche en entrée.
Conditions préalables
Si vous débutez avec ModelBuilder, reportez-vous aux rubriques suivantes :
Ouvrir le projet
Téléchargez le projet à utiliser dans ce processus. Le projet inclut des données en entrée et un modèle terminé.
- Ouvrez la page de présentation Utiliser l’outil Itérer dans des valeurs multiples.
- Cliquez sur Download (Télécharger) dans la partie gauche de la page.
- Cliquez avec le bouton droit sur le fichier IterateMultivalue.zip téléchargé et procédez à son extraction vers un emplacement pratique, tel que C:\Temp.
- Dans le dossier extrait intitulé IterateMultivalue, double-cliquez sur le fichier de projet ArcGIS Pro, IterateMultivalue.aprx.
- Explorez les données de la fenêtre Catalog (Catalogue) et cliquez sur l’onglet Project (Projet) si nécessaire. Accédez à Folders (Dossiers) > IterateMultivalue.
La géodatabase ToolData.gdb contient les données qui seront utilisées en tant qu’entrées du modèle. Le modèle met à jour la table attributaire de la classe d’entités PointLocation.
Ajouter des outils
Vous allez créer un modèle dans la boîte d’outils MyProjectTools. Pour ajouter des outils au modèle, procédez comme suit :
- Dans la fenêtre Catalog (Catalogue), cliquez sur l’onglet Project (Projet) si nécessaire. Accédez à Folders (Dossiers) > IterateMultivalue > MyProjectTools.
- Cliquez avec le bouton droit sur MyProjectTools et sélectionnez New (Nouveau). Sélectionnez Model (Modèle) pour créer et ouvrir un modèle.
- Ajoutez l’outil Itérer dans des valeurs multiples.
- Sur le ruban, cliquez sur l’onglet ModelBuilder.
- Dans le groupe Insert (Insérer), cliquez sur Iterators (Itérateurs).
- Dans la liste Iterators (Itérateurs), cliquez sur Itérer dans des valeurs multiples.
L’itérateur Itérer dans des valeurs multiples est ajouté au modèle. L’itérateur apparaît en gris puisqu’aucune valeur de paramètre n’a été indiquée.
- Ajoutez l’outil Analyser un chemin.
- Sur le ruban, cliquez sur l’onglet ModelBuilder.
- Dans le groupe Insert (Insérer), cliquez sur Utilities (Utilitaires) .
- Dans la liste Utilities (Utilitaires), cliquez sur l’outil Analyser un chemin.
L’outil Analyser un chemin est ajouté au modèle.
- Ajoutez l’outil Proche.
- Cliquez dans le modèle et saisissez Near (Proche) directement dans le modèle pour ouvrir la boîte de dialogue Add Tools To Model (Ajouter des outils au modèle).
- Recherchez l’outil Proche.
- Double-cliquez sur l’outil Proche et ajoutez-le au modèle.
- Comme dans l’étape précédente, ajoutez les outils Ajouter un champ et Calculer un champ au modèle.
Spécifier les paramètres et connecter les outils
Après avoir ajouté les outils au modèle, vous devez spécifier les paramètres de chaque outil.
- Double-cliquez sur l’itérateur Itérer dans des valeurs multiples pour ouvrir la boîte de dialogue de l’itérateur. Pour le paramètre Input Values (Valeurs d’entrée), accédez à <Your Project Location>\IterateMultivalue\ToolData.gdb et sélectionnez les classes d’entités des aéroports, des sorties et des aires de loisirs, puis cliquez sur OK.
Les classes d’entités en entrée sont ajoutées en tant que variables de modèle dans le modèle (ovales bleu foncé) et la couleur de l’itérateur est modifiée ce qui indique que les paramètres obligatoires ont été fournis et que l’itérateur est prêt être exécuté.
- Cliquez avec le bouton droit sur la sortie de l’itérateur et sélectionnez Rename (Renommer). Saisissez le nom Value (Valeur) et appuyez sur Entrée. La variable en sortie de l’itérateur est renommée.
- Double-cliquez sur l’outil Proche pour ouvrir la boîte de dialogue correspondante.
- Pour le paramètre Input Features (Entités en entrée), accédez à <Your Project Location>\IterateMultivalue\ToolData.gdb et sélectionnez la classe d’entités PointLocation .
- Pour le paramètre Near Features (Entités de proximité), sélectionnez Value (Valeur) dans la liste déroulante.
Laissez les paramètres restants vides et cliquez sur OK. Une connexion est ainsi créée entre la valeur en sortie de l’itérateur et l’outil Proche.
- Double-cliquez sur l’outil Analyser un chemin pour ouvrir la boîte de dialogue correspondante et sélectionnez Value (Valeur) dans la liste déroulante du paramètre Input Values (Valeurs d’entrée).
Une connexion est ainsi créée entre la sortie de l’itérateur et l’outil Analyser un chemin.
- Survolez la variable en sortie (ovale vert) de l’outil Proche. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’outil Ajouter un champ. Relâchez la souris et cliquez sur Input Table (Table en entrée) dans le menu contextuel.
- Double-cliquez sur l’outil Ajouter un champ pour ouvrir la boîte de dialogue correspondante.
- Le paramètre Input Table (Table en entrée) est déjà ajouté depuis la sortie de l’outil Proche.
- Pour le paramètre Field Name (Nom de champ), saisissez %Name% comme substitution de variable en ligne.
Lors de l’exécution, le nom de la classe d’entités (aéroports, sorties ou aires de loisirs) sera utilisé comme nom de champ.
- Pour le paramètre Field Type (Type de champ), sélectionnez Double (double precision) (Double (double précision)) dans la liste déroulante.
Laissez les paramètres restants vides et cliquez sur OK.
- Dans ModelBuilder, un outil respecte la hiérarchie et s’exécute uniquement si l’outil en amont auquel il est connecté s’exécute en premier. L’outil Ajouter un champ utilise la valeur du paramètre Name (Nom) en sortie de l’outil Analyser un chemin dans son paramètre Field Name (Nom de champ), mais il n’y est pas connecté et échoue s’il ne trouve pas le nom du champ. Pour exécuter l’outil Analyser un chemin avant l’outil Ajouter un champ pour que le nom soit disponible, vous devez définir une pré-condition sur l’outil Ajouter un champ.
Survolez la variable Name (Nom) en sortie de l’outil Analyser un chemin. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’outil Ajouter un champ. Relâchez la souris et cliquez sur Precondition (Condition préalable) dans le menu contextuel.
- Survolez la variable en sortie (ovale vert) de l’outil Ajouter un champ. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’outil Calculer un champ. Relâchez la souris et cliquez sur Input Table (Table en entrée) dans le menu contextuel.
- Double-cliquez sur l’outil Calculer un champ pour ouvrir la boîte de dialogue correspondante.
- Le paramètre Input Table (Table en entrée) est déjà ajouté depuis la sortie de l’outil Ajouter un champ.
- Pour le paramètre Field Name (Nom de champ), sélectionnez %Name% dans la liste déroulante. Il s’agit du champ ajouté par l’outil Ajouter un champ. Lors de l’exécution, le nom de variable entre les signes de pourcentage est remplacé par le nom réel du champ.
- Pour le paramètre Expression type (Type d’expression), sélectionnez Python 3
- Pour le paramètre Expression, saisissez !NEAR_DIST!.
Les valeurs du champ NEAR_DIST sont copiées vers le nouveau champ. Vous ne pouvez pas sélectionner NEAR_DIST dans la liste Fields (Champs) car le champ n’existe pas, l’outil Proche n’ayant pas encore été exécuté. La saisie du nom du champ selon cette méthode nécessite une connaissance préalable de l’outil et du champ en sortie que l’outil va créer. Les points d’exclamation situés avant et après le nom du champ sont des délimiteurs de champ dans les expressions Python.
- Renommez toutes les variables de modèle comme indiqué dans le modèle terminé.
- Pour organiser les éléments du modèle, cliquez sur le bouton Auto Layout (Mise en page automatique) sur l’onglet ModelBuilder, puis sur le bouton Fit To Window (Ajuster à la fenêtre) pour maximiser la mise en page à la taille de la fenêtre du modèle.
Exécuter le modèle
Vous allez valider et exécuter le modèle. Vous allez examiner les sorties de la table attributaire de la classe d’entités ponctuelles en entrée et vérifier que les valeurs de distance les plus proches des trois classes d’entités sont ajoutées.
- Cliquez avec le bouton droit sur l’outil Calculer un champ et sélectionnez Add To Display (Ajouter à la carte).
La classe d’entités en entrée mise à jour est ajoutée à la carte.
- Cliquez sur le bouton Save (Enregistrer) sur l’onglet ModelBuilder pour enregistrer le modèle.
- Cliquez sur le bouton Run (Exécuter) sur l’onglet ModelBuilder pour exécuter le modèle. Le modèle itère sur les trois classes d’entités et recherche la distance la plus proche pour chaque classe d’entités par rapport aux entités ponctuelles. Cliquez avec le bouton droit sur la classes d’entités en entrée dans la fenêtre Contents (Contenu) de ArcGIS Pro et sélectionnez Tables pour afficher les champs ajoutés avec les valeurs de distance les plus proches.
- Fermez le modèle et ArcGIS Pro.
Vous avez un commentaire à formuler concernant cette rubrique ?