laptop and a wrench

Bogue

Using Python as an option with the 'Calculate Field' tool to calculate geometry generates an incorrect field value of '-1' if values in the expression are integers.

Dernière publication: August 25, 2014 ArcGIS for Desktop
Numéro d’ID de bogue NIM059935
EnvoiAugust 11, 2010
Dernière modificationJune 5, 2024
S’applique àArcGIS for Desktop
Version trouvée9.3.1
Système d’exploitationWindows OS
Version du système d’exploitation2008 64 Bit
StatutNon-Reproducible

Informations supplémentaires

No Public Explanation

Solution de contournement

Either cast as a float "float(!shape.area!), or use VB code like so:Dim pMxDoc As IMxDocumentDim pGeometry As IGeometryDim pMap As IMapDim pArea As IAreaDim dArea As DoubleDim dC As DoubleDim sOutMeasure As StringDim bSrefFromMap As Boolean'======================='Adjust the parameters below'bSrefFromMap = True ==> the area will be calculated in the projection of the Map'bSrefFromMap = False ==> the area will be calculated in the projection of the databSrefFromMap = False'unmark the desired output units'sOutMeasure = "Acres"'sOutMeasure = "Square Kilometers"sOutMeasure = "Square Meters"'sOutMeasure = "Square Miles"'=======================If (IsNull([Shape])) Then dArea = -1Else Set pGeometry = [Shape] If (pGeometry.IsEmpty) Then dArea = -1 Else If (bSrefFromMap) Then Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap pGeometry.Project pMap.SpatialReference Select Case pMap.MapUnits Case 3 'Feet Select Case sOutMeasure Case "Acres" dC = 0.00002295684 Case "Square Kilometers" dC = 0.0000000930787 Case "Square Meters" dC = 0.092903 Case "Square Miles" dC = 0.0000000359375 Case Else dC = 1 End Select Case 9 'Meters Select Case sOutMeasure Case "Acres" dC = 0.0002471 Case "Square Kilometers" dC = 0.000001 Case "Square Meters" dC = 1 Case "Square Miles" dC = 0.0000003861022 Case Else dC = 1 End Select Case Else dC = 1 End Select Else dC = 1 End If Set pArea = pGeometry dArea = pArea.Area * dC End IfEnd If

Étapes pour reproduire

ID de bogue: NIM059935

Logiciel:

  • ArcGIS for Desktop

Recevoir une notification lorsque le statut d’un bogue change

Télécharger l’application Esri Support

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement