¿En su lugar, convertir el objeto de resultado ArcPy de arcpy.GetCount_management () como entero?

18

Estoy tratando de obtener un número contando cuántos puntos hay en un archivo de forma. Y esto funciona, excepto que luego tengo problemas para usar ese número en otro lugar. Eventualmente, usaré ese conteo en algunas matemáticas (calculadora de campo), pero al depurar me encuentro con un error que terminará causándome problemas más adelante.

Este código:

TotalPoints = arcpy.GetCount_management(Path_Pts)
arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}")

da este error:

TypeError: cannot concatenate 'str' and 'Result' objects

Intenté lanzarlo como int, que TAMBIÉN no le gusta:

TypeError: int() argument must be a string or a number, not 'Result'

Así que tengo un objeto 'Resultado' y necesito convertirlo en un número.

¿Cómo puedo hacer eso, o usar la función ArcPy es innecesario o demasiado complicado aquí?

Erica
fuente

Respuestas:

45

Utilice el siguiente método en el objeto Resultado y podrá emitir como int:

.getOutput (0) devolverá el valor en la primera posición de índice de una herramienta.

int(arcpy.GetCount_management(Path_Pts).getOutput(0))

ccn
fuente
3

GetCount devuelve un objeto Result y no un entero o una cadena.

Para obtener una cadena, use el método getOuput del objeto de resultado y extraiga su primera parte. Para ver otras partes, intente cambiar el 0 por 1, 2, etc.

Si necesita convertir esa cadena en un entero, use una función int ().

Para obtener más información sobre el objeto Result y su método getOutput, se debe consultar la Ayuda en línea .

PolyGeo
fuente