laptop and a wrench

Bug

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.

Zuletzt veröffentlicht: August 25, 2014 ArcGIS for Desktop
Bug-ID-Nummer NIM059935
EingereichtAugust 11, 2010
Zuletzt geändertJune 5, 2024
Gilt fürArcGIS for Desktop
Gefunden in Version9.3.1
BetriebssystemWindows OS
Betriebssystemversion2008 64 Bit
StatusNon-Reproducible

Zusätzliche Informationen

No Public Explanation

Workaround

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

Schritte zur Reproduzierung

Bug-ID: NIM059935

Software:

  • ArcGIS for Desktop

Benachrichtigung erhalten, wenn sich der Status eines Bugs ändert

Esri Support App herunterladen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln