#1 Wed 10 February 2010 12:14
- GeoMax
- Participant occasionnel
- Lieu: Toulouse
- Date d'inscription: 15 Feb 2006
- Messages: 21
Import automatique de shp dans geodatabase
Bonjour à tous,
Je cherche à importer automatiquement tous les shp d'un répertoire vers une classe de géodatabase existante
Cette action est possible via "clic droit" sur la classe de la géodatabase puis "Charger">"Charger des données"
Je cherche à faire ce chargement de façon automatique en exécutant un script.
Tous les outils que je trouve dans ArcToolBox permettent cet import mais ils créent une nouvelle classe d'entité à chaque fois... je souhaite alimenter toujours la même classe avec de multiples shp...
Je suppose qu'il doit bien exister une méthode pour faire cela .. mais je bloque...
Petite précision : tous les shp et la classe de géodatabase possèdent les même champs.
Merci d'avance à ceux qui pourrons m'apporter leur aide !
Hors ligne
#2 Wed 10 February 2010 12:25
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Import automatique de shp dans geodatabase
Salut,
Pour travailler en batch --> http://support.esrifrance.fr/index.asp? … chGDB.html
Ou passer par la fenêtre "ligne de commande"
---> http://webhelp.esri.com/arcgisdesktop/9 … version%29
A+
Joël
Dernière modification par Spacejo (Wed 10 February 2010 12:33)
Hors ligne
#3 Wed 10 February 2010 12:29
- n314
- Participant assidu
- Date d'inscription: 6 Sep 2005
- Messages: 706
Re: Import automatique de shp dans geodatabase
Un script est nécessaire:
Pour la première couche de la liste, charger en créant une nouvelle couche dans la gdb
Pour les suivantes, la commande 'append' est faite pour ca http://webhelp.esri.com/arcgisdesktop/9 … agement%29
Hors ligne
#4 Wed 10 February 2010 12:35
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Import automatique de shp dans geodatabase
Salut n314,
La fonction "append" marche aussi en batch avec la ligne de commande --> "excellent"
Hors ligne
#5 Wed 10 February 2010 14:58
- GeoMax
- Participant occasionnel
- Lieu: Toulouse
- Date d'inscription: 15 Feb 2006
- Messages: 21
Re: Import automatique de shp dans geodatabase
Merci pour ces infos j'avais vu le script sur le support esrifrance mais il me semblait que cela créait forcement une nouvelle classe dans la géodatabase... je vais regarder de plus près
Hors ligne
#6 Wed 10 February 2010 16:18
- GeoMax
- Participant occasionnel
- Lieu: Toulouse
- Date d'inscription: 15 Feb 2006
- Messages: 21
Re: Import automatique de shp dans geodatabase
Salut,
Pour travailler en batch --> http://support.esrifrance.fr/index.asp? … chGDB.html
Bon je viens de re-regarder... mais apparemment le seul moyen de lancer l'exécution du batch c'est de lancer l'exe de choisir les option et de cliquer sur "ok"... mon but est de réaliser unscript qui se lancerait automatiquement avec des paramètres définis à l'avance ... pour par exemple pouvoir en faire une tache planifiée...
Ou passer par la fenêtre "ligne de commande"
---> http://webhelp.esri.com/arcgisdesktop/9 … version%29
Un script est nécessaire:
Pour la première couche de la liste, charger en créant une nouvelle couche dans la gdb
Pour les suivantes, la commande 'append' est faite pour ca http://webhelp.esri.com/arcgisdesktop/9 … agement%29
La commande "append" semble en effet correspondre à ce que je voudrais faire, me manque plus que le script autour ^^
L'utilisation de la ligne de commande dans ArcView à l'air effectivement puissante mais la encore est-il possible d'enregistrer un script pour ensuite le lancer depuis windows ...?
Merci d'avance pour ces info complémentaires
Hors ligne
#7 Wed 10 February 2010 16:33
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Import automatique de shp dans geodatabase
L'utilisation de la ligne de commande dans ArcView à l'air effectivement puissante mais la encore est-il possible d'enregistrer un script pour ensuite le lancer depuis windows ...?
Il me semble que non.
La ligne de commande permets de travailler en batch dans la fenêtre d'arcmap.
Ce que tu désirerais faire c'est travailler sans arcmap?
A+
Joël
Hors ligne
#8 Wed 10 February 2010 16:40
- GeoMax
- Participant occasionnel
- Lieu: Toulouse
- Date d'inscription: 15 Feb 2006
- Messages: 21
Re: Import automatique de shp dans geodatabase
L'utilisation de la ligne de commande dans ArcView à l'air effectivement puissante mais la encore est-il possible d'enregistrer un script pour ensuite le lancer depuis windows ...?
Il me semble que non.
La ligne de commande permets de travailler en batch dans la fenêtre d'arcmap.
Ce que tu désirerais faire c'est travailler sans arcmap?
A+
Joël
Effectivement l'idéal serait de pouvoir faire tourner ce script en "autonome"... n'existe-t-il pas par exemple une api, dll, ocx permettant d'intégrer des données dans une géodatabase ...?
Hors ligne
#9 Wed 10 February 2010 17:29
- Fachéro Vincent
- Participant occasionnel
- Lieu: Guipavas
- Date d'inscription: 17 Oct 2008
- Messages: 25
Re: Import automatique de shp dans geodatabase
Bonjour,
le plus simple est de faire un script .bat qui effectue les opérations suivantes :
- Création de ta couche dans ta géodatabase avec un shapefile sans enregistrement (shp2sde -o init ...) de façon à créer ta structure
- Pour chaque shapefile
shp2sde -o append
Chaque enregistrement de ton shapefile est ajoutés à ta couche.
Sur ton poste client tu dois disposer des utilitaires SDE (sdelayer, shp2sde, ..)
J'espère que cela réponds à ta question.
Bye
Hors ligne
#10 Wed 10 February 2010 17:34
- Cornet Jérémie
- Participant assidu
- Lieu: Nouméa
- Date d'inscription: 6 Apr 2008
- Messages: 229
Re: Import automatique de shp dans geodatabase
Bonjour,
La solution que je vois comme ça serait de créer un mxd avec du VBA qui s'exécute à son ouverture et qui le ferme une fois la mise à jour achevée.
Ainsi, on peut lancer le mxd par tâche planifiée.
Jérémie
Hors ligne
#11 Wed 10 February 2010 18:42
- n314
- Participant assidu
- Date d'inscription: 6 Sep 2005
- Messages: 706
Re: Import automatique de shp dans geodatabase
Bonjour,
le plus simple est de faire un script .bat qui effectue les opérations suivantes :
- Création de ta couche dans ta géodatabase avec un shapefile sans enregistrement (shp2sde -o init ...) de façon à créer ta structure
- Pour chaque shapefile
shp2sde -o append
Chaque enregistrement de ton shapefile est ajoutés à ta couche.
Sur ton poste client tu dois disposer des utilitaires SDE (sdelayer, shp2sde, ..)
J'espère que cela réponds à ta question.
Bye
A condition que la geodatabase mentionnée dans la question soit une geodatabase entreprise... Il pourrait tout aussi bien s'agir d'une file geodatabase voire d'une personnal geodatabase... Dans ces deux cas, la solution sus-mentionnée ne pourra fonctionner.
Dernière modification par n314 (Wed 10 February 2010 18:43)
Hors ligne