Bonjour,
Je suis en train dautomatiser certains géotraitements via Python. Jutilise pour cela les fonctions Python dArcGIS 9.3.1.
Dans une partie de mon code, jessaie de copier une couche dune géodatabase Enterprise sous ArcSDE 9.1 vers une géodatabase Enterprise sous ArcSDE 9.3. Une fois copiée, la couche est ensuite convertie en centroïdes.
Je travaille en Lambert 93.
Pour cela jutilise les lignes de codes suivantes :
Jusque là, tout se passe bien, après un problème avec le calcul de lindex spatial. Il ma été conseillé de repasser mes valeurs de grilles en entier. En laissant les valeurs en décimales, lerreur renvoyée était la suivante :
Depuis le passage en entier, tout se passe bien (enfin à peu près !).
La suite du traitement consiste à convertir la couche copiée polygonale en une couche de centroïdes. Mais voilà, de nouveau problème. Jobtiens le résultat suivant :
Jai revérifié ma couche de départ est bien en Lambert 93.
En base, mes valeurs de grille dindex sont bien en entier.
Au passage kje me retrouve avec mon erreur davant :
Si quelquun à une idée, je suis preneur (même juste une piste).
Pour info, toute mon infrastructure est en version 9.3.
J'ai bien regardé le message d'erreur également et ça sent encore le recalcul d'index spatial qui ne fonctionne pas!
Merci davance.
Vincent
PS: j'ai publié le message ici également: http://georezo.net/forum/viewtopic.p...257051#p257051
Je suis en train dautomatiser certains géotraitements via Python. Jutilise pour cela les fonctions Python dArcGIS 9.3.1.
Dans une partie de mon code, jessaie de copier une couche dune géodatabase Enterprise sous ArcSDE 9.1 vers une géodatabase Enterprise sous ArcSDE 9.3. Une fois copiée, la couche est ensuite convertie en centroïdes.
Je travaille en Lambert 93.
Pour cela jutilise les lignes de codes suivantes :
Code:
indexgrids = gp.CalculateDefaultGridIndex_management(couche_entree)
indexgrid1 = indexgrids.split(";")[0] grille1_float = float(indexgrid1.replace(",", "."))
grille1 = int(round(grille1_float,0))+1
grille2 = (grille1*3)
grille3 = (grille2*3)
if gp.exists(couche_copie):
gp.Delete_management(couche_copie, "FeatureClass")
gp.CopyFeatures_management (couche_entree, couche_copie, DEFAULTS",grille1,grille2,grille3)
Code:
Underlying DBMS error[Error executing PL/SQL Block db_stgeom_create_index::ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur]
La suite du traitement consiste à convertir la couche copiée polygonale en une couche de centroïdes. Mais voilà, de nouveau problème. Jobtiens le résultat suivant :
Code:
Exécution de:FeatureToPoint "chemin/couche_copie" "chemin/couche_centroide" CENTROID
Heure de début: Thu Sep 11 17:00:07 2014 ERROR 000372: La référence spatiale en sortie n'est pas valide. Effectuez la mise à jour nécessaire
Table not registered[couche_centroide]
Underlying DBMS error[Error executing PL/SQL Block db_stgeom_create_index::ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur][couche_centroid]
Echec de l'exécution de (FeatureToPoint).
En base, mes valeurs de grille dindex sont bien en entier.
Au passage kje me retrouve avec mon erreur davant :
Code:
Underlying DBMS error[Error executing PL/SQL Block db_stgeom_create_index::ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur][couche_centroid]
Pour info, toute mon infrastructure est en version 9.3.
J'ai bien regardé le message d'erreur également et ça sent encore le recalcul d'index spatial qui ne fonctionne pas!
Merci davance.
Vincent
PS: j'ai publié le message ici également: http://georezo.net/forum/viewtopic.p...257051#p257051