Skip To Content

Usar expresiones con GeoAnalytics Tools

Existen varias herramientas en la caja de herramientas GeoAnalytics Tools que le permiten aplicar una expresión. Las herramientas siguientes tienen la opción de aplicar una expresión:

Las GeoAnalytics Tools que utilizan expresiones tienen distintos usos, así como limitaciones sobre las expresiones que se pueden aplicar.

Reconstruir recorridos y Crear zonas de influencia

Las expresiones de zona de influencia se usan en las herramientas Reconstruir recorridos y Crear zonas de influencia.

Los tamaños de las zonas de influencia se suelen introducir utilizando constantes o valores de campos. No obstante, la introducción de valores no es la única forma en la que puede especificar el tamaño de una zona de influencia utilizando GeoAnalytics Tools. En algunos casos, puede que desee realizar un cálculo matemático para establecer el tamaño de la zona de influencia. Puede realizar cálculos simples y avanzados que se aplican a todos los registros. El cálculo se aplica a cada entidad que se analiza. Los cálculos se realizan cuando se ejecuta el análisis en su ArcGIS GeoAnalytics Server.

En las expresiones de zona de influencia se pueden utilizar cálculos simples y todas las funciones incorporadas.

En las secciones de abajo se incluyen ejemplos de expresiones de zonas de influencia.

Unir entidades

En la herramienta Unir entidades se utilizan expresiones para especificar las condiciones de unión.

En algunos casos, puede que desee especificar una condición para seleccionar entidades que deben incluirse en la unión. Puede realizar condiciones de unión simples (como, por ejemplo, field a > field c) y condiciones avanzadas. Las condiciones se prueban con cada entidades para determinar qué es lo que se analiza. Los cálculos se realizan cuando se ejecuta el análisis en su ArcGIS GeoAnalytics Server.

En las expresiones de condiciones de unión se pueden utilizar cálculos simples y las funciones incorporadas avanzadas para crear las condiciones. En las condiciones de unión no se puede utilizar la función as_distance. Una condición de unión siempre debe dar un resultado verdadero o falso.

En las secciones de abajo se incluyen ejemplos de expresiones.

Cálculos simples

Ejemplos de matemática sencillos

Las herramientas Reconstruir recorridos y Crear zonas de influencia pueden procesar números automáticamente.

La herramienta Unir entidades puede utilizar operaciones matemáticas al crear condiciones de unión.

OperadorExplicaciónEjemploResultado

a + b

a más b

["fieldname"] + 2.5

fieldname contiene un valor de 1,5

4.0

a - b

a menos b

["fieldname"]- 2.2

fieldname contiene un valor de 3,3

1.1

a * b

a multiplicado por b

["fieldname"] * 2.2

fieldname contiene un valor de 2,0

4.4

a / b

a dividido por b

["fieldname"] / 1.25

fieldname contiene un valor de 4,0

3.2

abs( a )

Devuelve el valor absoluto (positivo) de a.

abs(["fieldname"])

fieldname contiene un valor de -1,5

1.5

log ( a )

Devuelve el logaritmo natural (e base) de a.

log(["fieldname"])

fieldname contiene un valor de 1

0

sin ( a )

Devuelve el seno trigonométrico de a. Se presupone que la entrada es un ángulo en radianes.

sin(["fieldname"])

fieldname contiene un valor de 1,5707

1

cos( a )

Devuelve el coseno trigonométrico de a. Se presupone que la entrada es un ángulo en radianes.

cos(["fieldname"])

fieldname contiene un valor de 0

1

tan( a )

Devuelve la tangente de a. Se presupone que la entrada es un ángulo en radianes.

tan(["fieldname"])

fieldname contiene un valor de 0

0

sqrt( a )

Devuelve la raíz cuadrada de a.

sqrt(["fieldname"])

fieldname contiene un valor de 9

3

min( a, b )

Devuelve el número que tenga el valor más bajo de a y b.

min("fieldname", -3)

fieldname contiene un valor de 1,5 y un valor de -3

-3

max( a, b )

Devuelve el número que tenga el valor más alto de a o b.

max("fieldname1", "fieldname2")

fieldname1 contiene un valor de 1,5 y fieldname2 contiene un valor de -3

1.5

Ejemplo de multiplicación para una expresión de zona de influencia

["Distance"] * 2

Ejemplo de multiplicación para una expresión de condición de unión

["Distance"] * 2 > 5

Funciones integradas para GeoAnalytics Tools

Ejemplos de la función As distance

Las funciones de as distance proyectan valores numéricos en una distancia lineal que, a continuación, se puede utilizar en una expresión matemática.

En las herramientas Reconstruir recorridos y Crear zonas de influencia se pueden utilizar las funciones de as distance. Si se utiliza un valor numérico sin una función de as distance, se asume que la unidad se expresará en metros.

En la herramienta Unir entidades no se pueden utilizar las funciones de as distance.

FunciónExplicaciónEjemploResultado

as_meters( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en metros.

as_meters( ["fieldname"] )

as_meters(150)

Los resultados se incluyen en una zona de influencia de 150 metros.

as_kilometers( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en kilómetros.

as_kilometers( ["fieldname"] )

as_kilometers(150)

Los resultados se incluyen en una zona de influencia de 150 kilómetros.

as_feet( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en pies.

as_feet( ["fieldname"] )

as_feet(150)

Los resultados se incluyen en una zona de influencia de 150 pies.

as_yards( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en yardas.

as_yards( ["fieldname"] )

as_yards(150)

Los resultados se incluyen en una zona de influencia de 150 yardas.

as_nautical_miles( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en millas náuticas.

as_nautical_miles( ["fieldname"] )

as_nautical_miles(150)

Los resultados se incluyen en una zona de influencia de 150 millas náuticas.

as_miles( <value> )

Aplica un cálculo presuponiendo que los valores de entrada están en millas.

as_miles( ["fieldname"] )

as_miles(150)

Los resultados se incluyen en una zona de influencia de 150 millas.

Para cada entidad, multiplique el campo Distancia presuponiendo que está en kilómetros y sume 10 metros para una expresión de zona de influencia.

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

Funciones integradas avanzadas para expresiones de zona de influencia de GeoAnalytics Tools

Además de las expresiones matemáticas sencillas, se pueden usar funciones más avanzadas para aplicar expresiones y condiciones de unión de zona de influencia.

En las herramientas Reconstruir recorridos y Crear zonas de influencia se pueden utilizar funciones avanzadas.

En la herramienta Unir entidades se pueden utilizar operaciones avanzadas al crear condiciones de unión.

FunciónExplicaciónEjemploResultado

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

Devuelve el valor de entrada si está contenido en los límites de la restricción. Si el valor es menor que el valor bajo, devuelve el valor bajo. Si el valor es mayor que el valor alto, devuelve el valor alto.

constrain( distance, 0, 10)

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

Devuelve 0 si distance es menor que 0, 10 si distance es mayor que 10 y distance en los demás casos.

Devuelve 6 si Store dist es menor que 6, distance si Store dist es mayor que distance y Store dist en los demás casos.

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

Devuelve un valor si una condición es true y otro valor si esa condición es false.

<true value> y <false value> pueden ser lo siguiente:

  • Un campo numérico. Si hay un espacio en el nombre del campo, use corchetes.
  • Un número.
  • Una función.

iff(field1 > field2, field1, 0)

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

Devuelve field1 si field1 es mayor que field2 y 0 en los demás casos.

Devuelve el resultado de la segunda función iff si field1 es mayor que field2 y 0 en los demás casos.

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

Evalúa una serie de expresiones sucesivamente hasta que una se evalúa como true.

  • expression: una expresión.
  • result: puede ser un número o un campo.
  • default: valor opcional si no coincide ninguna de las expresiones.

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

Si field1 + 10 es mayor que 1, devuelve 1. Si no, compruebe si field2 + 10 es mayor que 2. Si es así, devuelve 2. Si no, devuelve field3.

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

La función decode evalúa una expresión y compara su valor con los parámetros subsiguientes. Si la expresión coincide, devuelve el valor del siguiente parámetro. Si ninguno coincide, existe la opción de que el último parámetro sea un valor de devolución predeterminado.

  • conditional val: puede ser un campo o una expresión.
  • case: un valor para compararlo con el conditional val.
  • result: el resultado si el caso correspondiente coincide con el conditional val.
  • defaultValue: un valor opcional si ningún otro valor es true.

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

Compara la igualdad entre el valor condicional field1 + 3 y case1 field1. Si true, devuelve 1. Si false, compara la igualdad entre field1 + 3 y field2. Si true, devuelve 2; de lo contrario, devuelve 0.

Las declaraciones condicionales pueden usar los siguientes operadores:

OperadorExplicaciónEjemploResultados

a > b

a < b

a es mayor que b

a es menor que b

10 > 2

Falso

a >= b

a <= b

a es mayor o igual que b

a es menor o igual que b

abs(-10) >= 10

Verdadero

a != b

a no es igual que b

abs(-3) != -3

Verdadero

a == b

a es igual que b

abs(-5) == 5

Verdadero

<condition1> OR <condition2>

se cumple la condición uno o la condición dos

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

Verdadero

<condition1> AND <condition2>

se cumplen la condición uno y la condición dos

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

Falso

Ejemplo de una expresión de zona de influencia en la que se utilizan funciones avanzadas y condiciones

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

Ejemplo de multiplicación para una condición de unión

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