Résumé
L’outil Itérer dans une sélection d’entités itère sur les entités d’une classe d’entités.
Dans ce processus, vous allez créer un modèle destiné à itérer sur des entités regroupées par régions dans une classe d’entités (USA states) et créer huit classes d’entités, une pour chaque groupe ou région. La valeur de champ (region) utilisée pour fractionner la classe d’entités est également utilisée comme nom de la classe d’entités en sortie. Les noms de région incluent des espaces. Par exemple, Pacific West Region, Mid Atlantic Region, etc. L’espace n’est pas accepté comme caractère de nom de fichier valide dans une géodatabase fichier. Pour retirer les espaces inacceptables, il convient de modifier le paramètre en sortie Value (Valeur) (nom de région) de l’itérateur en l’utilisant comme variable en ligne dans l’outil Calculer une valeur (%Value%). La sortie de l’outil Calculer une valeur est utilisée comme variable en ligne dans le nom en sortie de l’outil Copier des entités (%Name%). La sortie de l’outil Copier des entités est connectée à l’outil Recueillir des valeurs, qui collecte la sortie de chaque itération et génère une seule sortie comportant plusieurs valeurs.
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 didacticiel. Le projet inclut une géodatabase en entrée, une géodatabase en sortie et un modèle terminé.
- Ouvrez la page de présentation Utiliser l’outil Itérer dans une sélection d’entités.
- Cliquez sur Download (Télécharger) dans la partie gauche de la page.
- Cliquez avec le bouton droit de la souris sur le fichier IterateFeatureSelection.zip téléchargé et procédez à son extraction dans un emplacement pratique, tel que C:\Temp
- Dans le dossier extrait intitulé IterateFeatureSelection, double-cliquez sur le fichier de projet ArcGIS Pro, IterateFeatureSelection.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) > IterateFeatureSelection.
La géodatabase ToolData.gdb contient la classe d’entités States, qui sera utilisée comme entrée du modèle.
Les sorties du modèle seront écrites dans la géodatabase ScratchStates.gdb.
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) > IterateFeatureSelection > 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 une sélection d’entités.
- 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 une sélection d’entités.
L’itérateur Itérer dans une sélection d’entités est ajouté au modèle. L’itérateur n’est pas disponible puisqu’aucune valeur de paramètre n’a été indiquée.
- Ajoutez l’outil Calculer une valeur.
- Cliquez sur l’onglet ModelBuilder.
- Dans le groupe Insert (Insérer), cliquez sur Utilities (Utilitaires) .
- Dans la liste Utilities (Utilitaires), cliquez sur Calculer une valeur.
L’outil Calculer une valeur est ajouté au modèle.
- Ajoutez l’outil Recueillir des valeurs dans le modèle, comme décrit à l’étape précédente.
- Ajoutez l’outil Copier des entités.
- Cliquez dans le modèle et saisissez Copier des entités pour ouvrir la boîte de dialogue Add Tools To Model (Ajouter des outils au modèle).
- Recherchez l’outil Copier des entités.
- Double-cliquez sur l’outil Copier des entités et ajoutez-le 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 une sélection d’entités afin d’ouvrir la boîte de dialogue de l’itérateur
- Pour le paramètre In Features (Entités en entrée), accédez à <Your Project Location>\IterateFeatureSelection\ToolData.gdb et sélectionnez la classe d’entités States (États).
- Laissez les paramètres restants vides et cliquez sur OK.
Input Feature Class (Classe d’entités en entrée) est ajoutée en tant que variable de modèle dans le modèle (ovale 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 l’itérateur Feature Selection (Sélection d’entités) et sélectionnez Create Variable (Créer une variable) > From Parameter (À partir du paramètre) > Group By Fields (Champs de groupement) pour exposer le paramètre Group By Field (Grouper par champ) en tant que variable dans le modèle.
- Double-cliquez sur la variable de modèle Group By Fields (Champs de groupement) et dans la liste déroulante, sélectionnez Region (Région).
- Cliquez sur OK pour fermer la boîte de dialogue.
La valeur du champ Region sera utilisée afin de sélectionner des entités pour chaque itération.
- Double-cliquez sur l’outil Calculer une valeur pour ouvrir la boîte de dialogue correspondante. Pour le paramètre Expression, saisissez "%Value%".replace(" ","") et modifiez la valeur de Data type (Type de données) en String (Chaîne).
L’expression se compose comme suit :
- La substitution de variable en ligne %Value%
- La méthode Python replace qui permet de remplacer l’espace dans le nom
Lors de l’exécution, %Value%, qui est le nom de la région du paramètre en sortie de l’itérateur (ovale bleu clair), est remplacé par la valeur de la variable, par exemple, Pacific West Region (Région de l'ouest du Pacifique), Mid Atlantic Region (Région du centre du littoral Atlantique), etc.
- Cliquez sur OK pour fermer la boîte de dialogue.
- Dans ModelBuilder, les outils respectent la hiérarchie et s’exécutent uniquement si l’outil connecté en amont est d’abord exécuté. L’outil Calculer une valeur utilise le paramètre Value en sortie de l’itérateur dans son expression, mais n’y est pas connecté et échoue s’il ne trouve pas le nom de région. Vous souhaitez que l’itérateur s’exécute avant l’outil Calculer une valeur pour que le nom de la région devienne disponible. Pour ce faire, vous allez définir la variable Value en tant que pré-condition à l’outil Calculer une valeur.
Survolez la variable en sortie Value (Valeur) (ovale bleu clair) de l’outil Itérer dans une sélection d’entités. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’outil Calculer une valeur. Relâchez la souris et cliquez sur Precondition (Condition préalable) dans le menu contextuel.
- Cliquez avec le bouton droit de la souris sur la variable States (États) (ovale bleu foncé) et sélectionnez Rename (Renommer). Saisissez le nouveau nom Input Feature Class (Classe d’entités en entrée). De la même manière, renommez la sortie de l’itérateur I_States (ovale vert) en Selected Features (Entités sélectionnées) et la sortie de l’outil Calculer une valeur en Name (Nom).
- Survolez la variable en sortie Name (Nom) (ovale vert) de l’outil Calculer une valeur. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’outil Copier des entités. Relâchez la souris et cliquez sur Precondition (Condition préalable) dans le menu contextuel.
- Double-cliquez sur l’outil Copier des entités pour ouvrir la boîte de dialogue correspondante.
- Pour le paramètre Input Features (Entités en entrée), sélectionnez Selected Features (Entités sélectionnées) dans la liste déroulante.
- Pour le paramètre Output Feature Class (Classe d’entités en sortie), accédez à <Your Project Location>\ScratchStates.gdb et saisissez %Name%.
Conservez les valeurs par défaut des autres paramètres et cliquez sur OK pour fermer la boîte de dialogue de l’outil Copier des entités.
- Survolez la variable en sortie (ovale vert) de l’outil Copier des entités. Cliquez et faites glisser pour créer une ligne de connecteur vers l’outil Recueillir des valeurs. Relâchez la souris et cliquez sur Input value (Valeur en entrée) dans le menu contextuel.
- 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) dans l’onglet ModelBuilder, puis cliquez sur le bouton Fit To Window (Ajuster à la fenêtre) pour ajuster la mise en page à la taille de la fenêtre du modèle.
Exécution du modèle
- Cliquez avec le bouton droit sur l’outil Recueillir des valeurs et sélectionnez Add To Display (Ajouter à la carte).
La sortie 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 huit groupes d’entités et crée huit classes d’entités dans la géodatabase ScratchStates.gdb.
- Fermez le modèle et ArcGIS Pro.
Vous avez un commentaire à formuler concernant cette rubrique ?