Pages: 1
- Sujet précédent - Calculatrice de champ : transformation involontaire de la géométrie - Sujet suivant
#1 Tue 24 July 2012 09:48
- marine.g
- Participant occasionnel
- Date d'inscription: 4 Aug 2009
- Messages: 43
Calculatrice de champ : transformation involontaire de la géométrie
Bonjour,
Je rencontre un problème assez curieux..
Je cherche à calculer un identifiant en passant par la calculatrice de champs. J'exécute cet outil dans un model Builder. Mon code fonctionne, il calcul bien mes identifiants (en récupérant l'ID le plus élevé existant dans la table et en completant les ID vides avec ce max+1 , max+2 et ainsi de suite. Le code est le suivant :
Code:
Static rec As Double Dim pMxDoc As IMxDocument Dim pFLayer As IFeatureLayer Dim pCursor As ICursor Set pMxDoc = ThisDocument Dim icompteur As Integer icompteur = 0 'couche recherchée While (pMxDoc.FocusMap.Layer(icompteur).Name <> "REAUA" Or icompteur = pMxDoc.FocusMap.LayerCount) icompteur = icompteur + 1 Wend If icompteur < pMxDoc.FocusMap.LayerCount Then Set pFLayer = pMxDoc.FocusMap.Layer(icompteur) 'Else 'Exit Sub End If 'déselectionne les champs sélectionnés Set pCursor = pFLayer.Search(Nothing, False) 'on prend les stats Dim pData As IDataStatistics Dim pStatResults As IStatisticsResults Dim Maximum As Double Set pData = New DataStatistics 'le nom du champ dont tu veux avoir le max pData.Field = "Id_arc" Set pData.Cursor = pCursor Set pStatResults = pData.Statistics Maximum = pStatResults.Maximum '2. Calcul des identifiants en fonction de la valeur maximum trouvée précédemment 'si l'identifiant est déjà renseigné sa valeur reste inchangée If [Id_arc] <> 0 Then rec = [Id_arc] 'sinon Else rec = Maximum + 1 End If
Mais le problème est qu'en exécutant cet outil, la géométrie de mes objets est modifiée! A la place de mon réseau linéaire d'origine, je me retrouve avec un réseau de quelques arcs seulement qui ne colle plus du tout avec le réseau d'origine!
Par contre, la table attributaire reste inchangée, j'ai bien le même nombre d'objets et les mêmes attributs qu'avant d'avoir exécuté cet outil.
Quelqu'un saurait-il ce qui déclenche cette transformation?
Merci d'avance,
Marine
Hors ligne
Pages: 1
- Sujet précédent - Calculatrice de champ : transformation involontaire de la géométrie - Sujet suivant