Wert berechnen (ModelBuilder)

Zusammenfassung

Gibt einen auf einem angegebenen Python-Ausdruck basierenden Wert zurück.

Verwendung

  • Dieses Werkzeug ist nur für die Verwendung in ModelBuilder, nicht in Python-Skripten vorgesehen.

  • Der Parameter Datentyp wird in ModelBuilder verwendet, um die Ausgabe des Werkzeugs Wert berechnen mit anderen Werkzeugen verketten zu können. Wenn Sie das Werkzeug Wert berechnen z. B. zum Berechnen einer Entfernung als Eingabe für den Parameter Pufferabstand des Werkzeugs Puffer verwenden, können Sie für den Parameter Datentyp "Lineare Einheit" angeben.

  • In ModelBuilder erstellte Variablen können in diesem Werkzeug verwendet werden, Variablen für den Parameter "Ausdruck" können jedoch nicht mit dem Werkzeug Wert berechnen verbunden werden. Wenn Sie diese im Ausdruck verwenden möchten, setzen Sie den Variablennamen in Prozentzeichen (%). Wenn Sie beispielsweise die Variable "Eingabe" durch 100 dividieren möchten, muss der Ausdruck %Eingabe%/100 lauten.

    Hinweis: Wenn im oben aufgeführten Ausdruck Eingabe = 123 ist, gibt der Ausdruck 1 zurück. Um Dezimalstellen zu erhalten, fügen Sie den Werten im Ausdruck Dezimalstellen hinzu. Beispiel: %Eingabe%/100,00 gibt 1,23 zurück. Die Abbildung unten veranschaulicht ein weiteres Beispiel für die Verwendung von Eigenschaften im Ausdruck.

    Verwendung einer Modellvariablen im Werkzeug "Wert berechnen"
    Vorsicht:

    Direkte Variablen vom Typ "Zeichenfolge" müssen in Ausdrücken in Anführungszeichen eingeschlossen werden ("%Zeichenfolgevariable%"). Für direkte Variablen mit numerischen Typen ("Double", "Long") sind keine Anführungszeichen erforderlich (%Double%).

  • Ausdrücke können nur in einem Standard-Python-Format erstellt werden. Andere Skriptsprachen werden nicht unterstützt.

  • Mit dem Werkzeug Wert berechnen können einfache mathematische Ausdrücke ausgewertet werden. Beispiel:

    • 3+5
    • 9*8
    • 4+(9/3)
  • Mit dem Werkzeug Wert berechnen kann das math-Modul von Python zur Durchführung komplexer mathematischer Operationen eingesetzt werden. Zum Aufrufen des mathematischen Moduls muss der gewünschten Funktion math vorangestellt werden. Beispiel:

    • math.sqrt(25)
    • math.cos(0.5)
  • Das math-Modul unterstützt außerdem Konstanten. Beispiel:

    • math.pi
  • Das Modul random wird zum Erstellen zufälliger Zahlen unterstützt. Es folgen einige Beispiele für die Verwendung des Moduls random:

    • Berechnen Sie einen zufälligen ganzzahligen Wert zwischen 0 und 10: random.randint(0, 10)
    • Berechnung eines von einer Normalverteilung mit einem Mittelwert von 10 und einer Standardabweichung von 3 abgeleiteten Zufallswertes: random.normalvariate(10, 3)

    Ältere Versionen:

    arcgis.rand() wird ab ArcGIS Pro 2.0 nicht mehr unterstützt. Stattdessen sollten vergleichbare Funktionen unter Verwendung des random-Moduls von Python verwendet werden. Um das random-Modul erfolgreich zu verwenden, fügen Sie es als Import in den Parameter Code-Block ein.

  • Am Allgemeinen geben Sie die Ausdrücke im Parameter Ausdruck ein. Für kompliziertere Ausdrücke, wie zum Beispiel mehrzeilige Berechnungen oder logische Operationen ("if", "then"), muss der Codeblock-Parameter verwendet werden. Der Codeblock-Parameter kann nicht alleine verwendet werden. Er muss in Verbindung mit dem Parameter Ausdruck eingesetzt werden.

  • Der Ausdruck kann auf die im Code-Block-Parameter definierten Variablen verweisen.

    Verwendung von "Ausdruck" und "Code-Block"

  • Funktionen können im Code-Block-Parameter definiert und im Ausdruck aufgerufen werden. Im folgenden Beispiel gibt die Funktion auf der Grundlage eines Zufallseingabewertes eine Windrichtungszeichenfolge zurück. In Python werden Funktionen mit dem Schlüsselwort def definiert, auf das der Name der Funktion und die Eingabeparameter der Funktion folgen. In diesem Fall lautet die Funktion getWind und sie umfasst einen einzelnen Parameter mit dem Namen wind. Werte werden von einer Funktion mit dem Schlüsselwort return zurückgegeben.

    Definieren von Funktionen im Codeblock
  • Sie können eine Variable im Parameter Ausdruck übergeben und im Codeblock die If-Else-Logik für direkte Variablen verwenden. Im Codeblock wird überprüft, ob die Variable Input Cell Size leer ist, und dann wird je nach Bedingung ein Wert zurückgegeben.

    Beispiel für Verwendung von "If-Else"

  • Python-Methoden können direkt im Parameter "Ausdruck" des Werkzeugs verwendet werden. Wenn beispielsweise ein Eingabewert mit Dezimalstellen (in diesem Fall der Feldwert der Eingabetabelle) vorliegt und Sie den Wert über die direkte Variablenersetzung im ausgegebenen Namen eines anderen Werkzeugs verwenden möchten, können Sie den Dezimalwert im Ausdruck des Werkzeugs Wert berechnen mit der replace-Methode von Python ersetzen.

    Beispiel für die replace-Methode von Python

  • Im Parameter "Codeblock" können Python-Module aufgerufen und Methoden wie "replace" kombiniert oder gestapelt werden. Im folgenden Beispiel wird das time-Modul in den Codeblock importiert, der wiederum das aktuelle Datum und die Uhrzeit zurückgibt, z. B. Fri Mar 19 2010 09:42:39. Dieser zurückgegebene Wert wird im Werkzeug Ordner erstellen als Name für den Ordner verwendet. Da der Name des Ordners keine Leerzeichen oder Interpunktionszeichen enthalten darf, wird die Methode replace von Python für jedes zu ersetzende Element gestapelt. Der Name des Ordners in diesem Beispiel lautet daher FriMar192010094239.

    Beispiel für das time-Modul in Python

  • Wenn Sie im Modell einen Wert berechnen und den berechneten Wert in Werkzeugen wie Puffer verwenden möchten, die sowohl einen Wert für den Pufferabstand als auch eine lineare Einheit erfordern, müssen Sie wie folgt vorgehen:

    • Geben Sie die lineare Einheit im Codeblock zusammen mit dem Distanzwert zurück.
    • Ändern Sie den Datentyp der zurückgegebenen Werte wie unten dargestellt.
    • Legen Sie den Parameter für den Datentyp auf "Lineare Einheit" fest, sodass das Ergebnis des Ausdrucks in eine lineare Einheit konvertiert wird.
    Verwendung des ausgegebenen berechneten Wertes als Pufferabstand

  • Sie können die Ausgabe des Werkzeugs Wert berechnen direkt in einem beliebigen Werkzeug von Spatial Analyst verwenden, das ein Raster oder einen konstanten Wert akzeptiert, z. B. Plus, Greater Than und Less Than (diese Werkzeuge befinden sich in der Toolbox Spatial Analyst/Toolset "Mathematik"). Um die Ausgabe von Wert berechnen zu verwenden, ändern Sie den Ausgabedatentyp in "Formuliertes Raster". Dieses Format des Ausgabedatentyps ist eine Raster-Oberfläche, deren Zellenwerte durch eine Formel oder eine Konstante angegeben werden.

    Datentyp "Formuliertes Raster"

  • In Python bilden richtige Einrückungen einen wichtigen Teil der Syntax. Die Einzugsebene (zwei oder vier Leerstellen) spielt keine Rolle, solange sie innerhalb des Codeblocks einheitlich ist.

  • Vom Code-Block kann nicht auf Modellvariablen zugegriffen werden. Solche Variablen müssen vom Ausdruck an den Codeblock übergeben werden. Dies kann durch Erstellen einer Definition im Codeblock und Verweisen auf die Definition im Feld Ausdruck erzielt werden.

  • Hinweis:

    Wenn Sie Python-Skripte erstellen, verwenden Sie statt des Werkzeugs Wert berechnen die Python-Standardanweisungen.

Syntax

CalculateValue(expression, {code_block}, {data_type})
ParameterErklärungDatentyp
expression

Der auszuwertende Python-Ausdruck.

SQL Expression
code_block
(optional)

Ein Python-Code-Block. Der Ausdruck im Parameter Ausdruck kann auf Code im Code-Block verweisen.

String
data_type
(optional)

Gibt den Datentyp der Ausgabe an, die vom Python-Ausdruck zurückgegeben wird. Verwenden Sie diesen Parameter in ModelBuilder, um das Werkzeug Wert berechnen mit anderen Werkzeugen verketten zu können.

  • Address Locator —Adressen-Locator
  • Address Locator Style —Adressen-Locator-Style
  • Analysis cell size —Zellengröße für Analyse
  • Any value —Beliebiger Wert
  • ArcMap Document —ArcMap-Dokument
  • Areal unit —Flächeneinheit
  • Boolean —Boolean
  • CAD Drawing Dataset —CAD-Zeichnungs-Dataset
  • Calculator Expression —Berechnungsausdruck
  • Catalog Root —Katalog-Stammverzeichnis
  • Cell Size —Zellengröße
  • Cell Size XY —Zellengröße XY
  • Composite Layer —Verbund-Layer
  • Compression —Komprimierung
  • Coordinate System —Koordinatensystem
  • Coordinate Systems Folder —Koordinatensystem-Ordner
  • Coverage —Coverage
  • Coverage Feature Class —Coverage-Feature-Class
  • Data Element —Datenelement
  • Data File —Datendatei
  • Database Connections —Datenbankverbindungen
  • Dataset —Dataset
  • Date —Datum
  • dBASE Table —dBASE-Tabelle
  • Decimate —Verringern
  • Disk Connection —Laufwerkverbindung
  • Double —Double
  • Encrypted String —Verschlüsselte Zeichenfolge
  • Envelope —Envelope
  • Evaluation Scale —Auswertungsmaßstab
  • Extent —Ausdehnung
  • Extract Values —Werte extrahieren
  • Facility Network —Einrichtungs-Netzwerk
  • Feature Class —Feature-Class
  • Feature Dataset —Feature-Dataset
  • Feature Layer —Feature-Layer
  • Feature Set —Feature Set
  • Field —Feld
  • Field Info —Feld-Info
  • Field Mappings —Feldzuordnung
  • File —Datei
  • Folder —Ordner
  • Formulated Raster —Formuliertes Raster
  • Fuzzy function —Fuzzy-Funktion
  • GeoDataServer —GeoDataServer
  • Geodataset —Geodataset
  • Geometric Network —Geometrisches Netzwerk
  • Geostatistical Layer —Geostatistischer Layer
  • Geostatistical Search Neighborhood —Geostatistical Search Neighborhood
  • Geostatistical Value Table —Geostatistische Wertetabelle
  • GlobeServer —GlobeServer
  • GPServer —GPServer
  • Graph —Diagramm
  • Graph Data Table —Datentabelle des Diagramms
  • Group Layer —Gruppen-Layer
  • Horizontal factor —Horizontaler Faktor
  • Image Service —Image-Service
  • Index —Index
  • INFO Expression —INFO-Ausdruck
  • INFO Item —INFO-Feld
  • INFO Table —INFO-Tabelle
  • Internet Tiled Layer —Gekachelter Internet-Layer
  • LAS Dataset —LAS-Dataset
  • LAS Dataset Layer —LAS-Dataset-Layer
  • Layer —Layer
  • Layer File —Layer-Datei
  • Line —Linie
  • Linear unit —Lineare Einheit
  • Long —Long
  • M Domain —M-Domäne
  • Map —Karte
  • Map Server Layer —Kartenserver-Layer
  • MapServer —MapServer
  • Mosaic Dataset —Mosaik-Dataset
  • Mosaic Layer —Mosaik-Layer
  • Neighborhood —Nachbarschaft
  • Network Analyst Class FieldMap —Feldzuordnung der Network Analyst Class
  • Network Analyst Hierarchy Settings —Hierarchie-Einstellungen für Network Analyst
  • Network Analyst Layer —Network Analyst-Layer
  • Network Dataset —Netzwerk-Dataset
  • Network Dataset Layer —Netzwerk-Dataset-Layer
  • Parcel Fabric —Parcel-Fabric
  • Parcel Fabric Layer —Parcel-Fabric-Layer
  • Point —Punkt
  • Polygon —Polygon
  • Projection File —Projektionsdatei
  • Pyramid —Pyramide
  • Radius —Radius
  • Random Number Generator —Zufallszahlengenerator
  • Raster Band —Raster-Band
  • Raster Calculator Expression —Raster-Berechnungsausdruck
  • Raster Catalog —Raster-Katalog
  • Raster Catalog Layer —Raster-Katalog-Layer
  • Raster Data Layer —Raster-Daten-Layer
  • Raster Dataset —Raster-Dataset
  • Raster Layer —Raster-Layer
  • Raster Statistics —Raster-Statistiken
  • Raster Type —Raster-Typ
  • Record Set —Datensatz
  • Relationship Class —Beziehungsklasse
  • Remap —Neuzuordnung
  • Route Measure Event Properties —Routenmesswert-Ereigniseigenschaften
  • Schematic Dataset —Schematic-Dataset
  • Schematic Diagram —Schematic-Diagramm
  • Schematic Diagram Class —Schematic Diagram Class
  • Schematic Folder —Schematic-Ordner
  • Schematic Layer —Schematic-Layer
  • SemiVariogram —Semivariogramm
  • ServerConnection —ServerConnection
  • Shapefile —Shapefile
  • Spatial Reference —Raumbezug
  • SQL Expression —SQL-Ausdruck
  • String —Zeichenfolge
  • String Hidden —Zeichenfolge ausgeblendet
  • Table —Tabelle
  • Table View —Tabellensicht
  • Terrain Layer —Terrain-Layer
  • Text File —Textdatei
  • Tile Size —Kachelgröße
  • Time configuration —Zeitkonfiguration
  • Time unit —Zeiteinheit
  • TIN —TIN
  • TIN Layer —TIN-Layer
  • Tool —Werkzeug
  • Toolbox —Toolbox
  • Topo features —Topo-Features
  • Topology —Topologie
  • Topology Layer —Topologie-Layer
  • Transformation function —Transformationsfunktion
  • Variant —Variant
  • Vertical factor —Vertikaler Faktor
  • VPF Coverage —VPF-Coverage
  • VPF Table —VPF-Tabelle
  • WCS Coverage —WCS-Coverage
  • Weighted Overlay Table —Gewichtungsüberlagerungstabelle
  • Weighted Sum —Gewichtete Summe
  • WMS Map —WMS-Karte
  • Workspace —Workspace
  • XY Domain —XY-Domäne
  • Z Domain —Z-Domäne
String

Abgeleitete Ausgabe

NameErklärungDatentyp
value

Der berechnete Wert.

Datenelement; Layer; Tabellensicht

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja