Different area calculated between shapefiles and geodatabase

2438
6
03-11-2013 12:49 AM
lawrencegalakong
New Contributor
Hi. Our company recently purchased the ArcGIS Server. We migrated all of our GIS data from the native Shapefiles format to GeoDatabase. the problem, we get 2 different areas - hectares calculated in shapefiles are different than those calculated in the GeoDB. Does anybody have this problem? is this normal? because we have to explain the difference to our management.

Thanks.
0 Kudos
6 Replies
DanPatterson_Retired
MVP Emeritus
Are the differences huge? or could they be the result of precision differences?  Some example values would help
0 Kudos
LeoDonahue
Occasional Contributor III
I posted something similar to this a long time ago.  http://forums.arcgis.com/threads/17049-Buffer-getArea%28%29

I noticed that depending on how the data is stored and how you are calculating the area, you get different results.  For us, the area was different using FGDB vs SDE and ArcMap vs ArcObjects.

I think a few years ago ESRI admitted online somewhere that Shapefile storage was not as good as FGDB during the marketing for the new file formats. I wouldn't use Shapefiles anymore for anything relating to calculating area.
0 Kudos
lawrencegalakong
New Contributor
Are the differences huge? or could they be the result of precision differences?  Some example values would help


hi. the area difference is shown below. hectares are stored in a field with Double (10,2) format.

Hectares in GeoDb = 48,597.64 
Hectares in Shape = 48,615.66
Difference            = 18.02
0 Kudos
DanPatterson_Retired
MVP Emeritus
create a feature of known dimensions (ie a rotated rectangle) and save it in the various formats you work with and calculate the coordinates, perimeter and area of said feature.  i have never found shapefiles to yield erroneous dimensions in either location, perimeter or area
0 Kudos
lawrencegalakong
New Contributor
hi dan. i think i know what the problem is. we're taking area (hectares) only to 2 decimal points, and when ArcGIS calculates the area, it takes the value to 2 decimal points without considering the value of the third decimal point; 2.1588 should be 2.16, but it returns 2.15. Please see the image below: -

[ATTACH=CONFIG]22823[/ATTACH]

"HECTARES" -> stores the area calculated in shape format using the Calculate Geometry function
"HA2" -> stores the area calculated in geodb format using the Calculate Geometry function
"HA3" -> stores the area calculated by dividing "SHAPE.STArea()" with 10000

is there any workaround for this? thanks.
0 Kudos
LouiseDuffy2
New Contributor
Just wondering if you have gotten an answer to this.
0 Kudos