Calcul index spatiaux en python
Bonjour,
Je pense que je ne suis pas dans le bon forum mais je ne trouve pas de lieux appropriés pour cette question.
Nous voulons recalculer les index spatiaux de nos tables (environ 300 tables), on travaille via ArcGis. Nous avons créer un script python à l'aide des modèles d'ArcCatalog pour aller plus vite dans notre procédure mais le script ne fonctionne pas. Est-ce que python supporte d'avoir des boucles dans des boucles ? Voici notre script :
Code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import sys, string, os, arcgisscripting
gp = arcgisscripting.create()
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")
# Par ODBC :
import dbi, odbc
connection = odbc.odbc('QUAL/infogeo/infogeo')
SDE_layers = connection.cursor()
SDE_layers.execute ("SELECT TABLE_NAME FROM SDE.layers WHERE BASE_LAYER_ID = 0 AND OWNER = 'INFOGEO' ORDER BY TABLE_NAME")
#---------------------------------------------------------------------
requete = ("SELECT LAYER_ID, TABLE_NAME FROM SDE.layers WHERE BASE_LAYER_ID = 0 AND OWNER = 'INFOGEO' ORDER BY TABLE_NAME")
LAYER_ID = connection.cursor()
LAYER_ID.execute(requete)
for LAYER_IDS in LAYER_ID.fetchall():
resultat = ("select avg((((emaxx - eminx) + (emaxy - eminy))/2)*3) from F%s" % (LAYER_IDS[0]))#calcul esri
LAYER = connection.cursor()
LAYER.execute(resultat)
for grille_1 in LAYER.fetchall():
for SDE_layer in SDE_layers.fetchall():
# Local variables...
couche_sortie = "Connexions aux bases de données\\Connection to as-se64.sde\\INFOGEO." + SDE_layer[0]
couche_entree = "Connexions aux bases de données\\Connection to as-se64.sde\\INFOGEO." + SDE_layer[0]
#Ajouter un index spatial
gp.AddSpatialIndex_management(couche_entree, grille_1 , "0", "0") |
On veut imposer à arcGis l'index spatial que nous avons calculé et le mettre dans la grille 1.
Merci pour votre aide