Skip to main content

Ejemplos de expresiones de zonas de influencia para ArcGIS Enterprise 10.5 y 10.5.1

Introducir valores o usar un campo no son las únicas formas de especificar el tamaño de una zona de influencia con 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 también cálculos simples y avanzados que se apliquen a todos los registros. Este cálculo se aplica a cada entidad. Las siguientes secciones incluyen ejemplos del uso de una expresión de zona de influencia. Se realizan cálculos cuando el análisis se ejecuta en ArcGIS GeoAnalytics Server.

En ArcGIS Enterprise 10.6 y posteriores, las expresiones se formatean usando Arcade Expressions. Más información sobre las expresiones de Arcade y sobre Arcade Expressions con GeoAnalytics Server y 10.6 y posteriores.

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

Cálculos simples

Ejemplos de matemática sencillos

Las expresiones de zona de influencia pueden procesar números matemáticamente.

Operador

Explicación

Ejemplo

Resultado

a + b

a más b

fieldname contiene un valor de 1,5

["fieldname"] + 2,5

4.0

a - b

a menos b

fieldname contiene un valor de 3,3

["fieldname"]- 2,2

1.1

a * b

a multiplicado por b

fieldname contiene un valor de 2,0

["fieldname"] * 2,2

4.4

a/b

a dividido por b

fieldname contiene un valor de 4,0

["fieldname"] / 1,25

3.2

abs( a )

Devuelve el valor absoluto (positivo) de a.

fieldname contiene un valor de -1,5

abs(["fieldname"])

1.5

log ( a )

Devuelve el logaritmo natural (base e) de a.

fieldname contiene un valor de 1

log(["fieldname"])

0

sin ( a )

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

fieldname contiene un valor de 1,5707

sin(["fieldname"])

1

cos( a )

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

fieldname contiene un valor de 0

cos(["fieldname"])

1

tan( a )

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

fieldname contiene un valor de 0

tan(["fieldname"])

0

sqrt( a )

Devuelve la raíz cuadrada de a.

fieldname contiene un valor de 9

sqrt(["fieldname"])

3

min( a, b )

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

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

min(["fieldname"], -3)

-3

max( a, b )

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

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

max(["fieldname1"], ["fieldname2"])

1.5

Multiplicación

["Distance"] * 2

Funciones integradas para GeoAnalytics Tools

Ejemplos de la función Como distancia

Las expresiones de zona de influencia pueden convertir valores numéricos a una distancia lineal.

Función

Explicación

Ejemplo

Resultado

as_meters( )

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( )

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( )

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( )

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( )

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( )

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 Distance, presuponiendo que está en kilómetros, y sume 10 metros.

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

Funciones avanzadas integradas 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 de zona de influencia.

Función

Explicación

Ejemplo

Resultado

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, comprueba 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 conditional val.

  • result: el resultado si el caso correspondiente coincide con 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 es true, devuelve 1. Si es false, compara la igualdad entre field1 + 3 y field2. Si es true, devuelve 2; de lo contrario, devuelve 0.

Las declaraciones condicionales pueden usar los siguientes operadores:

Operador

Explicación

Ejemplo

Resultados

a > b

a < b

a es mayor que b.

a es menor que b.

10 > 2

False

a >= b

a <= b

a es mayor o igual que b.

a es menor o igual que b.

abs(-10) >= 10

True

a != b

a no es igual que b.

abs(-3) != -3

True

a == b

a es igual que b.

abs(-5) == 5

True

OR

Se cumple la condición uno o la condición dos.

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

True

AND

Se cumplen la condición uno y la condición dos.

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

False