Más

¿Fallo / error en ArcPy al usar Crear puntos aleatorios?


Estoy tratando de lidiar con un bloqueo extraño que ocurre de manera irregular en arcpy de arcGIS, específicamente bajo la herramienta de creación de puntos aleatorios.

Esto ocurre en ArcGIS 10.1 a 10.3.

Durante "CreateRandomPoints", el programa intenta crear por polígono un número de puntos en el polígono, el número dictado por un campo. El problema que experimento es que ocasionalmente, al intentar esta línea, Python se bloqueará inmediatamente sin dar un código de error.

Acepto que es un problema conocido. Acepto que no hay nada que hacer con respecto al accidente en sí, aparte de solucionarlo. el problema es que parece que no puedo detectar el error y solucionarlo.

He incrustado el fragmento de código que contiene

arcpy.CreateRandomPoints_management (wkspc, outhape, shape ,, campo)

dentro de un bloque try / except. He configurado una lógica en la que, con suerte, el código se ejecutará (y si es necesario, fallará) 5 veces antes de salir del programa con un error informativo. Sin embargo, solo se ejecuta una vez y sale del programa sin indicar el error. (mi bloque try / except no detecta el error).

He intentado todos los códigos de error que puedo considerar relevantes, incluso un bloque desnudo que, según mi conocimiento, debería atrapar todo.

¿Existe algún otro medio para detectar el error? algo que no he probado todavía?


El error puede deberse a cómo está formateando los argumentos con ese argumento vacío entreformaycampo. En su lugar, podrías probar esto:

arcpy.CreateRandomPoints_management (wkspc, outhape, shape, number_of_points_or_field = campo)

De lo contrario, no sé si esto funcionaría para usted, pero tengo una herramienta que hice que también crea puntos aleatorios. Puedes descargarlo aquí:

Caja de herramientas Generar puntos aleatorios

Ver el código fuente

Luego, puede usar esto en su secuencia de comandos de Python haciendo lo siguiente:

arcpy.ImportToolbox ("C:  Tools  GenerateRandomPoints.tbx") arcpy.GenerateRandomPoints_GenerateRandomPoints (input_polygon, "YES", "fieldname", "#", 40, 2000, "KEEP_ALL", salida) herramienta son: arcpy.GenerateRandomPoints_GenerateRandomPoints (Input_Polygon_Feature_Class, Use_Field_for_Number_of_Random_Points, {Field_with_Number_of_Random_Points}, {Number_of_Random_Points}, Maximum_ttePunto_Puntos

Aquí hay una captura de pantalla de los parámetros:


Ver el vídeo: Create Random points or Ground Truth Points of any Locations using ArcGIS (Septiembre 2021).