2 votos

Capa de consulta no encontrada ERROR 000229

Mi código se ejecuta en tres pasos:

  1. crear FeatureLayer,
  2. crear QueryLayer y
  3. unir QueryLayer a FeatureLayer:

    arcpy.MakeFeatureLayer_management(**{
        "in_features":features.get_dataset_fullpath(),
        "out_layer": features.get_layer_name(),
    })
    
    arcpy.MakeQueryLayer_management(**{
        "input_database":   features.get_attrib_QLD().get_workspace(),
        "out_layer_name":   features.get_attrib_QLD().get_layer_name(),
        "query"         :   features.get_attrib_QLD().get_spatial_query_definition(),
        "oid_fields"    :   features.get_attrib_QLD().get_OID_field()
    })
    
    arcpy.AddJoin_management (**{
         "in_layer_or_view" : features.get_layer_name(),
         "in_field"         : 'RDUWI',
         "join_table"       : features.get_attrib_QLD().get_layer_name(),
         "join_field"       : 'RDUWI',
         "join_type"        : 'KEEP_ALL'
    })

Sin embargo, al ejecutar el paso tres (unir), el código devuelve:

arcgisscripting.ExecuteError: ERROR 000229: No se puede abrir permits_querylayer Error al ejecutar (AddJoin),

a pesar de que la capa en cuestión se creó en el paso 2.

FYI: El paso dos es consumidor de tiempo, sin embargo, pensé que la ejecución de la siguiente declaración esperaría a que la anterior haya devuelto?

1voto

Dan Goldstein Puntos 8940

Las tablas de consulta solo admiten uniones internas. Tiene el "join_type" establecido en 'KEEP_ALL', que es una unión de tipo unión (unión externa). Cambie 'KEEP_ALL' por 'KEEP_COMMON', esto solo mantendrá registros coincidentes, una combinación de intersección, también conocida como unión interna.

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