Affichage des articles dont le libellé est Python. Afficher tous les articles
Affichage des articles dont le libellé est Python. Afficher tous les articles

mardi 1 février 2011

Python ArcGIS : Interpolation en boucle

Mon problème était de créer un outil permettant de réaliser des interpolations en boucle sur plusieurs champs d'une même table. Ayant utiliser quelquefois VBA pour réaliser des outils sous ArcGIS, je savais qu'il était assez simple de réaliser cela. Mais, le langage Python prenant de plus en plus d'importance, j'ai décidé de me tourner vers celui-ci. Ne travaillant pas avec la version 10 d'ArcGIS, je ne peux utiliser la bibliothèque Arcpy.
Voici donc quelques extraits de codes qui peuvent être utiles.
#Split du résultat de la liste des champs à interpoler. La liste des champs étant choisit par l'utilisateur 
NomChamp = ListeChamps.split( ";" )
#Boucle sur la liste des champs
for a in NomChamp:
    gp.AddMessage("Début de l'interpolation")
#Sélection permettant d'interpoler uniquement les valeurs non nulles de la couche
    CouchePointsSelect = CouchePoints
    Requete = a+" IS NOT NULL"
    gp.SelectLayerByAttribute(CouchePoints, "NEW_SELECTION",Requete)
# Définition du chemin du raster en sortie
    output_tif = Dossier_Output+"/"+NomOutput+".tif"
#Interpolation avec les éléments CellSize et Radius définit par l'utilisateur dans un formulaire
    gp.Idw_sa(CouchePointsSelect, a, output_tif, CellSize, "2", Radius, "")
    gp.AddMessage("Interpolation réussie")

Au final, la programmation avec Python est beaucoup plus simple et puissante que le VBA.