[postgis-users] Confused about results of spherical vs spheroidal area calculations

Peter Clark pclark at umn.edu
Thu Oct 11 09:55:09 PDT 2012


Hi:

I'm surprised at the discrepancy of area calculations from this query:

---------------

WITH shapes as (
  select 1 as rownum, ST_GeogFromText('POLYGON((-144 -63,-144 -54,-126 -54,-126 -63,-144 -63))') as shape
  union
  select 2 as rownum, ST_GeogFromText('POLYGON((-90 -63,-90 -54,-72 -54,-72 -63,-90 -63))') as shape
)
select rownum, ST_Area(shape) as spheroid, ST_Area(shape, false) as sphere,
       ST_Area(shape) - ST_Area(shape, false) as delta
from shapes;

---------------

which returns

 rownum |     spheroid     |      sphere      |      delta       
--------+------------------+------------------+------------------
      1 | 1040833443426.88 | 170313180619.486 | 870520262807.394
      2 | 1040833443426.88 | 1035406049943.11 | 5427393483.77466
(2 rows)

Both polygons should cover the same area on the globe - they're at the same latitude but shifted longitudinally. As expected, the spheroidal area is the same for both polygons, but the spherical area is *quite* different. The polygons don't touch any of the obvious edge cases like the poles, equator, or longitude 0 or 180.

Can someone explain this to me? Is this an expected result?

Best,
   Pete Clark





More information about the postgis-users mailing list