Annonce
#1 Wed 14 April 2010 12:36
- Laurent Frilleux
- Participant actif
- Lieu: Aniane
- Date d'inscription: 8 Sep 2005
- Messages: 83
ArcGis 9.3 : Problèmes arctool box et python
Bonjour
J'ai 2 soucis.
Le premier sur un simple croisement (intersect ou union) qui ne veut pas fonctionner. J'ai 2 classes d'entités avec des projections bien définies et identiques et je n'ai pas la possibilité de défnir de domaines puisque mon test porte à la racine d'une gdb fichier; La fonction marche avec une géométrie relativement simple (corine Land cover) mais bloque dés que les polygones sont plus complexes.
le message d'erreur est le suivant :"Les coordonnées ou les mesures ne sont pas comprises dans la plage autorisée"
Cette même manip fonctionne manuellement à partir d'une sélection ou sur la totalité de la classe d'entité mais en shape.
Le second
J'ai un model builder assez simple ou je calcule une intersection entre plusieurs couches dans un buffer.
Le model fonctionne mais son exportation en python ne marche pas depuis IDLE topologie non valide, mémoire insuffisante!
Si quelqu'un à déjà rencontré ces choses, je suis preneur de toutes infos.
Merci et bonne journée
Laurent Frilleux
Immergis - Montpellier
Hors ligne
#2 Thu 15 April 2010 14:26
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: ArcGis 9.3 : Problèmes arctool box et python
Bonjour,
Je n'ai pas de solutions à vos problèmes mais quelques pistes à explorer.
- pb1 : s'il n'y a pas de domaines définis, il existe toujours une contrainte sur les coordonnées dans les gdb fichier. Cette contrainte est définie dans la tolérance et également dans la résolution. Avez-vous défini manuelement la tolérence, et la résolution ,les avez-vous laissé par défault ? Par défault il arrive que la valeur par défault soit largement inférieure au millimètre, ce que augmente la taille des classes d'entités, et par conséquent à des conséquences sur les géotraitements.
- pb2 : lors des traitements dans Arcgis, c'est le logiciel qui se charge d'allouer la mémoire pour effectuer les traitements. En passant par l'IDLE, c'est python qui effectue cette opération, il est possible qu'il ne libère pas assez de mémoire pour les traitements lourds.
Vous pouvez aussi vérifier que les géométries soient valides avec les outils arctoolbox.
Quelle est votre version d'arcgis ? de python ?
A+
Hors ligne
#3 Fri 16 April 2010 11:53
- Laurent Frilleux
- Participant actif
- Lieu: Aniane
- Date d'inscription: 8 Sep 2005
- Messages: 83
Re: ArcGis 9.3 : Problèmes arctool box et python
Bonjour
J'ai réussi à contourner le 1er pb, en modifiant comme l'avis suggéré Mr Granier les résolutions et tolérance.
je transfère donc mes classes d'entités dans une nouvelle gdb, j'effectue le croisement avant de rapatrier l'info.
Par contre toujours pas de solution pour le second.
Laurent Frilleux
Immergis - Montpellier
Hors ligne
#4 Fri 16 April 2010 13:38
- Vuilleumier
- Juste Inscrit !
- Lieu: Savigny
- Date d'inscription: 16 Jul 2009
- Messages: 5
- Site web
Re: ArcGis 9.3 : Problèmes arctool box et python
Bonjour,
Est-ce que vous avez essayé de capturer les différentes erreurs afin de mettre en évidence les parties du script qui posent problème ? Les erreurs mémoires sont généralement le résultat d'un trop grand nombre d'objets créés. Il est donc possible que le script généré automatiquement par ArcGIS ne soit pas optimal sous python.
Est-ce qu'il vous est possible de mettre en attaché le script généré afin de mieux comprendre d'où peuvent venir les erreurs ? Et d'avoir le détail des erreurs retournées par python lors de l'exécution ?
Salutations
Hors ligne
#5 Fri 16 April 2010 14:13
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: ArcGis 9.3 : Problèmes arctool box et python
pour le second problème, la solution consiste peut être à segmenter le code.
L'export d'Arcgis génère plusieurs lignes de commande qui s'exécute les une à la suite des autres.
Peut être qu'en créant une architecture Objet, l'attribution de mémoire serait plus optimale.
Il vous suffit même si cela n'est pas très propre de regrouper l'export d'arcgis à l'intérieur d'une classe
Code:
import arcgisscripting class traitement : gp = arcgisscripting.create() ... result=traitement()
Sinon vous pouvez aussi redecouper le programme tout entier en fonction de sa longueur, en classe et méthodes
A+
Dernière modification par Nicolas Granier (Fri 16 April 2010 14:14)
Hors ligne
#6 Fri 16 April 2010 15:05
- Laurent Frilleux
- Participant actif
- Lieu: Aniane
- Date d'inscription: 8 Sep 2005
- Messages: 83
Re: ArcGis 9.3 : Problèmes arctool box et python
Bonjour
Mon script est assez basique , je fait trois intersects suivis de 3 résumé statistique que je combien ensuite.
Par rapport à un autre souci, j'ai fait un peu de ménage sur mon disque. J'ai ajouté des print pour suivre l'évolution du script et il est allé au bout !
Merci pour votre aide, je creuserai la question quand j'aurai un peu plus de temps mais aujourd'hui je ne vais pas trop chercher à comprendre
bon week end
Laurent Frilleux
Immergis - Montpellier
Hors ligne