Suite

L'exécution d'un modèle personnalisé via ArcPy avec PyCharm échoue avec le code de sortie -1073741819 (0xC0000005) ?

L'exécution d'un modèle personnalisé via ArcPy avec PyCharm échoue avec le code de sortie -1073741819 (0xC0000005) ?


J'essaie de géocoder quelques adresses à l'aide d'un modèle personnalisé créé. Lors de l'exécution du modèle via Model Builder, tout fonctionne parfaitement.

De plus, lors de son exécution via la console python interactive intégrée dans ArcCatalog à l'aide du code suivant, il s'exécute également sans problème.

>>> arcpy.ImportToolbox("C:UsersjvidinAppDataRoamingESRIDesktop10.1ArcToolboxMy Toolboxesusps_geocoder.tbx","geocoder")  >>> arcpy.geocoder_geocoder(… 'gc_01',… 'J:/Postal/Postal/99_Geocode/01/composites/composite_1',… 'J:/Postal/Postal/99_Geocode/01/composites/composite_2',… ' J:/Postal/Postal/99_Geocode/01/gc.gdb/gc_01'… )…  >>>

Le problème se produit lorsque vous essayez de l'exécuter via IDE en utilisant le code suivant :

importer arcpy

arcpy.ImportToolbox("C:UsersjvidinAppDataRoamingESRIDesktop10.1ArcToolboxMy Toolboxesusps_geocoder.tbx", "geocoder") essayez : arcpy.geocoder_geocoder ('gc_01', 'J:/Postal/Postal/99_Geocode/01/composites/composite_1', 'J:/Postal/Postal/99_Geocode/01/composites/composite_2', 'J:/Postal/Postal/99_Geocode/01 /gc.gdb/gc_01') sauf exception en tant que e: print e.message

Génération de l'erreur suivante :

*C:Usersjvidin2.7_32_arcpy_pyenvScriptspython.exe C:/Users/jvidin/PyCharm_projects/2.7_ArcPy_Rebuild_locators/run_geocoding_model_standalone_stackexchange.py

Processus terminé avec le code de sortie -1073741819 (0xC0000005)*

Modèle créé dans arc 10.1 et exécuté avec arcpy 32 bits 10.1 python installé dans un environnement virtuel.

## nouvelle modification 15/12/2014 . continuation…

J'ai donc changé un peu mon modèle et mon script, cette fois le modèle a un et un seul paramètre exposé et c'est une variable en ligne %var% utilisée pour la création des chemins de sortie. Scénario ci-dessous.

il crée le .gdb de sortie basé sur l'argument sbr et lui définit env.workspace. (fonctionne) que lorsqu'il exécute arcpy.geocoder2_geocoder(sbr), dans egg. sbr = '01' il échoue avec : Processus terminé avec le code de sortie -1073741819 (0xC0000005) pas beaucoup d'aide.

def geocoder(sbr): try: fgdb = str(sbr) + '.gdb' path = "J:/Postal/Postal/99_Geocode/_results/" env.workspace = path+fgdb print env.workspace arcpy.CreateFileGDB_management(path , fgdb) arcpy.geocoder2_geocoder(sbr) sauf exception comme e: print e.message

n'ont vraiment aucune idée de la raison pour laquelle il continue à échouer, toutes les sorties du modèle geocode2_geocode() sont définies sur le même env.workspace créé.

Le modèle geocode2_geocode() -> contient 2 localisateurs composites qui s'exécutent l'un après l'autre.


[Je suppose sur la base des informations disponibles] : votre problème est avec ce que vous transmettez lorsque vous l'exécutez dans un IDE (en dehors de l'application)

essayez : arcpy.geocoder_geocoder('gc_01', 'J:/Postal/Postal/99_Geocode/01/composites/composite_1', 'J:/Postal/Postal/99_Geocode/01/composites/composite_2', 'J:/Postal/ Postal/99_Geocode/01/gc.gdb/gc_01')

Dans ton extrait de code, je suppose gc_01 est une sorte d'entrée de table ou de couche? Vous n'avez pas d'espace de travail défini. Lorsque vous l'exécutez dans un IDE autonome, il ne sait pas où se trouve gc_01. Vous devez soit qualifier complètement le chemin d'accès dans l'entrée des outils : c:emplacement ablegc_01 ou définissez l'espace de travail où cela réside, avant d'exécuter l'outil de géocodage :arcpy.env.workspace = "c:emplacement able"