5 votos

¿Calcular el área de la geometría en ArcGIS Desktop utilizando ArcPy?

Tengo un shapefile de polígonos y quiero escribir un script en Python para añadir un campo llamado "área" y calcular sus áreas geométricas.

El guión es así:

arcpy.AddField_management("wrfd01_layer_intersect","area","LONG","","","","","NON_NULLABLE","NON_REQUIRED")
arcpy.CalculateField_management("wrfd01_layer_intersect","area","!shape.area@squaremeters!")

Cuando lo ejecuto el campo se añade, y se puede ver el proceso de cálculo del área de la geometría.

Sin embargo, en la tabla de atributos, no hay valores en el campo "área".

¿Cómo resolver este problema?

5voto

UnkwnTech Puntos 21942

Intenta esto en su lugar:

arcpy.AddField_management("wrfd01_layer_intersect","area","DOUBLE","#","#","#","#","NULLABLE","NON_REQUIRED","#")
arcpy.CalculateField_management("wrfd01_layer_intersect","area","!shape.area@squaremeters!","PYTHON_9.3","#")

Creo que necesitas usar un DOBLE en lugar de un LARGO para obtener los valores de área deseados. Sospecho que tus "no valores" son redondeos de números de punto flotante a un valor entero de 0 - pero no puedo estar seguro.

Para obtener la sintaxis anterior utilicé Copy As Python Snippet a partir de una ejecución exitosa de cada herramienta utilizando su diálogo de herramientas.

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