Skip to main content

Good afternoon,


I'm working on a project
where I am doing an area analysis for a set of polygons. The area is
calculated in hectares in MapInfo and converted to a shapefile in FME;
however, when the area is recalculated in ArcMap, the results are
different at a consistent rate of 1.0039 (i.e. MapInfo: 34.6516368 ha;
ArcMap 34.7855988 ha). The projection & coordinate system remain
unchanged during the conversion so the area should remain the same. The
same discrepancy occurs when an Esri shapefile is converted to MapInfo
and calculated.

 

Would you be able to provide insight as to the discrepancy?

Thanks!

If you calculate the area in FME which one does it match?


This type of issue quite often turns out to be one of decimal precision. Some applications only complete calculations to a constrained precision and some exported data can have it's precision rounded on export. I found a similar issue recently between two calculations completed in MapInfo and FME, it was discovered that MapInfo when it exports to MIF/MID rounds the data precision signinficantly which is what introduced the discrepancy. If I were you I'd take @egomm's advice and read the MapInfo data with FME, calculate the Hectare value using the AreaCalculator with the appropriate multiplier defined and then write it straight out to Shape all in one go. If you want to be sure of the precision use the CoordinateRounder right at the front to control the precision to a sensible degree of detail for your process.

Hope that helps.


Hi @dwmuzika

I wonder if this is MapInfo Spherical vs. Cartesian issue. Please check your MapInfo Options > Window > Map Window > Projection > Distance/Area using: and change the setting. I believe, the default is Spherical while Arc calculates Cartesian.


There are 2 things that influence area calculation in In MapInfo:

Bounds: this is one of the strangest beasts in MapInfo. Bounds is the maximum extent of a .TAB file. It is stored with the coordinate system and also defines the resolution of the coordinates (1/(2*10^9) of the bounds extents in both direction). It means a few centimetres resolution if the bounds is left global, I don't think it causes such a difference at 35 ha.

Spherical/Cartesian setting in Options/Map Window/Projection/"Distance/Area using:" Depending on the distortion at the location in your coordinate system it may cause such a difference.


Hi @dwmuzika

I wonder if this is MapInfo Spherical vs. Cartesian issue. Please check your MapInfo Options > Window > Map Window > Projection > Distance/Area using: and change the setting. I believe, the default is Spherical while Arc calculates Cartesian.

It took me so long to type in the same answer 😃

I'm with @1spatialdave and think it's a decimal precision issue. I wonder if it might even be that the formats themselves have different precisions, or one is integer and the other floating point.

Open the Shape data and the MapInfo data in the FME Data Inspector. Check a coordinate on a single feature to compare the two. Are the coordinates exactly the same? They might not be, and if not that would be one reason for a tiny difference. But the CoordinateRounder would help there I think.


It should be the precision issue. I would use ArcGIS to do the calculation. In MapInfo, in the past if you zoomed to a very large scale and tried to digitize points, they would snap to a grid rather than draw on where you clicked. Perhaps this might have changed since then.


Thanks
for all your replies. It looks like a Cartesian vs. Spherical issue. I'm
running v12.5, and while updating the preferences I can’t get the default to
change from spherical when updating area in the table eArea(obj,
"hectare")], but using gCartesianArea(obj, "hectare")]
allowed me to match the Esri results. I’ll continue to look into changing the default
settings, but it looks like it’s been resolved. Thanks again!


Thanks
for all your replies. It looks like a Cartesian vs. Spherical issue. I'm
running v12.5, and while updating the preferences I can’t get the default to
change from spherical when updating area in the table eArea(obj,
"hectare")], but using gCartesianArea(obj, "hectare")]
allowed me to match the Esri results. I’ll continue to look into changing the default
settings, but it looks like it’s been resolved. Thanks again!

In 12.5 the setting is also somewhere in Map Window or Map settings in Options. I don't have 12.5 handy - sorry, can't check where exactly the setting is.

 

 


Reply