Résumé
L’outil Itérer dans des classes d’entités itère dans les classes d’entités d’un espace de travail ou un jeu de classes d’entités. Chaque itérateur est doté d’un ensemble de paramètres qui peuvent varier d’un itérateur à un autre, mais la structure globale de tous les outils d’itération est très similaire. L’outil Itérer dans des classes d’entités est décrit ci-après :
- Input Feature Classes (Classes d’entités en entrée) (entrée) : espace de travail ou jeu de classes d’entités qui stocke les classes d’entités sur lesquelles itérer.
- Wildcard (Caractère générique) (entrée facultative) : combinaison d’astérisques et de caractères utilisés pour limiter les résultats. Une astérisque demande tous les résultats. Si aucun caractère générique n'est spécifié, toutes les entrées sont renvoyées.
- Feature Type (Type d’entités) (entrée facultative) : type d’entités à utiliser en tant que filtre. Seules les entités du type spécifié sont générées en sortie. Si vous n’indiquez aucun type d’entité, tous les types d’entités sont renvoyés.
- Recursive (Récursif) (entrée facultative) : indique si l’itérateur itère dans tous les sous-dossiers de l’espace de travail principal.
- Feature Class (Classe d’entités) (sortie) : chemin d’accès complet à la classe d’entités.
- Name (Nom) (sortie) : nom de la classe d’entités.
Dans ce processus, vous allez créer un modèle (illustré ci-dessous) à itérer et projeter chaque classe d’entités dans l’espace de travail du modèle en entrée, puis utiliser le paramètre Name (Nom) en sortie en tant que variable en ligne dans le nom de Feature Class (Classe d’entités) en sortie de l’outil Projeter. Ce processus vous guide pas à pas et décrit chaque option de paramètre de l’itérateur afin de présenter ses fonctions.
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, des géodatabases en sortie et un modèle terminé.
- Ouvrez la page de présentation Utiliser l’outil Itérer dans des classes d’entités.
- Cliquez sur Download (Télécharger) dans la partie gauche de la page.
- Cliquez avec le bouton droit sur le fichier IterateFeatureClasses.zip téléchargé et procédez à son extraction vers un emplacement pratique, tel que C:\Temp.
- Dans le dossier extrait intitulé IterateFeatureClasses, double-cliquez sur le fichier de projet ArcGIS Pro, IterateFeatureClasses.aprx.
Le projet s’ouvre sur une carte vide ; il sera utilisé pour afficher les données du modèle que vous allez créer.
- Explorez les données de la fenêtre Catalog (Catalogue) et cliquez sur l’onglet Project (Projet) si nécessaire. Accédez à Folders (Dossiers) > IterateFeatureClasses.
Le dossier Data comporte des sous-dossiers, chacun d’entre eux incluant des classes d’entités sur lesquelles l’itération aura lieu et qui seront projetées dans le modèle. Les sorties de ce processus seront enregistrées dans les trois géodatabases Scratch*.
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) > IterateFeatureClasses > 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 classes d’entités.
- 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 classes d’entités.
L’itérateur Itérer dans des classes 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 Projeter.
- Cliquez dans le modèle et saisissez Project (Projeter) pour ouvrir la boîte de dialogue Add Tools To Model (Ajouter des outils au modèle).
- Recherchez l’outil Projeter.
- Double-cliquez sur l’outil Projeter pour l’ajouter au modèle.
- Ajoutez l’outil Recueillir des valeurs.
- Cliquez sur l’onglet ModelBuilder.
- Dans le groupe Insert (Insérer), cliquez sur le bouton Utilities (Utilitaires) .
- Dans la liste Utilities (Utilitaires), cliquez sur Recueillir des valeurs pour ajouter l’outil Recueillir des valeurs 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 classes d’entités pour ouvrir la boîte de dialogue de l’itérateur.
- Pour le paramètre Workspace or Feature Dataset (espace de travail ou jeu de classes d’entités), accédez au dossier Folders > IterateFeatureClasses > Data.
- Cochez la case Recursive (Récursif) pour itérer sur toutes les classes d’entités de tous les sous-dossiers.
- Laissez les paramètres restants vides et cliquez sur OK.
L’espace de travail est ajouté en tant que variable en entrée du 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é.
- Double-cliquez sur l’outil Projeter pour ouvrir la boîte de dialogue correspondante.
- Cliquez sur la flèche de liste déroulante Input Dataset or Feature Class (Jeu de données ou classe d’entités en entrée) et sélectionnez Metro_Entrances.shp.
- Pour le paramètre Output Dataset or Feature Class (Jeu de données ou classe d’entités en sortie), accédez à la géodatabase <Your Project Location>\IterateFeatureClasses\ScratchAllFC.gdb et saisissez %Name%_Project.
- Cliquez sur le bouton Coordinate System (Système de coordonnées) dans le paramètre Output Coordinate System (Système de coordonnées en sortie) pour ouvrir la boîte de dialogue Coordinate System (Système de coordonnées). Sélectionnez Projected Coordinate System (Système de coordonnées projetées) > Continental > Europe > Europe Albers Equal Area Conic. Cliquez sur OK pour fermer la boîte de dialogue.
- Conservez la valeur NTF_TO_ED_1950 pour la méthode Geographic Transformation (Transformation géographique).
- Cliquez sur OK pour fermer la boîte de dialogue de l’outil Projeter une fois tous les paramètres renseignés.
Attention :
Si les classes d’entités en entrée ont des systèmes de coordonnées différents, la transformation géographique ajoutée risque de ne pas s’appliquer à la totalité d’entre elles et est susceptible de projeter les données de manière incorrecte. Vous devez connaître les systèmes de coordonnées des entrées et la transformation géographique qui s’y applique. Dans ce cas, utilisez le paramètre Wildcard (Caractère générique) pour projeter les classes d’entités de manière sélective. Pour en apprendre davantage sur l’utilisation de caractères génériques, reportez-vous à la section Utilisation du paramètre facultatif Wildcard (Caractère générique).
- Survolez la variable en sortie de l’outil Projeter. Cliquez et faites glisser pour dessiner une ligne de connecteur vers l’élément de l’outil Recueillir des valeurs. Relâchez la souris et cliquez sur Input value (Valeur en entrée) dans le menu contextuel. L’outil Recueillir des valeurs prend en charge la collecte des valeurs en sortie de chaque itération dans une seule sortie à valeurs multiples.
- Renommez toutes les variables de modèle comme indiqué dans le modèle terminé de ce processus.
- 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 dans ScratchAllFC.gdb et vérifier que toutes les classes d’entités du dossier Data ont été soumises à l’itération et ont été projetées.
- Cliquez avec le bouton droit sur l’outil Recueillir des valeurs et cliquez sur Add To Display (Ajouter à la carte).
Les sorties sont ajoutées à la carte après l’exécution du modèle.
- 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 toutes les classes d’entités du dossier Data, les projette et crée la sortie dans la géodatabase ScratchAllFC.gdb.
Utiliser le paramètre facultatif Wildcard (Caractère générique)
La procédure ci-après permet d’étendre le processus et d’en apprendre davantage sur l’utilisation du paramètre facultatif Wildcard (Caractère générique) de l’itérateur.
- Après avoir terminé les étapes des sections précédentes et créé les classes d’entités projetées en sortie, double-cliquez sur l’outil Itérer dans des classes d’entités pour l’ouvrir.
- Saisissez Metro* dans le paramètre Wildcard (Caractère générique). Laissez le paramètre Recursive (Récursif) coché. Le modèle itère ainsi sur tous les sous-dossiers mais ne projette que les classes d’entités dont le nom commence par Metro. Lors de l’exécution, le caractère * est remplacé par le reste du nom de la classe d’entités commençant par Metro.
- Cliquez sur OK pour fermer la boîte de dialogue de l’outil.
- Ouvrez la boîte de dialogue de l’outil Projeter et modifiez la valeur de l’option Output Dataset or Feature Class (Jeu de données ou classe d’entités en sortie) en <Your Project Location>\IterateFeatureClasses\ScratchWildCard.gdb\%Name%_Project.
- Cliquez sur OK pour fermer la boîte de dialogue.
- 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 toutes les classes d’entités dont le nom commence par Metro, les projette et crée la sortie dans la géodatabase ScratchWildCard.gdb.
Utiliser les paramètres facultatifs Wildcard (Caractère générique) et Feature Type (Type d’entités)
La procédure ci-après permet d’étendre le processus et d’en apprendre davantage sur l’utilisation du paramètre facultatif Feature Type (Type d’entités) de l’itérateur.
- Après avoir terminé les étapes de la section Utiliser le paramètre facultatif Wildcard (Caractère générique) et créé les classes d’entités projetées en sortie, double-cliquez sur l’outil Itérer dans des classes d’entités pour l’ouvrir.
- Cliquez sur la flèche de liste déroulante du paramètre Feature Type (Type d’entités) et sélectionnez l’option Line (Ligne). Le modèle itère ainsi que toutes les classes d’entités Line (Ligne) dont le nom commence par Metro.
- Cliquez sur OK pour fermer la boîte de dialogue de l’outil.
- Ouvrez la boîte de dialogue de l’outil Projeter et modifiez la valeur de l’option Output Dataset or Feature Class (Jeu de données ou classe d’entités en sortie) en <Your Project Location>\IterateFeatureClasses\ScratchOnlyLine.gdb\%Name%_Project.
- 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 toutes les classes d’entités linéaires dont le nom commence par Metro, les projette et crée la sortie dans la géodatabase ScratchOnlyLine.gdb.
- Fermez le modèle et ArcGIS Pro.
Vous avez un commentaire à formuler concernant cette rubrique ?