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 Tue 04 November 2008 10:21

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

[ARCGIS 9] Automatiser l'execution d'une macro en batch

Bonjour,

Est-il possible de passer des paramètres à l'exécution d'ArcGIS pour choisir de lancer l'automatisation d'un script VB6 sous forme de macro en passant un paramètre au lancement

"C:\Program Files\ArcGIS\Bin\arcmap.exe" c:\mon_fichier.mxd (+paramètre de lancement automatique)

Le but étant de me pas lancer l'exécution de la macro à l'ouverture du mxd mais de pouvoir le faire avec le batch.

En fait j'ai déjà une boite de dialogue qui me demande si je veux ou pas lancer l'exécution du script. es-ce que je peux lancer le mxd en simulant la touche ok?

Merci.


Jérôme

Hors ligne

 

#2 Wed 05 November 2008 13:04

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

Bonjour,

Pensez vous que ce soit possible en Python?

Comme ça je fais un script en Python style projet.py que j'appelle avec mon fichier projet.bat contenant :

Code:

C:\Python24\python.exe %1 projet.py
pause

Merci

Dernière modification par gglafouine (Wed 05 November 2008 13:04)


Jérôme

Hors ligne

 

#3 Thu 06 November 2008 11:58

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

up


Jérôme

Hors ligne

 

#4 Thu 06 November 2008 12:47

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

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

Google et recherche à propos du python, car python est loin d'être un langage ESRI ?

Cela donne http://www.python.org/doc/2.5.2/lib/module-getopt.html et donc la réponse est oui smile


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

Hors ligne

 

#5 Wed 12 November 2008 09:48

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

Merci Jérôme

Le truc c'est que je m'y connais pas assez bien en python pour passer un paramètre d'automatisation pour le lancement de script en VB6 contenu dans un mxd.

getopt permet de passer des arguments avec options et valeurs mais je vois pas très bien en quoi cela peut m'aider.

Peux tu m'en dire un peu plus.

Merci.

Dernière modification par gglafouine (Wed 12 November 2008 10:04)


Jérôme

Hors ligne

 

#6 Wed 12 November 2008 13:29

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

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

Ta demande m'a l'air un peu confuse. J'ai l'impression que tu as deux questions : Est-ce que je peux exécuter une macro au lancement d'ArcGIS en utilisant :
- un script VB6 ?
- un script Python ?

Ta question se limite en fait à "Est-ce que je peux exécuter une macro au lancement d'ArcGIS seulement sous certaines conditions ?". Tu proposes ensuite juste des pistes de recherche, avec ta question sur le python tu n'avais pas une idée précise, non ?

Je suis un peu perdu dans tout ça, alors que si j'ai bien compris tu as une macro dans OpenDocument(), et que tu veux exécuter ce qui est à l'intérieur que dans un cas particulier. Si tu ne peux passer facilement des paramètres à l'application, tu peux créer un fichier quand tu exécutes le batch, vérifier la présence du fichier et exécuter s'il est bien là, et supprimer le fichier de test en fin de batch.

Ai-je répondu à ta question ?


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

Hors ligne

 

#7 Wed 12 November 2008 14:57

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

tu as une macro dans OpenDocument()


Oui, des scripts en VB6


En fait en ce moment j'ai deux fichiers qui font quasiment la même chose.

Un qui est lancé par un batch ouvrant l'application ArcGIS et  le projet.mxd .
celui-ci contient la procédure d'automatisé qui nous permet de concevoir nos jeux de données à partir de tous les fichiers txt (extrait de base de données) contenu dans un dossier.

Le deuxième n'est pas automatisé mais permet de sélectionner certains fichiers à traiter à partir d'une boite de sélection.

Ce que je souhaite c'est pouvoir simplifier l'ensemble car si j'ai des modifications à appliquer sur un fichier, je dois les répercuter sur l'autre et sur autant de sous-projets basés sur le même procédé.

En clair je veux utiliser uniquement un seul document et passer des options qui me permettent de faire sauter les étapes de sélection (tous sélectionner) ou de validation (dans le cas d'un msgbox):
- en batch (mais je pense pas que ce soit possible)
- en exécutant un script python (contenant les paramètres de passerelle) que j'appelle à l'intérieur de la procédure d'automatisation de mon batch.

Dernière modification par gglafouine (Wed 12 November 2008 15:02)


Jérôme

Hors ligne

 

#8 Wed 12 November 2008 19:05

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

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

Batch ou Python, transmettre des paramètres à ArcMap.exe, je ne sais pas faire.

Mais ce que j'ai dit, mettre les options dans un fichier, tu en penses quoi ?


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

Hors ligne

 

#9 Thu 13 November 2008 13:20

gglafouine
Participant actif
Lieu: Montpellier
Date d'inscription: 28 Feb 2006
Messages: 118

Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch

J'en pense que si je peux pas interagir sur mon MXD, je suis obligé conserver plusieurs documents contenant mes scripts en VB6 avec un fichier contenant une procédure automatisée et l'autre avec des éléments qui me permettent d'opérer des choix manuellement (MSGBOX et objets graphiques).

Tu en penses quoi?

Pour générer des shapefiles à partir d'un ensemble de fichiers texte (tout en en sélectionnant certains) , je vois pas 36 solutions à part utiliser VB6.


Jérôme

Hors ligne

 

Pied de page des forums

Powered by FluxBB