banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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 !  sad

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

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

 

Pied de page des forums

Powered by FluxBB