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 Fri 20 April 2012 11:14

Jeremie56
Juste Inscrit !
Date d'inscription: 20 Apr 2012
Messages: 3

ArcGis 9.x Script pour assembler shape

Bonjour à tous,

je débute dans le domaine des SIG, et je viens vers vous pour une petite aide smile.

En effet je veux creer une script vba, qui va faire un merge des shapes données en paramètre.
J'ai essayer en suivant des guides trouvers ici et la sur internet , mais force est de constater que je n'y arrive pas.

J'ai essayer de m'inspirer de la commande ressortie par la fenetre ligne de commande de arcgis :

Code:

Merge_management 56155_AEP_TRC;44072_AEP_TRC;44097_AEP_TRC;44125_AEP_TRC;44135_AEP_TRC;44069_AEP_TRC;56058_AEP_TRC;44055_AEP_TRC;56030_AEP_TRC;44049_AEP_TRC;44211_AEP_TRC;44010_AEP_TRC;44183_AEP_TRC;44006_AEP_TRC;44175_AEP_TRC 'C:\Documents and Settings\...\Bureau\test\AEP_TRC\56155_AEP_TRC_Merge1.shp' "MSLINK 'MSLINK' true true false 10 Double 0 10 ,First,#,56155_AEP_TRC,MSLINK,-1,-1,44072_AEP_TRC,MSLINK,-1,-1,44097_AEP_TRC,MSLINK,-1,-1,44125_AEP_TRC,MSLINK,-1,-1,44135_AEP_TRC,MSLINK,-1,-1,44069_AEP_TRC,MSLINK,-1,-1,56058_AEP_TRC,MSLINK,-1,-1,44055_AEP_TRC,MSLINK,-1,-1,56030_AEP_TRC,MSLINK,-1,-1,44049_AEP_TRC,MSLINK,-1,-1,44211_AEP_TRC,MSLINK,-1,-1,44010_AEP_TRC,MSLINK,-1,-1,44183_AEP_TRC,MSLINK,-1,-1,44006_AEP_TRC,MSLINK,-1,-1,44175_AEP_TRC,MSLINK,-1,-1;FONCTION 'FONCTION' true true false 40 Text 0 0 ,First,#,56155_AEP_TRC,FONCTION,-1,-1,44072_AEP_TRC,FONCTION,-1,-1,44097_AEP_TRC,FONCTION,-1,-1,44125_AEP_TRC,FONCTION,-1,-1,44135_AEP_TRC,FONCTION,-1,-1,44069_AEP_TRC,FONCTION,-1,-1,56058_AEP_TRC,FONCTION,-1,-1,44055_AEP_TRC,FONCTION,-1,-1,56030_AEP_TRC,FONCTION,-1,-1,44049_AEP_TRC,FONCTION,-1,-1,44211_AEP_TRC,FONCTION,-1,-1,44010_AEP_TRC,FONCTION,-1,-1,44183_AEP_TRC,FONCTION,-1,-1,44006_AEP_TRC,FONCTION,-1,-1,44175_AEP_TRC,FONCTION,-1,-1;CLASSE_NAT 'CLASSE_NAT' true true false 40 Text 0 0 ,First,#,56155_AEP_TRC,CLASSE_NAT,-1,-1,44072_AEP_TRC,CLASSE_NAT,-1,-1,44097_AEP_TRC,CLASSE_NAT,-1,-1,44125_AEP_TRC,CLASSE_NAT,-1,-1,44135_AEP_TRC,CLASSE_NAT,-1,-1,44069_AEP_TRC,CLASSE_NAT,-1,-1,56058_AEP_TRC,CLASSE_NAT,-1,-1,44055_AEP_TRC,CLASSE_NAT,-1,-1,56030_AEP_TRC,CLASSE_NAT,-1,-1,44049_AEP_TRC,CLASSE_NAT,-1,-1,44211_AEP_TRC,CLASSE_NAT,-1,-1,44010_AEP_TRC,CLASSE_NAT,-1,-1,44183_AEP_TRC,CLASSE_NAT,-1,-1,44006_AEP_TRC,CLASSE_NAT,-1,-1,44175_AEP_TRC,CLASSE_NAT,-1,-1;NATURE 'NATURE' true true false 40 Text 0 0 ,First,#,56155_AEP_TRC,NATURE,-1,-1,44072_AEP_TRC,NATURE,-1,-1,44097_AEP_TRC,NATURE,-1,-1,44125_AEP_TRC,NATURE,-1,-1,44135_AEP_TRC,NATURE,-1,-1,44069_AEP_TRC,NATURE,-1,-1,56058_AEP_TRC,NATURE,-1,-1,44055_AEP_TRC,NATURE,-1,-1,56030_AEP_TRC,NATURE,-1,-1,44049_AEP_TRC,NATURE,-1,-1,44211_AEP_TRC,NATURE,-1,-1,44010_AEP_TRC,NATURE,-1,-1,44183_AEP_TRC,NATURE,-1,-1,44006_AEP_TRC,NATURE,-1,-1,44175_AEP_TRC,NATURE,-1,-1;DIAMETRE 'DIAMETRE' true true false 40 Text 0 0 ,First,#,56155_AEP_TRC,DIAMETRE,-1,-1,44072_AEP_TRC,DIAMETRE,-1,-1,44097_AEP_TRC,DIAMETRE,-1,-1,44125_AEP_TRC,DIAMETRE,-1,-1,44135_AEP_TRC,DIAMETRE,-1,-1,44069_AEP_TRC,DIAMETRE,-1,-1,56058_AEP_TRC,DIAMETRE,-1,-1,44055_AEP_TRC,DIAMETRE,-1,-1,56030_AEP_TRC,DIAMETRE,-1,-1,44049_AEP_TRC,DIAMETRE,-1,-1,44211_AEP_TRC,DIAMETRE,-1,-1,44010_AEP_TRC,DIAMETRE,-1,-1,44183_AEP_TRC,DIAMETRE,-1,-1,44006_AEP_TRC,DIAMETRE,-1,-1,44175_AEP_TRC,DIAMETRE,-1,-1;DATE_POSE 'DATE_POSE' true true false 8 Date 0 0 ,First,#,56155_AEP_TRC,DATE_POSE,-1,-1,44072_AEP_TRC,DATE_POSE,-1,-1,44097_AEP_TRC,DATE_POSE,-1,-1,44125_AEP_TRC,DATE_POSE,-1,-1,44135_AEP_TRC,DATE_POSE,-1,-1,44069_AEP_TRC,DATE_POSE,-1,-1,56058_AEP_TRC,DATE_POSE,-1,-1,44055_AEP_TRC,DATE_POSE,-1,-1,56030_AEP_TRC,DATE_POSE,-1,-1,44049_AEP_TRC,DATE_POSE,-1,-1,44211_AEP_TRC,DATE_POSE,-1,-1,44010_AEP_TRC,DATE_POSE,-1,-1,44183_AEP_TRC,DATE_POSE,-1,-1,44006_AEP_TRC,DATE_POSE,-1,-1,44175_AEP_TRC,DATE_POSE,-1,-1;LONG_CALC 'LONG_CALC' true true false 6 Float 2 5 ,First,#,56155_AEP_TRC,LONG_CALC,-1,-1,44072_AEP_TRC,LONG_CALC,-1,-1,44097_AEP_TRC,LONG_CALC,-1,-1,44125_AEP_TRC,LONG_CALC,-1,-1,44135_AEP_TRC,LONG_CALC,-1,-1,44069_AEP_TRC,LONG_CALC,-1,-1,56058_AEP_TRC,LONG_CALC,-1,-1,44055_AEP_TRC,LONG_CALC,-1,-1,56030_AEP_TRC,LONG_CALC,-1,-1,44049_AEP_TRC,LONG_CALC,-1,-1,44211_AEP_TRC,LONG_CALC,-1,-1,44010_AEP_TRC,LONG_CALC,-1,-1,44183_AEP_TRC,LONG_CALC,-1,-1,44006_AEP_TRC,LONG_CALC,-1,-1,44175_AEP_TRC,LONG_CALC,-1,-1;LONG_MES 'LONG_MES' true true false 6 Float 2 5 ,First,#,56155_AEP_TRC,LONG_MES,-1,-1,44072_AEP_TRC,LONG_MES,-1,-1,44097_AEP_TRC,LONG_MES,-1,-1,44125_AEP_TRC,LONG_MES,-1,-1,44135_AEP_TRC,LONG_MES,-1,-1,44069_AEP_TRC,LONG_MES,-1,-1,56058_AEP_TRC,LONG_MES,-1,-1,44055_AEP_TRC,LONG_MES,-1,-1,56030_AEP_TRC,LONG_MES,-1,-1,44049_AEP_TRC,LONG_MES,-1,-1,44211_AEP_TRC,LONG_MES,-1,-1,44010_AEP_TRC,LONG_MES,-1,-1,44183_AEP_TRC,LONG_MES,-1,-1,44006_AEP_TRC,LONG_MES,-1,-1,44175_AEP_TRC,LONG_MES,-1,-1;OBS 'OBS' true true false 254 Text 0 0 ,First,#,56155_AEP_TRC,OBS,-1,-1,44072_AEP_TRC,OBS,-1,-1,44097_AEP_TRC,OBS,-1,-1,44125_AEP_TRC,OBS,-1,-1,44135_AEP_TRC,OBS,-1,-1,44069_AEP_TRC,OBS,-1,-1,56058_AEP_TRC,OBS,-1,-1,44055_AEP_TRC,OBS,-1,-1,56030_AEP_TRC,OBS,-1,-1,44049_AEP_TRC,OBS,-1,-1,44211_AEP_TRC,OBS,-1,-1,44010_AEP_TRC,OBS,-1,-1,44183_AEP_TRC,OBS,-1,-1,44006_AEP_TRC,OBS,-1,-1,44175_AEP_TRC,OBS,-1,-1"

Mais ce n'est pas très facile a mettre en place.
Si quelqu'un a des idées sur comment le faire je suis preneur smile

Dernière modification par Jeremie56 (Fri 20 April 2012 11:24)

Hors ligne

 

#2 Fri 20 April 2012 11:44

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

Re: ArcGis 9.x Script pour assembler shape

Bonjour et bienvenue,

Si tu débutes sur ArcGIS, je te conseillerai de ne pas investir du temps dans le VBA car la version 10 d'ArcGIS est la dernière le supportant, dès la version 10.1, le support du VBA est limité (Page 2). Il vaudrait mieux investir du temps pour maîtriser le langage Python.

Et, il est possible d'assembler des shapefiles en Python. Un exemple de script est fournit dans la documentation : Merge (Data Management)

A+

Franck

Hors ligne

 

#3 Fri 20 April 2012 11:56

Jeremie56
Juste Inscrit !
Date d'inscription: 20 Apr 2012
Messages: 3

Re: ArcGis 9.x Script pour assembler shape

okay, je n'ai pas vraiment de préférence niveau langage, mais même avec le python je comprends pas trop comment est fait ce merge hmm.

Et vu que je n'ai pas vraiment de formation sur  Arcgis les termes utilise dans l'aide ne m'aide pas vraiment.

Si quelqu'un pouvait me montrer des exemples un poil plus concret , ou m'aider par rapport a mon cas, je suis preneur smile

Hors ligne

 

#4 Fri 20 April 2012 16:30

Jeremie56
Juste Inscrit !
Date d'inscription: 20 Apr 2012
Messages: 3

Re: ArcGis 9.x Script pour assembler shape

j'ai trouvé une "solution" en utilisant la biblioteque shapefile de python, mais cela ne fonctionne pas, comme si il ne trouve pas mes fichiers shape , :

Code:

# ————————————————-
# CountyToState.py
# A program that merges county-wide shapefile data
# and merges it into one state-wide shapefile.
# ————————————————-

# Create the Geoprocessor object
import os, sys, arcgisscripting, string
gp = arcgisscripting.create(9.3)

# Setup variables
gp.workspace = r”C:\Shp”  # The source directory
outshp = r’c:\shp\texas.shp’ # The output
fcstring = ” “

# List all workspaces (folders) 
workspaces = gp.listworkspaces(” “, “Folder”)

#Iterate through folders, set active workspace
for workspace in workspaces:
gp.workspace = workspace  # I found this was necessary

#List all feature classes (shapefiles) in folders
fcs = gp.ListFeatureClasses()

#Iterate through shapefiles
for fc in fcs:
#Create all shapefiles addresses (including)
# workspace in “;”-separated string for merging
fcstring=fcstring+str(workspace)+”\\”+str(fc)+”;”

#Merge shapefiles
gp.merge_management(fcstring,outshp)

Et de plus vu ma version de arcgis je ne peux utiliser arcgis

Hors ligne

 

Pied de page des forums

Powered by FluxBB