Me gustaría anexar los datos de una clase de entidad a otra después de confirmar que los esquemas coinciden en ambas clases de entidad.
Puedo anexar los datos de una FC a otro utilizando este código:
arcpy.DeleteFeatures_management(outFeatureClass)
arcpy.Append_management("FC", outFeatureClass, "TEST", "")
...pero lo que me gustaría hacer es detener la ejecución de este código completamente si los esquemas han cambiado...en mi ejemplo anterior, los datos ya han sido borrados por el tiempo que el cambio de esquema de parámetro ("TEST) se produce un error. Yo estoy usando el de 'añadir...' a/b / c estas clases de entidad están conectados a los servicios de mapas.
Idealmente, me gustaría en primer lugar comparamos los esquemas, y luego continuar para borrar/añadir si coinciden. Si no, me gustaría enviar un correo electrónico, y al final de la secuencia de comandos.
He intentado usar el FeatureCompare herramienta, que imprimirá un mensaje si los esquemas no coinciden, pero no he averiguado si o cómo puedo utilizar los datos en este mensaje como una variable en mi código:
compare_result = arcpy.FeatureCompare_management(inFC, outFC, "OBJECTID", "SCHEMA_ONLY", "","","","","","","CONTINUE_COMPARE")
print arcpy.GetMessages()
Cuando ejecuto este código, una línea de la salida de mensaje dice:
Tabla: las Tablas tienen diferente número de campos (Base: 48, de la Prueba: 47).
...si ha habido un cambio, o
Campo: Campo de propiedades son las mismas.
...si los esquemas de partido.
Hay una manera de alguna manera se puede utilizar esta información para establecer una marca o booleano en mi código?
Yo también considera el uso de un SearchCursor, pero yo no estoy tan seguro de que es la idea correcta.
Actualmente soy capaz de enviar un correo electrónico confirmando que el guión fue exitosa o si hubo un error, pero yo prefiero enviar un correo electrónico antes de que un error ha dado ya como resultado de un defecto en el servicio de mapas.
Espero que esta pregunta tiene sentido! Gracias por la ayuda.