Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Fri 12 January 2018 10:28

gravier3000
Juste Inscrit !
Date d'inscription: 19 Dec 2016
Messages: 3

arcpy: AssertionError dans RemoveLayer

Bonjour,

Je tente de réaliser un code qui effectue la boucle suivante:
- ajouter un shapefile au projet mxc en cours
- lui appliquer une symbologie sur base d'un .lyr
- exporter en PNG
- retirer le layer du projet mxd

Code:

import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
arcpy.env.workspace = r"L:\RHOPALOLUX\ANALYSES\Sp_distribution_table\ShapefileBySpecies"
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
fcs = arcpy.ListFeatureClasses()
for fc in fcs:
    arcpy.MakeFeatureLayer_management(fc, fc)
    arcpy.ApplySymbologyFromLayer_management(fc+"layer", r"L:\RHOPALOLUX\CARTO\Distribution\Sp_distribution_p2_mxd\Layer_file\Species_period2.lyr")
    arcpy.mapping.ExportToPNG(mxd, r"L:\RHOPALOLUX\CARTO\Distribution\Sp_distribution_p2_png\Distribution_P2_" + fc + ".png")
    arcpy.mapping.RemoveLayer(df, fc)

Cela me renvoie l'erreur suivante:
Runtime error
Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\utils.py", line 182, in fn_
    return fn(*args, **kw)
  File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\mapping.py", line 1845, in RemoveLayer
    assert isinstance(remove_layer, Layer)
AssertionError

Je n'arrive pas à comprendre l'origine. Merci d'avance pour votre aide

Hors ligne

 

Pied de page des forums

Powered by FluxBB