Skip To Content

Verwenden von Ausdrücken mit GeoAnalytics Tools

Die Toolbox GeoAnalytics Tools enthält mehrere Werkzeuge, mit denen Sie einen Ausdruck anwenden können. Die folgenden Werkzeuge ermöglichen die Anwendung eines Ausdrucks:

Die GeoAnalytics Tools, die Ausdrücke verwenden, werden unterschiedlich genutzt und weisen Beschränkungen auf, auf die Ausdrücke angewendet werden können.

Spuren rekonstruieren und Puffer erstellen

Pufferausdrücke werden von den Werkzeugen Spuren rekonstruieren und Puffer erstellen verwendet.

Puffergrößen werden meist mit konstanten oder Feldwerte angegeben. Das Eingeben von Werten stellt jedoch nicht die einzige Möglichkeit dar, die Größe eines Puffers mit GeoAnalytics Tools anzugeben. In manchen Situationen möchten Sie möglicherweise eine mathematische Berechnung durchführen, um die Puffergröße festzulegen. Sie können einfache und erweiterte Berechnungen durchführen, die für alle Datensätze angewendet werden. Die Berechnung wird auf jedes Feature angewendet, das analysiert wird. Berechnungen werden vorgenommen, wenn Sie die Analyse auf dem ArcGIS GeoAnalytics Server durchführen.

Pufferausdrücke können einfache Berechnungen und alle integrierten Funktionen verwenden.

Die Abschnitte unten enthalten Beispiele für die Verwendung eines Pufferausdrucks.

Features verbinden

Ausdrücke werden im Werkzeug Features verbinden zum Festlegen von Verbindungsbedingungen verwendet.

In einigen Fällen kann es erforderlich sein, eine Bedingung festzulegen, um Features auszuwählen, die in die Verbindung aufgenommen werden sollten. Sie können einfache Verbindungsbedingungen (z. B. field a > field c) sowie erweiterte Bedingungen vornehmen. Die Bedingungen werden für jedes Feature getestet, um zu ermitteln, was analysiert wird. Berechnungen werden vorgenommen, wenn Sie die Analyse auf dem ArcGIS GeoAnalytics Server durchführen.

Ausdrücke für Verbindungsbedingungen können einfache Berechnungen und erweiterte integrierte Funktionen verwenden, um Bedingungen zu erstellen. Verbindungsbedingungen können die Funktion as_distance nicht verwenden. Das Ergebnis einer Verbindungsbedingung muss wahr oder falsch sein.

Die Abschnitte unten enthalten Beispiele für die Verwendung eines Ausdrucks.

Einfache Berechnungen

Einfache mathematische Beispiele

Mit den Werkzeugen Spuren rekonstruieren und Puffer erstellen können Zahlen mathematisch verarbeitet werden.

Mit dem Werkzeug Features verbinden können mathematische Operationen beim Erstellen von Verbindungsbedingungen herangezogen werden.

OperatorErklärungBeispielErgebnis

a + b

a plus b

["fieldname"] + 2.5

fieldname enthält den Wert 1,5

4.0

a - b

a minus b

["fieldname"]- 2.2

fieldname enthält den Wert 3,3

1,1

a * b

a multipliziert mit b

["fieldname"] * 2.2

fieldname enthält den Wert 2,0

4.4

a / b

a dividiert durch b

["fieldname"] / 1.25

fieldname enthält den Wert 4,0

3.2

abs( a )

Gibt den absoluten (positiven) Wert von a zurück.

abs(["fieldname"])

fieldname enthält den Wert -1,5

1.5

log ( a )

Gibt den natürlichen Logarithmus (Basis e) von a zurück.

log(["fieldname"])

fieldname enthält den Wert 1

0

sin ( a )

Gibt den trigonometrischen Sinus von a zurück. Von der Eingabe wird angenommen, dass es sich um einen Winkel in Radiant handelt.

sin(["fieldname"])

fieldname enthält den Wert 1,5707

1

cos( a )

Gibt den trigonometrischen Cosinus von a zurück. Von der Eingabe wird angenommen, dass es sich um einen Winkel in Radianten handelt.

cos(["fieldname"])

fieldname enthält den Wert 0

1

tan( a )

Gibt den Tangens von a zurück. Von der Eingabe wird angenommen, dass es sich um einen Winkel in Radiant handelt.

tan(["fieldname"])

fieldname enthält den Wert 0

0

sqrt( a )

Gibt die Quadratwurzel von a zurück.

sqrt(["fieldname"])

fieldname enthält den Wert 9

3

min( a, b )

Gibt von a und b die Zahl mit dem niedrigsten Wert zurück.

min("fieldname", -3)

fieldname enthält den Wert 1,5 und den Wert -3

-3

max( a, b )

Gibt von a oder b die Zahl mit dem höchsten Wert zurück.

max("fieldname1", "fieldname2")

fieldname1 enthält den Wert 1,5 und fieldname2 enthält den Wert -3

1.5

Multiplikationsbeispiel für einen Pufferausdruck

["Distance"] * 2

Multiplikationsbeispiel für den Pufferausdruck einer Verbindung

["Distance"] * 2 > 5

Integrierte Funktionen für GeoAnalytics Tools

Beispiele für die Funktion As distance

Mit den as distance-Funktionen werden numerische Werte in lineare Entfernungen umgewandelt, die anschließend in einem mathematischen Ausdruck verwendet werden können.

Die Werkzeuge Spuren rekonstruieren und Puffer erstellen können as distance-Funktionen verwenden. Bei Verwendung eines numerischen Wertes ohne as distance-Funktion wird Meter als Einheit vorausgesetzt.

Das Werkzeug Features verbinden kann keine as distance-Funktionen verwenden.

FunktionErklärungBeispielErgebnis

as_meters( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Meter vorliegen.

as_meters( ["fieldname"] )

as_meters(150)

Ergebnisse werden bei 150 m gepuffert.

as_kilometers( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Kilometer vorliegen.

as_kilometers( ["fieldname"] )

as_kilometers(150)

Ergebnisse werden bei 150 km gepuffert.

as_feet( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Fuß vorliegen.

as_feet( ["fieldname"] )

as_feet(150)

Ergebnisse werden bei 150 ft. gepuffert.

as_yards( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Yard vorliegen.

as_yards( ["fieldname"] )

as_yards(150)

Ergebnisse werden bei 150 yd. gepuffert.

as_nautical_miles( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Seemeilen vorliegen.

as_nautical_miles( ["fieldname"] )

as_nautical_miles(150)

Ergebnisse werden bei 150 sm gepuffert.

as_miles( <value> )

Wendet eine Berechnung unter der Annahme an, dass Eingabewerte in Meilen vorliegen.

as_miles( ["fieldname"] )

as_miles(150)

Ergebnisse werden bei 150 Meilen gepuffert.

Multiplizieren Sie für jedes Feature das Feld Entfernung unter der Annahme, dass es in Kilometer vorliegt, und addieren Sie 10 Meter.

as_kilometers(["Distance"]) * 3 + as_meters(10)

Erweiterte integrierte Funktionen für GeoAnalytics Tools-Pufferausdrücke

Außer einfachen mathematischen Ausdrücken können auch erweiterte Funktionen für die Anwendung von Pufferausdrücken und Verbindungsbedingungen verwendet werden.

Die Werkzeuge Spuren rekonstruieren und Puffer erstellen können erweiterte Funktionen verwenden.

Mit dem Werkzeug Features verbinden können erweiterte Operationen beim Erstellen von Verbindungsbedingungen herangezogen werden.

FunktionErklärungBeispielErgebnis

constrain(<value>,<low>,<high>)

Gibt den Eingabewert zurück, sofern dieser innerhalb der Grenzwerte liegt. Wenn der Wert kleiner als der niedrige Wert ist, wird der niedrige Wert zurückgegeben. Wenn der Wert größer als der hohe Wert ist, wird der hohe Wert zurückgegeben.

constrain( distance, 0, 10)

constrain(['Store dist'], 6, distance)

Gibt 0 zurück, wenn distance kleiner als 0 ist, 10, wenn distance größer als 10 ist, und ansonsten distance.

Gibt 6 zurück, wenn Store dist kleiner als 6 ist, distance, wenn Store dist größer als distance ist, und ansonsten Store dist.

iff(<condition>,<true value>,<false value>)

Gibt einen Wert zurück, wenn eine Bedingungsauswertung true ergibt, und einen anderen Wert, wenn die Bedingungsauswertung false ergibt.

<true value> und <false value> können Folgendes sein:

  • Ein numerisches Feld. Verwenden Sie eckige Klammern, wenn der Feldname ein Leerzeichen enthält.
  • Eine Zahl.
  • Eine Funktion.

iff(field1 > field2, field1, 0)

iff(field1 > field2, iff(field2 = 0, field3, field4), 0)

Gibt field1 zurück, wenn field1 größer als field2 ist, und ansonsten 0.

Gibt das Ergebnis der zweiten iff-Funktion zurück, wenn field1 größer als field2 ist, und ansonsten 0.

when(<expression1>, <result1>, <expression2>, <result2>, ... , <expressionN>, <resultN>, <default>)

Wertet nacheinander eine Reihe von Ausdrücken aus, bis eine Auswertung true ergibt.

  • expression: Ein Ausdruck.
  • result: Kann eine Zahl oder ein Feld sein.
  • default: Ein optionaler Wert, wenn keiner der Ausdrücke übereinstimmt.

when((field1 + 10) > 1, 1,(field2 + 10) > 2 , 2, field3)

Wenn field1 + 10 größer als 1 ist, wird 1 zurückgegeben. Falls nicht, wird überprüft, ob field2 + 10 größer als 2 ist. Falls ja, wird 2 zurückgegeben. Falls nicht, wird field3 zurückgegeben.

decode(<conditional val> , <case1> , <result1>, <case2>, <result2>, ... <caseN>, <resultN>, <defaultValue> )

Die Funktion decode wertet einen Ausdruck aus und vergleicht dessen Wert mit nachfolgenden Parametern. Wenn der Ausdruck übereinstimmt, wird der nächste Parameterwert zurückgegeben. Gibt es keine Übereinstimmung, kann der letzte Parameter als Standardrückgabewert verwendet werden.

  • conditional val: Kann ein Feld oder ein Ausdruck sein.
  • case: Ein Wert, der mit conditional val verglichen werden soll.
  • result: Das Ergebnis, wenn der entsprechende Fall mit conditional val übereinstimmt.
  • defaultValue: Ein optionaler Wert, wenn kein anderer Wert true ist.

decode(field1 + 3 , field1, 1, field2, 2, 0)

Überprüft den konditionalen Wert field1 + 3 und case1 field1 auf Gleichheit. Bei true wird 1 zurückgegeben. Bei false werden field1 + 3 und field2 auf Gleichheit überprüft. Bei true wird 2 zurückgegeben; ansonsten 0.

Konditionale Anweisungen können für die folgenden Operatoren verwendet werden:

OperatorErklärungBeispielErgebnisse

a > b

a < b

a ist größer als b

a ist kleiner als b

10 > 2

Falsch

a >= b

a <= b

a ist größer als oder gleich b

a ist kleiner als oder gleich b

abs(-10) >= 10

Wahr

a != b

a ist ungleich b

abs(-3) != -3

Wahr

a == b

a ist gleich b

abs(-5) == 5

Wahr

<condition1> OR <condition2>

Bedingung eins oder Bedingung zwei ist erfüllt

(abs(-5) == 5) OR (10 > 2)

Wahr

<condition1> AND <condition2>

Bedingung eins und Bedingung zwei sind erfüllt

(abs(-5) == 5) AND (10 < 2)

Falsch

Beispiel für einen Pufferausdruck unter Verwendung erweiterter Funktionen und Bedingungen

iff(field1 > field2, iff(field2 = 0, field3, field4), 0)

Multiplikationsbeispiel für den Pufferausdruck einer Verbindung

iff(field1 > field2, iff(field2 = 0, field3, field4), 0) > ["Distance"] * 2