#1 Wed 03 July 2013 18:09
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Problème Model Builder avancé - ArcGIS 10
Bonjour,
J'ai créé un Model Builder comportant beaucoup de géotraitements (peut-être une cinquantaine au total), avec diverses données en entrée (une quinzaine).
Lorsque j'exécute celui-ci sur une seule commune, le résultat final en sortie est correct (environ après 15 minutes).
Cependant, lorsque je l'exécute sur 50 communes, le modèle s'arrête lors de son exécution (mais il ne plante pas !). Il s'arrête (barre de chargement pas complète) lorsqu'il doit effectuer des "fusions" de polygones (ou bien des fusions lors d'une bufferisation), ce qui est très gourmand quand il y a beaucoup de polygones.
J'ai bien essayé de l'exporter en Python et de le lancer directement depuis IDLE mais des messages d'erreur s'affichent (alors que l'exécution du script Python via IDLE sur une seule commune donne un résultat correct).
Est-ce que quelqu'un aurait déjà été confronté à un problème similaire ou bien saurait optimiser un modèle pour sa bonne exécution, même avec un nombre de données, d'entités et de traitements considérable ?
Merci d'avance.
Aurélien QUIBLIER
arx iT
Hors ligne
#2 Wed 03 July 2013 19:08
- supernul
- Participant actif
- Date d'inscription: 31 Jan 2010
- Messages: 103
Re: Problème Model Builder avancé - ArcGIS 10
Quelles sont les erreurs issues du passage par IDLE ? Cela pourrait nous aider à t'aider.
Hors ligne
#3 Thu 04 July 2013 08:55
- Yann F
- Participant occasionnel
- Date d'inscription: 6 Dec 2012
- Messages: 19
Re: Problème Model Builder avancé - ArcGIS 10
Quel résultat avec seulement deux communes ?
Hors ligne
#4 Thu 04 July 2013 09:14
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Problème Model Builder avancé - ArcGIS 10
Bonjour,
Il semblerait que ce soit une erreur de mémoire vive, lors de l'exécution d'une fusion ("Dissolve" de la fusion) :
Code:
Traceback (most recent call last): File "C:\Users\gaiagoRMI2\Desktop\gatine.py", line 265, in <module> arcpy.Dissolve_management(NIV0_ARTIF1_shp, NIV0_ARTIF2_shp, "", "", "MULTI_PART", "DISSOLVE_LINES") File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\management.py", line 3317, in Dissolve raise e ExecuteError: ERROR 999999: Erreur lors de l’exécution de la fonction. Topologie non valide [Mémoire insuffisante] Échec de l’exécution de (Dissolve).
La ligne abordée dans le message est la suivante :
Code:
# Process: Fusionner (4) arcpy.Dissolve_management(NIV0_ARTIF1_shp, NIV0_ARTIF2_shp, "", "", "MULTI_PART", "DISSOLVE_LINES")
Concernant la 2e question :
Quel résultat avec seulement deux communes ?
J'avais pensé à tester le modèle jusqu'à 4 communes. C'est plus long qu'avec une seule mais cela fonctionne aussi. Je ne sais pas à partir de combien de communes le modèle plante (car le temps d'exécution est très long...).
Dernière modification par aurelien.quiblier (Thu 04 July 2013 09:18)
Aurélien QUIBLIER
arx iT
Hors ligne
#5 Thu 04 July 2013 09:56
Re: Problème Model Builder avancé - ArcGIS 10
Bonjour,
Est-ce que ce model peut s'exécuter commune par commune (à la suite)?
Une idée, dans ce cas, il peut être possible de lancer une itération sur les fichiers d'entrée afin de pouvoir nettoyer l'espace de travail où sont stockés les données intermédiaires, et ceci entre chaque itération?
Itérer les classes d’entité : http://resources.arcgis.com/fr/help/mai … 000r000000
Utilisation de l'espace de travail temporaire : http://resources.arcgis.com/fr/help/mai … 005s000000
Gestion des données intermédiaires : http://resources.arcgis.com/fr/help/mai … 000z000000
Martin
Hors ligne
#6 Thu 04 July 2013 13:04
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Problème Model Builder avancé - ArcGIS 10
Bonjour,
Merci beaucoup pour la réponse.
Le modèle peut s'exécuter par commune, le résultat ne sera que très peu altéré.
J'ai fait le test, avec 2 communes pour l'instant (selon une itération par sélection, par nom de commune) et cela a fonctionné!
J'ai cependant une petite question/remarque :
Si le dossier contenant les données intermédiaires est supprimé, cela rend impossible la création de nouvelles données à l'intérieur de celui-ci (lors de la deuxième itération).
N'est-il pas tout simplement possible d'écraser les premières données intermédiaires (ce qui évite un nombre trop important de données) ? C'est ce que j'ai fait pour l'instant. Mais je ne sais pas si cela utilise de la mémoire.
Je fais le test sur plus de communes et je vous fais un retour.
Merci aussi pour les liens, ils me sont très utiles! Je ne connaissais pas du tout les itérations et la gestion des données temporaires.
Aurélien QUIBLIER
arx iT
Hors ligne
#7 Thu 04 July 2013 19:40
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Problème Model Builder avancé - ArcGIS 10
Bonjour,
La méthode a fonctionné jusqu’à 60 communes mais a tout de même planté (manque de mémoire) à partir de là.
Je peux néanmoins effectuer cela en deux étapes, ce qui me permettra d'avoir le résultat sur 100 communes.
Aurélien QUIBLIER
arx iT
Hors ligne