Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 04 May 2009 10:48

Frédérique
Participant actif
Date d'inscription: 13 Jul 2007
Messages: 51

Delete Table View

Bonjour,

J'écris des scripts en Python pour réaliser des choses et d'autres....

Dans un de mes scripts, je veux :

- Vérifier si une table (Copar_ground_View) existe,
- Si oui, la deleter
- Ensuite la créer

...donc en fait, cela empêcherait mon programme de planter sur le MakeTableVIew si j'avais déjà fait tourner le programme avant.

Seulement cela ne fonctionne pas. Voici mes lignes de codes  (J'ai essayé en Hard-coded, ça ne change rien) :

if gp.Exists("H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View"):
    gp.delete_management("H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View")
   
gp.MakeTableView_management(Copar_AfterAppend_BeforeMakeTableView, "H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View", "", "", "COPAR COPAR VISIBLE")

Il me dit que cela ne fonctionne pas pcq Copar_ground_View n'est pas un layer. Effectivement c'est une table MAIS gp.delete_mangement doit fonctionner aussi avec les Table View. Non?

Si qqun a plus d'expérience dans les suppressions de table via des scripts Python, je me réjouis qu'il me transmette tout son savoir...

Merci d'avance pour vos infos, bonne journée,

Fred

Hors ligne

 

#2 Mon 04 May 2009 11:21

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Delete Table View

Je regarde deux secondes la documentation de Delete_management et je vois quelques pistes, comme définir l'espace de travail par un gp.workspace, puis simplement indiquer le nom du jeu de données dans le Delete_management.


Aussi, une petite précision, dans l'API d'ArcGIS, la TableView est la fenêtre contenant la table, pas la table.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Mon 04 May 2009 15:55

Frédérique
Participant actif
Date d'inscription: 13 Jul 2007
Messages: 51

Re: Delete Table View

Merci Jeirhome pour l'info mais je crainds que ce ne soit pas la solution.

...Avant de programmer en Hard-Coded, j'avais procédé "proprement" par gp.workspace, en définissant mes variables etc... mais ça ne fonctionnait pas mieux. D'où mes nouvelles lignes de code.

Pour TableView, je pensais que TableView était l'équivalent d'un layer mais pour une table. Voilà pourquoi je l'appelais ainsi. Merci pour la précision quand-même.

En attendant une autre belle idée,

Bien le merci,

Frédérique

Hors ligne

 

#4 Mon 04 May 2009 16:16

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Delete Table View

Pour TableView, je pensais que TableView était l'équivalent d'un layer mais pour une table.


Eh bien, si on peut dire ça !

Et donc, comme pour les couches carto, si on supprime les données représentées, on ne peut plus créer de couche représentant ces données.


Là, tu supprimes la table "Copar_ground_View" (les données), puis tu veux créer une vue sur ces données qui n'existent plus. C'est donc normal qu'il t'informe que les données n'existent plus.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

Pied de page des forums

Powered by FluxBB