#1 Mon 19 December 2016 20:22
- gravier3000
- Juste Inscrit !
- Date d'inscription: 19 Dec 2016
- Messages: 3
arcpy - RemoveJoin_management error999999
Bonjour,
Je débute sur ce forum car jusque ici ça allait...
J'ai un projet .mxd que j'utilise comme référence commune pour créer en boucle une série de cartes .jpg. Les infos spécifiques à chaque cartes sont dans des tables .txt avec jointure + symbologie d'un .lyr et exporTtoJPEG.
Code:
Import arcpy arcpy.AddJoin_management("input layer du projet arcmap", "Id", "D:xxxxxx.txt", "IDGRID1000") arcpy.ApplySymbologyFromLayer_management("input layer du projet arcmap", "D:xxxxxx.lyr") mxd = arcpy.mapping.MapDocument("CURRENT") arcpy.mapping.ExportToJPEG(mxd, """D:xxxxxx.jpg""",resolution=300) arcpy.RemoveJoin_management ("input layer du projet arcmap","Id")
Tout fonctionne jusqu'au RemoveJoin, et je suis à cours d'idées que ce soit pour résoudre l'erreur ou la contourner...
Code:
Runtime error : ERROR 999999: Error executing function. Failed to execute (RemoveJoin).
Un tout grand merci d'avance!
Gravier3000
Hors ligne
#2 Tue 20 December 2016 09:06
- lebon henri
- Participant actif
- Lieu: Vendée
- Date d'inscription: 14 Jan 2008
- Messages: 99
Re: arcpy - RemoveJoin_management error999999
Bonjour,
Le second paramètre de la fonction RemoveJoin_management est facultatif. Tu devrais ne pas le mettre. Ensuite il a un espace entre le t et l'ouverture de la parenthèse.
C'est peut être aussi bête que ça l'erreur.
Hors ligne
#3 Thu 22 December 2016 15:20
- gravier3000
- Juste Inscrit !
- Date d'inscription: 19 Dec 2016
- Messages: 3
Re: arcpy - RemoveJoin_management error999999
Hello,
Merci pour la réponse. Je me suis finalement perdu dans une démarche essai-erreur. Il me semble que c'est en utilisant une jointure avec une table .xls plutôt que .txt que le RemoveJoin a finalement fonctionné. Entre temps le ApplySymbologyFromLayer ne fonmctionnait plus (pas d'erreur signalée, mais difficulté pour attribuer le bon champ de valeur de symbologie d'une espèce à l'autre).
Finalement au bout de 2 jours j'en suis arrivé à une solution qui roule ;-). Je conserve toujours le même champ pour la symbologie et je modifie juste les valeur spécifiques aux différentes espèces tour à tour...
Pour info et clôturer le post, voici le template du code utilisé
Code:
import arcpy #Species 1 ... # Add join with species specific values ... arcpy.AddJoin_management("layer_pnt.lyr", "Id_grid", "L:\..\..\...xls\table species 1", "Id_grid") ... # Update species values in the field of reference symbology (Symb_pnt_3) ... arcpy.CalculateField_management("layer_pnt.lyr", "Symb_pnt_3", "[species value in xls table]") ... # Remove the join ... arcpy.RemoveJoin_management("layer_pnt.lyr", "...") ... # Apply the symbology of the reference layer ... arcpy.ApplySymbologyFromLayer_management("layer_pnt.lyr", "D:\...\...lyr") ... # Export the jpeg file ... mxd = arcpy.mapping.MapDocument("CURRENT") ... arcpy.mapping.ExportToJPEG(mxd, "D:\...\...\....jpg",resolution=300) #Species 2 ...
Pour passer d'une espèce à l'autre, je fais juste un replace all "Species 1" by "Species 2".
C'est certainement améliorable mais cela fonctionne, c'est déjà bien vu mes connaissances de code...
Bonne journée!
Hors ligne