3 votos

¿Script VB o Python para calculadora de campo cuando se utiliza mayor/menor que?

Lo que tengo: Tengo 4 campos para mis rangos de direcciones. L_ADD_FROM, R_ADD_FROM, L_ADD_TO & R_ADD_TO (todos en tipo de campo DOBLE).

Lo que necesito: El valor menor de L_ADD_FROM y R_ADD_FROM para rellenar un campo llamado FROMADDRESS.

He buscado mucho, probando con Python y VB Script sin mucha suerte. ¿Cuál es el mejor método para esto?

enter image description here

6voto

Aaron Puntos 25882

El siguiente método, que utiliza el analizador sintáctico de Python, selecciona la opción min de una lista de valores de entrada.

min(!L_ADD_FROM!, !R_ADD_FROM!)

enter image description here

enter image description here

3voto

mercator Puntos 16196

Haga clic con el botón derecho del ratón en DOMICILIODEDE, ya que desea rellenarlo, y abra la Calculadora de campos.

  • Compruebe el Python botón

  • Consulte Mostrar Codeblock

Ahora, en el área más grande insertarás esta función:

def findSmallest(l_add, r_add):
    if l_add < r_add:
        return l_add
    else:
        return r_add

Y en la parte más pequeña debajo del "código script pre-lógico" llamarás a esa función, así:

findSmallest(!L_ADD_FROM!, !R_ADD_FROM!)

Esto iterará a través de cada fila de la tabla y pondrá el valor de R_ADD_FROM en l_añadir y el valor de R_ADD_FROM en r_add y comparará ambos. Si l_add es menor, escribirá ese valor en FROMADDRESS (es decir, escribirá devolver ), y si no lo es (es decir, si es mayor), devolverá el otro valor.

No hay bien ni mal. Seguramente podría hacer esto con VB Script, pero entrar en Python es un movimiento más inteligente, ya que es (convirtiéndose en) la lingua franca de secuencias de comandos GIS.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X