#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 .
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
Dernière modification par Jeremie56 (Fri 20 April 2012 11:24)
Hors ligne
#2 Fri 20 April 2012 11:44
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 .
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
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