4 votos

¿Utiliza las funciones de división y división de Python en la Calculadora de campo de ArcGIS?

Estoy tratando de llenar un campo con la última palabra en una cadena de dirección con la calculadora de campo dentro de ModelBuilder. Mi código se toma la totalidad de la cadena de dirección (1234 S Bretaña de la Ciudad Dr) como un parámetro, luego se divide en una lista y devuelve el último elemento de la lista:

def getSufDir( prop_location ):
    prop_location.strip()
    x = prop_location.split(' ')
    return x[len(x)-1]

Este código funciona para 433 de la 37.000 registros en la capa. Descubrí que los 433 expedientes de 25 caracteres (prop_location es de 25 caracteres máximo). Todos los demás registros de retorno en blanco. ¿Por qué está sucediendo esto? Estos fragmentos de código funciona correctamente en modo INACTIVO, pero devuelven valores en blanco para la mayoría de los registros cuando se realiza en la Calculadora de Campo. He adjuntado una imagen de mi calculadora de campo de la ventana de referencia.

enter image description here

Un ejemplo de una dirección que no está de proceso es 6847 W Mesa Arch Dr.

He editado el código a:

return x[-1] 

y tengo un idéntico resultado.

1voto

AllanL Puntos 108

Habían algunos expedientes que estaban en blanco, que causó un error. Este código funciona:

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