#1 Mon 23 August 2010 22:01
- nicolas.degarne
- Participant occasionnel
- Date d'inscription: 18 Apr 2008
- Messages: 14
Afficher un raster grace a un script python
Bonjour,
Je souhaiterais savoir si il était possible d'afficher un raster dans arc map à partir d'un script python.
Code:
# Import des packages import sys, os, subprocess, time try: #pour les utilisateurs ArcGIS 9.2/9.3 import arcgisscripting gp = arcgisscripting.create() print "\n" + "Utilisation de ArcGIS 9.2/9.3 avec arcgisscripting..." + "\n" gp.AddMessage("\n" + "Utilisation de ArcGIS avec arcgisscripting..." + "\n") except: #pour les utilisateurs ArcGIS 9.0/9.1 import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1") print "\n" + "Utilisation de ArcGIS 9.0/9.1 avec win32com..." + "\n" gp.AddMessage("\n" + "Utilisation de ArcGIS 9.0/9.1avec win32com..." + "\n") # Lecture arguments paths inputfilename = sys.argv[1] wsize = sys.argv[2] tfactor = sys.argv[3] outputworkspace = sys.argv[4] algo = sys.argv[5] try: (inpath,infile)=os.path.split(inputfilename) infile=infile[:len(infile)-4]+'_ALGO_'+str(wsize)+'_'+str(tfactor)+'.tif' outputfilename=os.path.join(outputworkspace, infile) print outputfilename paramsfile = open('C:\\IDL\\parameters.txt', "w") paramsfile.write(inputfilename) paramsfile.write('\n') paramsfile.write(wsize) paramsfile.write('\n') paramsfile.write(tfactor) paramsfile.write('\n') paramsfile.write(outputfilename) paramsfile.close() except: gp.AddMessage(gp.GetMessages(2)) print gp.GetMessages(2) elif algo =="GDAL": print "GDAL" subprocess.call('C:/gdalalgo.exe', shell=True) elif algo =="IDL": print "IDL" subprocess.call('C:/gdalalgo.sav', shell=True) else : print "ERROR" time.sleep(2)
Je souhaiterais savoir si il existe ou non un fonction du style :
gp.AddLayer(outputfilename,".tif")?
Mes recherche ont montré que VBA permettait une plus grande interaction avec arcmap.
Donc je voulais savoir si il était possible de faire des interactions avec un script python ou si il fallait que je me résous à travailler avec VBA.
Merci d'avance et bonne journée
Nicolas
Hors ligne
#2 Tue 24 August 2010 14:12
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Afficher un raster grace a un script python
Bonjour,
L'avantage d'utiliser des scripts python est sans aucun doute le fait de pouvoir exécuter des taches Arcgis sans utiliser ArcMap ou ArcAtalogue
Ouvrir un raster dans ArcMap depuis un script python n'est pas possible à ma connaissance.
Pour connaitre les fonctionnalités (limitées) du géoprocesseur, vous pouvez consulter ce document http://webhelp.esri.com/arcgisdesktop/9 … sor_93.pdf.
Pour toute intéraction avec l'interface User d'Arcgis je vous conseille de travailler au plus simple en VBA sinon en VB ou autre.
Bon courage
A+
Hors ligne
#3 Tue 24 August 2010 14:19
Re: Afficher un raster grace a un script python
Pour toute intéraction avec l'interface User d'Arcgis je vous conseille de travailler au plus simple en VBA sinon en VB ou autre.
Le VBA n'est plus vraiment à conseiller pour ceux qui utilisent les dernières versions d'ArcGIS, cf http://blogs.esri.com/Dev/blogs/arcgis/ … 3F00_.aspx et la discussion sur GeoRezo http://georezo.net/forum/viewtopic.php? … 05#p175205
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#4 Tue 24 August 2010 15:01
- n314
- Participant assidu
- Date d'inscription: 6 Sep 2005
- Messages: 706
Re: Afficher un raster grace a un script python
D'autant plus qu'en version 10, la cartographie (au sens mise en page) peut se piloter via Python (cf par exemple la mise en avant esri des fonctionnalités d'atlas grâce à l'api python)
Dernière modification par n314 (Tue 24 August 2010 15:02)
Hors ligne