IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Calcul index spatiaux en python


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    Reponse rapide a ta question. Oui les boucles dans les boucles marchent en Python.

    Si ton compte est bien indente, i.e. du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for item in truc:
        for sousitem in bidule:
            ...
    alors ca roule.

    Pourrais tu aussi poster le message d'erreur?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut
    Salut

    Merci pour la réponse des boucles (avec du retard). On a résolu notre problème après divers essais. Le code fait au moins deux pages, on a du mettre des conditions pour un bon nombre de table afin que notre code ne plante pas.
    Le message d'erreur nous donnais une "erreur non spécifique", on a changé nos requêtes SQL et c'est bon.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2010, 13h32
  2. Calcul index 10g
    Par olivanto dans le forum Administration
    Réponses: 2
    Dernier message: 23/10/2008, 10h47
  3. Question de calcul d'index
    Par Vince7-7 dans le forum Oracle
    Réponses: 1
    Dernier message: 15/02/2007, 10h22
  4. Oracle816 - Calcul de stats - index
    Par robb21 dans le forum Oracle
    Réponses: 2
    Dernier message: 09/06/2006, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo