Utiliser un modèle dans un modèle

Résumé

Créez un modèle dans un modèle, soit un modèle imbriqué. Le modèle itère sur quelques classes d’entités, les projette puis les fusionne pour créer une seule classe d’entités.

Modèle terminé

Un modèle imbriqué est requis lorsqu’il n’est pas nécessaire d’exécuter plusieurs fois une partie d’un modèle. Si un itérateur est ajouté à un modèle, tous les outils de ce modèle sont exécutés pour chaque valeur renvoyée par l’itérateur. Dans cet exemple, vous allez itérer l’outil Projeter pour chaque classe d’entités ; cependant, cela n’a aucun sens d’exécuter plusieurs fois l’outil Fusionner car il rassemble toutes les classes d’entités projetées et crée une sortie fusionnée en une seule exécution. L’outil Fusionner est donc ajouté à un modèle principal qui s’exécute une fois et appelle un sous-modèle qui s’exécute plusieurs fois.

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, une géodatabase en sortie et un modèle terminé.

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

    La géodatabase ToolData.gdb contient trois classes d’entités qui seront utilisées comme entrées du modèle.

    Les sorties du modèle seront écrites dans la géodatabase ScratchCommon.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). Accédez à Folders (Dossiers) > ModelWithinModel > 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. Sur le ruban, cliquez sur l’onglet ModelBuilder. Dans le groupe Model (Modèle), cliquez sur Properties (Propriétés) Propriétés. Dans la boîte de dialogue Tool Properties (Propriétés de l’outil), saisissez ProjectMainModel pour Name (Nom) et Project Main-Model (Modèle principal du projet) pour Label (Étiquette).
  4. Sur le ruban, sous l’onglet ModelBuilder, dans le groupe Model (Modèle), cliquez sur le bouton Save (Enregistrer) Enregistrer pour enregistrer vos modifications.
  5. Créez un autre modèle avec pour Name (Nom) ProjectSubModel et pour Label (Étiquette) Project Sub-Model (Sous-modèle du projet).
  6. Dans le modèle Project Sub-Model (Sous-modèle du projet), ajoutez l’outil Itérer dans des classes 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 des classes d’entités.

    Ajout de l’outil Itérer dans des classes d’entités

    L’ outil Itérer dans des classes d’entités est ajouté au modèle Project Sub-Model (Sous-modèle du projet). L’itérateur n’est pas disponible puisqu’aucune valeur de paramètre n’a été indiquée.

  7. Ajoutez l’outil Recueillir des valeurs.
    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 l’outil Recueillir des valeurs.

    Ajout de l’outil Recueillir des valeurs

    L’ outil Recueillir des valeurs est ajouté au modèle Project Sub-Model (Sous-modèle du projet).

  8. Ajoutez l’outil Projeter.
    1. Cliquez dans le modèle et saisissez Project (Projeter) directement dans le modèle pour ouvrir la boîte de dialogue Add Tools To Model (Ajouter des outils au modèle).
    2. Recherchez l’outil Projeter.
    3. Double-cliquez sur l’outil Projeter 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’outil Itérer dans des classes d’entités pour ouvrir la boîte de dialogue de l’itérateur.
    1. Pour le paramètre Workspace or Feature Dataset (espace de travail ou jeu de classes d’entités), accédez à la géodatabase ToolData.gdb.
    2. Conservez les valeurs par défaut des autres paramètres et cliquez sur OK.

    Boîte de dialogue de l’outil Itérer dans des classes d’entités

    L’espace de travail est ajouté 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 la sortie de l’itérateur et sélectionnez Rename (Renommer). Saisissez le nom Feature Class (Classe d’entités).
  3. Double-cliquez sur l’outil Projeter pour ouvrir la boîte de dialogue correspondante.
    1. Pour le paramètre Input Dataset or Feature Class (Jeu de données ou classe d’entités en entrée), sélectionnez Feature Class (Classe d’entités) dans la liste déroulante.
    2. Pour le paramètre Output Dataset or Feature Class (Jeu de données ou classe d’entités en sortie), accédez à <Your Project Location>\ScratchCommon.gdb et saisissez %Name%_Projected.
    3. Pour le paramètre Output Coordinate System (Système de coordonnées en sortie), sélectionnez Projected Coordinate System (Système de coordonnées projetées) > State Plane > NAD 1983 (Meters) > NAD 1983 StatePlane Oregon North FIPS 3601 (Meters).
    4. Conservez les valeurs par défaut des autres paramètres et cliquez sur OK pour fermer la boîte de dialogue de l’outil Projeter.

    Boîte de dialogue de l’outil Projeter

    Attention :

    Si les classes d’entités en entrée ont des systèmes de coordonnées différents, la transformation géographique 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 les méthodes de transformation géographique qui s’y appliquent. 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.

  4. Survolez la variable en sortie (ovale vert) de l’outil Projeter. 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.

    L’outil Recueillir des valeurs est un outil utilitaire qui collecte les valeurs en sortie de chaque itération dans une seule sortie à valeurs multiples.

  5. Cliquez avec le bouton droit sur la variable en entrée de l’itérateur et sélectionnez Parameter (Paramètre).

    La lettre P est alors ajoutée en regard de la variable pour indiquer qu’il s’agit d’un paramètre de modèle.

  6. Créez un paramètre de modèle à partir de la sortie de l’outil Recueillir des valeurs comme indiqué dans les étapes précédentes.
  7. 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.
  8. Cliquez sur le bouton Save (Enregistrer) Enregistrer sur l’onglet ModelBuilder pour enregistrer le modèle et fermer le modèle Project Sub-Model (Sous-modèle du projet).
  9. Dans le modèle Project Main-Model (Modèle principal du projet), recherchez l’outil Fusionner et ajoutez-le au modèle.
  10. Dans la fenêtre Catalog (Catalogue), accédez au modèle Project Sub-Model (Sous-modèle du projet) que vous venez de créer. Faites glisser le modèle Project Sub-Model (Sous-modèle du projet) dans le modèle Project Main-Model (Modèle principal du projet).

    Le sous-modèle est ajouté au modèle principal. Les paramètres du sous-modèle sont ajoutés en tant que variables au modèle principal (ovale bleu foncé pour ToolData.gdb et ovale vert pour Output Values (Valeurs en sortie)).

  11. Survolez la variable en sortie Output Values (Valeurs en sortie) (ovale vert) de Project Sub-Model (Sous-modèle du projet). Cliquez et faites glisser pour créer une ligne de connecteur vers l’outil Fusionner. Relâchez la souris et cliquez sur Input Datasets (Jeux de données en entrée) dans le menu contextuel.

    Une connexion est ainsi créée entre la sortie du sous-modèle et l’outil Fusionner.

    Définition du paramètre Input Datasets (Jeux de données en entrée) de l’outil Fusionner

  12. Double-cliquez sur l’outil Fusionner pour ouvrir la boîte de dialogue correspondante. Pour le paramètre Output Dataset (Jeu de données en sortie), accédez à la géodatabase <Your Project Location>\ScratchCommon.gdb et saisissez ProjectedFC_Merge. Conservez la valeur par défaut du paramètre Field Map (Appariement des champs) et cliquez sur OK pour fermer la boîte de dialogue.

    Définition du paramètre Output Dataset (Jeu de données en sortie) de l’outil Fusionner

    Il est conseillé de renommer les variables en entrée et en sortie en leur attribuant des noms plus pertinents au lieu de continuer à utiliser les noms de variable par défaut.

  13. Renommez la sortie de l’outil Fusionner en Merged Feature Class (Classe d’entités fusionnée). Renommez toutes les variables du modèle comme indiqué dans le modèle terminé du processus.

Exécuter le modèle

Vous allez valider et exécuter le modèle. Vous allez examiner les sorties dans la géodatabase ScratchCommon.gdb et vérifier que toutes les classes d’entités ont été fusionnées après la projection.

  1. Cliquez avec le bouton droit sur la sortie de l’outil Fusionner et sélectionnez Add To Display (Ajouter à la carte).

    Les sorties sont ajoutées à 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 Project Main-Model (Modèle principal du projet) pour exécuter le modèle.

    Le modèle exécute le sous-modèle et itère sur toutes les classes d’entités, les projette et crée la sortie dans la géodatabase ScratchCommon.gdb. L’outil Recueillir des valeurs collecte les sorties dans le sous-modèle et transmet les jeux de données au paramètre Input Datasets (Jeux de données en entrée) de l’outil Fusionner. L’outil Fusionner s’exécute une fois et crée une sortie fusionnée.

    Sortie d’un modèle dans un modèle
  4. Fermez le modèle et ArcGIS Pro.