Pages: 1
- Sujet précédent - [ArcGis 10] [Python] Comment créer des données temporaires ? - Sujet suivant
#1 Tue 31 July 2012 13:10
- grdfred
- Participant actif
- Lieu: nantes
- Date d'inscription: 17 Jul 2007
- Messages: 56
[ArcGis 10] [Python] Comment créer des données temporaires ?
Bonjour à tous,
L'utilisation de certains outils oblige d'avoir un fichier en sortie. Par exemple l'outil résumé statistique créer un objet table en sortie.Dans mon traitement j'utilise cet outil juste pour récupérer la somme d'un champ dans un thème par jointure. Le but de mon traitement n'est pas de conserver cette table.
J'arrive à créer cette table dans un répertoire particulier mais je n'arrive pas à la supprimer à la fin de mon traitement car il y a un fichier .lock qui bloque la suppression !
Avez vous des idées ou mieux des solutions ??
Je joins juste une partie de mon script python.
Merci d'avance
Frédéric
Dernière modification par grdfred (Tue 31 July 2012 13:11)
Hors ligne
#2 Tue 31 July 2012 15:32
- Sol74
- Participant actif
- Lieu: Cluses (74)
- Date d'inscription: 25 Oct 2005
- Messages: 76
Re: [ArcGis 10] [Python] Comment créer des données temporaires ?
Bonjour,
Pour le fichier .lock .... à part terminer son travail, fermer ArcGis et effacer ensuite la(les) table(s) inutile(s), pas d'autres solution.
Quand un fichier est ouvert dans ArcGis, il est "verrouillé" pour toute la durée de la session, même si on l'enlève du projet, d'où l'intérêt de le mettre dans un répertoire spécifique facile à retrouver et supprimer.
Mais s'il y a une autre solution, je suis preneur ...
Sol74
Jean-Luc
Hors ligne
#3 Wed 01 August 2012 09:45
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: [ArcGis 10] [Python] Comment créer des données temporaires ?
Bonjour,
Normalement en utilisant des scripts python autonomes appelant le module Arcpy, sans avoir Arcgis d'ouvert ou Arcatalogue, les locks se suppriment à la fin des traitements.
Comment supprimez-vous les fichiers ? avec os.remove ?
A+
Dernière modification par Nicolas Granier (Wed 01 August 2012 09:46)
Hors ligne
#4 Thu 02 August 2012 08:59
Re: [ArcGis 10] [Python] Comment créer des données temporaires ?
Bonjour,
Dans votre cas, il me semble qu'une solution serait de générer le résultat du traitement "Statistique" directement en mémoire (en RAM) à l'aide du mot clé "in-memory" (voir dans la documentation Utilisation de l'espace de travail temporaire).
Du coup plus de chemin d'accès vers un répertoire temporaire à gérer et surtout plus de ménage à faire...
Lorsque le script est terminé ou qu'ArcGIS est fermé, la RAM est "libérée" automatiquement.
Cette solution n'est pertinente que si les données mis en RAM ne sont pas trop lourd si on ne veut pas la remplir et obligé le système d'exploitation à "swapper".
Dans ce cas, il faut utiliser la notion de Espace de travail temporaire (arcpy.env.scratchWorkspace) e t la création
Toutes les autres possibilités de gestion des données intermédiaires sont détaillées ici. La documentation est rédigé en parlant de la publication sur ArcGIS Serveur ou des techniques de partages des scripts Python mais cela est valable lors d'un usage classique des géotraitments.
Bonne journée
Hors ligne
Pages: 1
- Sujet précédent - [ArcGis 10] [Python] Comment créer des données temporaires ? - Sujet suivant