Utiliser l’outil Itérer dans des valeurs multiples

Résumé

L’outil Itérer dans des valeurs multiples itère sur une liste de valeurs.

Modèle terminé destiné à itérer sur des valeurs multiples

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.

Illustration du processus

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

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

  1. Dans la fenêtre Catalog (Catalogue), cliquez sur l’onglet Project (Projet) si nécessaire. Accédez à Folders (Dossiers) > IterateMultivalue > 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 des valeurs multiples.
    1. 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 valeurs multiples.

    Ajout de l’outil Itérer dans des valeurs multiples

    L’itérateur Itérer dans des valeurs multiples 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 Analyser un chemin.
    1. 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 Analyser un chemin.

    Ajout de l’outil Analyser un chemin

    L’outil Analyser un chemin est ajouté au modèle.

  5. Ajoutez l’outil Proche.
    1. Cliquez dans le modèle et saisissez Near (Proche) 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 Proche.
    3. Double-cliquez sur l’outil Proche et ajoutez-le au modèle.
  6. 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.

  1. 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 airports (aéroports), exits (sorties) et recareas (aires de loisirs), puis cliquez sur OK.

    Boîte de dialogue de l’outil Itérer dans des valeurs multiples

    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 change pour indiquer que les paramètres requis 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 Value (Valeur) et appuyez sur Entrée. La variable en sortie de l’itérateur est renommée.
  3. Double-cliquez sur l’outil Proche pour ouvrir la boîte de dialogue correspondante.
    1. 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 (Localisation ponctuelle).
    2. Pour le paramètre Near Features (Entités de proximité), sélectionnez Value (Valeur) dans la liste déroulante.

    Boîte de dialogue de l’outil Proche

    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.

  4. 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).

    Boîte de dialogue de l’outil Analyser un chemin

    Une connexion est ainsi créée entre la sortie de l’itérateur et l’outil Analyser un chemin.

  5. 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.
  6. Double-cliquez sur l’outil Ajouter un champ pour ouvrir la boîte de dialogue correspondante.
    1. Le paramètre Input Table (Table en entrée) est déjà ajouté depuis la sortie de l’outil Proche.
    2. 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 (airports (aéroports), exits (sorties) ou recareas (aires de loisirs)) est utilisé comme nom de champ.

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

    Boîte de dialogue de l’outil Ajouter un champ

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

    Définition du paramètre Precondition (Condition préalable) de l’outil Ajouter un champ

  8. 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.
  9. Double-cliquez sur l’outil Calculer un champ pour ouvrir la boîte de dialogue correspondante.
    1. Le paramètre Input Table (Table en entrée) est déjà ajouté depuis la sortie de l’outil Ajouter un champ.
    2. 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.
    3. Pour le paramètre Expression type (Type d’expression), sélectionnez Python 3.
    4. Pour le paramètre Expression, saisissez !NEAR_DIST!.

      Les valeurs du champ NEAR_DIST sont copiées dans 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 de champ sont des délimiteurs de champ dans les expressions Python.

    Boîte de dialogue de l’outil Calculer un champ

  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 dans l’onglet ModelBuilder, puis cliquez sur le bouton Fit To Window (Ajuster à la fenêtre) Ajuster à la fenêtre pour ajuster la mise en page à la taille de la fenêtre du modèle.

Exécution du 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.

  1. Cliquez avec le bouton droit de la souris sur l’outil Calculer un champ, puis cliquez sur Add To Display (Ajouter à la carte).

    La classe d’entités en entrée mise à jour 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. 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 de la souris sur la classe d’entités en entrée dans la fenêtre Contents (Contenu) de ArcGIS Pro, puis cliquez sur Tables pour afficher les champs ajoutés dont les valeurs de distance sont les plus proches.
  4. Fermez le modèle et ArcGIS Pro.