Calculer une valeur (ModelBuilder)

Synthèse

Renvoie une valeur en fonction d’une expression Python spécifiée.

Utilisation

  • Cet outil est prévu pour une utilisation dans ModelBuilder, et non dans des scripts Python.

  • Le paramètre Type de données est utilisé dans ModelBuilder pour faciliter l'enchaînement de la sortie de l'outil Calculer une valeur avec d'autres outils. Par exemple, si vous utilisez l'outil Calculer une valeur pour calculer une distance à utiliser en entrée dans le paramètre Distance de la zone tampon de l'outil Zone tampon, définissez le paramètre Type de données sur Unité linéaire.

  • Les variables créées dans ModelBuilder peuvent être utilisées par cet outil, mais les variables qui doivent être utilisées dans le paramètre d'expression ne peuvent pas être associées à l'outil Calculer une valeur. Pour les utiliser dans l'expression, placez le nom de la variable entre des signes de pourcentage (%). Si vous souhaitez par exemple diviser une variable nommée 'Entrée' par 100, votre expression sera la suivante : %Entrée%/100.

    Remarque : dans l'expression précédente, si Entrée = 123, l'expression renvoie 1. Pour obtenir des décimales, ajoutez des décimales aux valeurs dans l'expression. Par exemple : %Entrée%/100,00 renverra 1,23. L'illustration ci-dessous présente un autre exemple d'utilisation des variables dans l'expression.

    Utilisation d'une variable de modèle dans l'outil Calculer une valeur
    Attention :

    Une variable en ligne de type chaîne doit être entourée de guillemets ("%variable chaîne%") dans une expression. Les variables en ligne numériques (double, long) n'ont pas besoin de guillemets (%double%).

  • Les expressions peuvent uniquement être créées dans un format Python standard. Les autres langages de script ne sont pas pris en charge.

  • L'outil Calculer une valeur peut résoudre des expressions mathématiques simples. Par exemple :

    • 3+5
    • 9*8
    • 4+(9/3)
  • L'outil Calculer une valeur permet d'utiliser le module mathématique Python pour effectuer des opérations mathématiques plus complexes. Pour accéder au module mathématique, faites précéder la fonction souhaitée de math. Par exemple :

    • math.sqrt(25)
    • math.cos(0.5)
  • Les constantes sont également prises en charge dans tout le module mathématique. Par exemple :

    • math.pi
  • Le module random est pris en charge pour la génération de nombres aléatoires. Vous trouverez ci-dessous quelques exemples d'utilisation du module random :

    • Calculez un entier aléatoire compris entre 0 et 10 : random.randint(0, 10)
    • Calculez une valeur aléatoire dérivée d'une distribution normale avec une moyenne de 10 et un écart type de 3 : random.normalvariate(10, 3)

    Héritage :

    arcgis.rand() n’est plus pris en charge dans la version ArcGIS Pro 2.0. Des fonctions comparables à l'aide du random module Python doivent être utilisées en lieu et place. Pour utiliser le random module avec succès, importez-le dans le paramètre Bloc de code.

  • En règle générale, les expressions sont entrées dans le paramètre Expression. Les expressions plus complexes, telles que les calculs d'expressions multilignes ou les opérations logiques (if, then), impliquent l'utilisation du paramètre Bloc de code. Le paramètre Bloc de code ne peut pas être utilisé seul. Il doit être utilisé avec le paramètre Expression.

  • Les variables définies dans le paramètre Bloc de code peuvent être référencées à partir de l'expression.

    Utilisation d'une expression et d'un bloc de code

  • Les fonctions peuvent être définies dans le paramètre Bloc de code et appelées à partir de l'expression. Dans l'exemple ci-dessous, la fonction renvoie une chaîne de direction du vent en fonction d'une valeur en entrée aléatoire. Dans Python, les fonctions sont définies à l'aide du mot-clé def, suivi du nom de la fonction et des paramètres en entrée de la fonction. Dans notre exemple, la fonction est getWind et le paramètre associé est wind. Les valeurs sont renvoyées à partir d'une fonction à l'aide du mot-clé return.

    Définition des fonctions dans le bloc de code
  • Vous pouvez transmettre une variable via le paramètre Expression et utiliser la logique if-else avec des variables en ligne dans le bloc de code, comme illustré ci-dessous. Le bloc de code regarde si la variable InputCellSize est vide, puis renvoie une valeur qui repose sur la condition.

    Exemple d'utilisation de la logique If-Else

  • Vous pouvez utiliser les méthodes Python directement dans le paramètre Expression de l'outil. Par exemple, si vous souhaitez utiliser une valeur en entrée dotée d'une virgule (valeur de champ de la table en entrée dans ce cas) dans le nom en sortie d'un autre outil via la substitution de variables en ligne, la virgule peut être remplacée avec la méthode Python replace dans l'expression de l'outil Calculer une valeur.

    Exemple d'utilisation de la méthode Python replace

  • Les modules Python peuvent être appelés et les méthodes, telles que "replace", peuvent être combinées ou empilées dans le paramètre Bloc de code. Dans l'exemple ci-dessous, le module time est importé dans le bloc de code qui renvoie la date et l'heure actuelles, par exemple Ven Mar 19 2010 09:42:39. Cette valeur renvoyée est utilisée comme nom dans l'outil Créer un dossier afin de nommer le dossier. Comme le nom du dossier ne peut pas comporter d'espaces ou de symboles de ponctuation, la méthode replace dans Python est utilisée en empilant la méthode pour chaque élément devant être remplacé. Le nom de dossier ainsi obtenu dans cet exemple est VenMar192010094239.

    Exemple d'utilisation du module time de Python

  • Si vous calculez une valeur dans le modèle et souhaitez utiliser la valeur calculée avec des outils, tels que Zone tampon, qui nécessite une valeur de distance de la zone tampon ainsi qu'une unité linéaire, vous devez :

    • renvoyer l'unité linéaire du bloc de code avec la valeur de distance ;
    • modifier le type de données des valeurs renvoyées, comme indiqué ci-dessous ;
    • définir le paramètre Type de données sur Unité linéaire afin que le résultat de l'expression soit converti en valeur d'unité linéaire.
    Utilisation de la sortie Calculer une valeur comme distance de la zone tampon

  • Vous pouvez utiliser la sortie de l’outil Calculer une valeur directement dans tous les outils Spatial Analyst qui acceptent un raster ou une valeur constante, notamment Plus, Supérieur à et Inférieur à (ces outils se trouvent dans la boîte d’outils Spatial Analyst/le jeu d’outils Mathématiques). Pour utiliser la sortie de l'outil Calculer une valeur, modifiez le type de données en sortie en Raster (formule). Ce format de type de données en sortie est une surface raster dont les valeurs de cellule sont représentées par une formule ou une constante.

    Type de données Raster (formule)

  • Dans Python, une partie de la syntaxe est une indentation appropriée. Le niveau d'indentation (deux ou quatre espaces) importe peu tant qu'il est homogène dans tout le bloc de code.

  • Vous ne pouvez pas accéder aux variables de modèle dans le bloc de code. Ces variables doit être transmises au bloc de code à partir de l'expression. Pour ce faire, créez une définition dans le paramètre Bloc de code et référencez la définition dans la zone Expression.

  • Remarque :

    Lorsque vous écrivez des scripts Python, utilisez les instructions Python standard au lieu de l'outil Calculer une valeur.

Paramètres

ÉtiquetteExplicationType de données
Expression

Expression Python à résoudre.

SQL Expression
Bloc de code
(Facultatif)

Bloc de code Python. Le code du bloc peut être référencé dans le paramètre Expression.

String
Type de données
(Facultatif)

Spécifie le type de données de la sortie renvoyée à partir de l’expression Python. Ce paramètre doit être utilisé dans ModelBuilder pour faciliter l'enchaînement de l'outil Calculer une valeur avec d'autres outils.

  • Localisateur d’adressesLocalisateur d’adresses
  • Style de localisateur d'adressesStyle de localisateur d'adresses
  • Taille de cellule d'analyseTaille de cellule d'analyse
  • Couche d’annotationsCouche d’annotations
  • Toute valeurToute valeur
  • Document ArcMapDocument ArcMap
  • Unité surfaciqueUnité surfacique
  • Espace de travail de fichier BIMEspace de travail de fichier BIM
  • BooléenBooléen
  • Création de la couche de disciplineCréation de la couche de discipline
  • Création de la couche de scène de disciplineCréation de la couche de scène de discipline
  • Construction de la coucheConstruction de la couche
  • Création de la couche de scèneCréation de la couche de scène
  • Jeu de données de dessin DAOJeu de données de dessin DAO
  • Expression de la calculatriceExpression de la calculatrice
  • Racine du catalogueRacine du catalogue
  • Taille de celluleTaille de cellule
  • Taille de cellule XYTaille de cellule XY
  • Couche compositeCouche composite
  • CompressionCompression
  • Système de coordonnéesSystème de coordonnées
  • Dossier des systèmes de coordonnéesDossier des systèmes de coordonnées
  • CouvertureCouverture
  • Classe d'entités de couvertureClasse d'entités de couverture
  • Elément de donnéesElément de données
  • Fichier de donnéesFichier de données
  • Connexions aux bases de donnéesConnexions aux bases de données
  • Jeu de donnéesJeu de données
  • DateDate
  • Table dBASETable dBASE
  • EliminerEliminer
  • Couche de diagrammeCouche de diagramme
  • Couche de dimensionsCouche de dimensions
  • Connexion de disqueConnexion de disque
  • DoubleDouble
  • Couche de surface d’altitudeCouche de surface d’altitude
  • Chaîne chiffréeChaîne chiffrée
  • EnveloppeEnveloppe
  • Echelle d'évaluationEchelle d'évaluation
  • ÉtendueÉtendue
  • Extraire des valeursExtraire des valeurs
  • Classe d’entitésClasse d’entités
  • Jeu de classes d'entitésJeu de classes d'entités
  • Couche d’entitésCouche d’entités
  • Jeu d’entitésJeu d’entités
  • ChampChamp
  • Informations de champInformations de champ
  • Appariements de champsAppariements de champs
  • FichierFichier
  • DossierDossier
  • Raster (formule)Raster (formule)
  • Fonction de recherche approximativeFonction de recherche approximative
  • Serveur de géodonnéesServeur de géodonnées
  • Jeu de données géographiquesJeu de données géographiques
  • Réseau géométriqueRéseau géométrique
  • Couche géostatistiqueCouche géostatistique
  • Voisinage de recherche géostatistiqueVoisinage de recherche géostatistique
  • Table de valeurs géostatistiquesTable de valeurs géostatistiques
  • Serveur de globeServeur de globe
  • Serveur de géotraitementServeur de géotraitement
  • DiagrammeDiagramme
  • Table de données de diagrammeTable de données de diagramme
  • Groupe de couchesGroupe de couches
  • Facteur horizontalFacteur horizontal
  • Service d\\’imagerieService d\\’imagerie
  • IndexIndex
  • Expression INFOExpression INFO
  • Elément INFOElément INFO
  • Table INFOTable INFO
  • Couche Internet tuiléeCouche Internet tuilée
  • Couche KMLCouche KML
  • Jeu de données LASJeu de données LAS
  • Couche du jeu de données LASCouche du jeu de données LAS
  • CoucheCouche
  • Fichier de couchesFichier de couches
  • Mise en pageMise en page
  • LigneLigne
  • Unité linéaireUnité linéaire
  • LongLong
  • Domaine MDomaine M
  • CarteCarte
  • Serveur de carteServeur de carte
  • Couche de serveur de carteCouche de serveur de carte
  • MosaïqueMosaïque
  • Couche de mosaïqueCouche de mosaïque
  • QuartierQuartier
  • Appariement des champs de classe Network AnalystAppariement des champs de classe Network Analyst
  • Paramètres de hiérarchie Network AnalystParamètres de hiérarchie Network Analyst
  • Couche Network AnalystCouche Network Analyst
  • Source de données réseauSource de données réseau
  • Jeu de données réseauJeu de données réseau
  • Couche du jeu de données réseauCouche du jeu de données réseau
  • Mode de déplacement réseauMode de déplacement réseau
  • Atelier parcellaireAtelier parcellaire
  • Atelier parcellaire pour ArcMapAtelier parcellaire pour ArcMap
  • Couche d'atelier parcellaire pour ArcMapCouche d'atelier parcellaire pour ArcMap
  • Couche de parcelleCouche de parcelle
  • PointPoint
  • PolygonePolygone
  • Fichier de projectionFichier de projection
  • PyramidePyramide
  • RayonRayon
  • Générateur de nombres aléatoiresGénérateur de nombres aléatoires
  • Bande rasterBande raster
  • Expression de la calculatrice rasterExpression de la calculatrice raster
  • Catalogue d’imagesCatalogue d’images
  • Couche du catalogue d'imagesCouche du catalogue d'images
  • Couche de données rasterCouche de données raster
  • Jeu de données rasterJeu de données raster
  • Couche rasterCouche raster
  • Statistiques rasterStatistiques raster
  • Type de rasterType de raster
  • Jeu d’enregistrementsJeu d’enregistrements
  • Classe de relationsClasse de relations
  • ClassificationClassification
  • RapportRapport
  • Propriétés des événements de mesures d'itinérairesPropriétés des événements de mesures d'itinéraires
  • Couche de scèneCouche de scène
  • Semi-variogrammeSemi-variogramme
  • ServerConnectionServerConnection
  • Fichier de formesFichier de formes
  • Référence spatialeRéférence spatiale
  • Expression SQLExpression SQL
  • ChaîneChaîne
  • Chaîne masquéeChaîne masquée
  • TableTable
  • Vue tabulaireVue tabulaire
  • Couche de MNTCouche de MNT
  • Fichier texteFichier texte
  • Taille de tuileTaille de tuile
  • Configuration de tempsConfiguration de temps
  • Unités de tempsUnités de temps
  • TINTIN
  • Couche du TINCouche du TIN
  • OutilOutil
  • Boîte d’outilsBoîte d’outils
  • Entités topologiquesEntités topologiques
  • TopologieTopologie
  • Couches topologiqueCouches topologique
  • Réseau de tracesRéseau de traces
  • Couche de réseau de traçagesCouche de réseau de traçages
  • Fonction de transformationFonction de transformation
  • Réseau de distributionRéseau de distribution
  • Couche de réseau de distributionCouche de réseau de distribution
  • VarianteVariante
  • Couche de tuiles vectoriellesCouche de tuiles vectorielles
  • Facteur verticalFacteur vertical
  • Couche voxelCouche voxel
  • Couverture VPFCouverture VPF
  • Tableau VPFTableau VPF
  • Couverture WCSCouverture WCS
  • Table de superposition pondéréeTable de superposition pondérée
  • Somme pondéréeSomme pondérée
  • Carte WMSCarte WMS
  • Couche WMTSCouche WMTS
  • Espace de travailEspace de travail
  • Domaine XYDomaine XY
  • Domaine ZDomaine Z
String

Sortie obtenue

ÉtiquetteExplicationType de données
Valeur

Valeur calculée.

Élément de données ; couche ; vue tabulaire

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui