Utiliser l’outil Itérer dans une sélection d’entités

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.

Modèle terminé destiné à itérer sur une sélection 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 sous la forme de valeurs multiples.

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é.

  1. Ouvrez la page de présentation Utiliser l’outil Itérer dans une sélection d’entités.
  2. Cliquez sur Download (Télécharger) dans la partie gauche de la page.
  3. Cliquez avec le bouton droit sur le fichier IterateFeatureSelection.zip téléchargé et procédez à son extraction vers un emplacement pratique, tel que C:\Temp
  4. Dans le dossier extrait intitulé IterateFeatureSelection, double-cliquez sur le fichier de projet ArcGIS Pro, IterateFeatureSelection.aprx.
  5. 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 :

  1. Dans la fenêtre Catalog (Catalogue), cliquez sur l’onglet Project (Projet) si nécessaire. Accédez à Folders (Dossiers) > IterateFeatureSelection > MyProjectTools.
  2. 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.
  3. Ajoutez l’outil Itérer dans une sélection d’entités.
    1. Sur le ruban, cliquez sur l’onglet ModelBuilder.
    2. Dans le groupe Insert (Insérer), cliquez sur Iterators (Itérateurs)Itérateurs.
    3. Dans la liste Iterators (Itérateurs), cliquez sur Itérer dans une sélection d’entités.

    Ajout de l’outil 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.

  4. Ajoutez l’outil Calculer une valeur.
    1. Sur le ruban, cliquez sur l’onglet ModelBuilder.
    2. Dans le groupe Insert (Insérer), cliquez sur Utilities (Utilitaires) Utilitaires.
    3. Dans la liste Utilities (Utilitaires), cliquez sur Calculer une valeur.

    Ajout de l’outil Calculer une valeur

    L’outil Calculer une valeur est ajouté au modèle.

  5. Ajoutez l’outil Recueillir des valeurs dans le modèle, comme décrit à l’étape précédente.
  6. Ajoutez l’outil Copier des entités.
    1. 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).
    2. Recherchez l’outil Copier des entités.
    3. 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.

  1. 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
    1. 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.
    2. Laissez les paramètres restants vides et cliquez sur OK.

    Boîte de dialogue de l’outil Itérer dans une sélection d’entités

    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é.

  2. 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.
    1. Double-cliquez sur la variable de modèle Group By Field (Grouper par champ) et, dans la liste déroulante, sélectionnez Region.
    2. Cliquez sur OK pour fermer la boîte de dialogue.

    Paramètre Group By Field (Grouper par champ) de l’outil Itérer dans une sélection d’entités

    La valeur du champ Region sera utilisée afin de sélectionner des entités pour chaque itération.

  3. 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 :

    Boîte de dialogue de l’outil Calculer une valeur

    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, Mid Atlantic Region, etc.

  4. Cliquez sur OK pour fermer la boîte de dialogue.
  5. 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 (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.

    Définition de la pré-condition à l’outil Calculer une valeur

  6. Cliquez avec le bouton droit sur la variable States (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).
  7. 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.
  8. Double-cliquez sur l’outil Copier des entités pour ouvrir la boîte de dialogue correspondante.
    1. Pour Input Features (Entités en entrée), sélectionnez Selected Features (Entités sélectionnées) dans la liste déroulante.
    2. Pour le paramètre Output Feature Class (Classe d’entités en sortie), accédez à <Your Project Location>\ScratchStates.gdb et saisissez %Name%.

    Boîte de dialogue de l’outil Copier des entités

    Conservez les valeurs par défaut des paramètres restants et cliquez sur OK pour fermer la boîte de dialogue de l’outil Copier des entités.

  9. 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.
  10. Renommez toutes les variables de modèle comme indiqué dans le modèle terminé.
  11. Pour organiser les éléments du modèle, cliquez sur le bouton Auto Layout (Mise en page automatique) Mise en page automatique sur l’onglet ModelBuilder, puis sur le bouton Fit To Window (Ajuster à la fenêtre) Ajuster à la fenêtre pour maximiser la mise en page à la taille de la fenêtre du modèle.

Exécuter le modèle

  1. 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.

  2. Cliquez sur le bouton Save (Enregistrer) Enregistrer sur l’onglet ModelBuilder pour enregistrer le modèle.
  3. Cliquez sur le bouton Run (Exécuter) Exécuter sur l’onglet ModelBuilder pour exécuter le modèle.
    Sortie du modèle Itérer dans une sélection d’entités

    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.

  4. Fermez le modèle et ArcGIS Pro.