[postgis-devel] [PostGIS] #451: ST_Area(geography, false) returns wrong result for objects crossing dateline
PostGIS
trac at osgeo.org
Thu Feb 25 05:57:31 PST 2010
#451: ST_Area(geography,false) returns wrong result for objects crossing dateline
---------------------+------------------------------------------------------
Reporter: pramsey | Owner: pramsey
Type: defect | Status: new
Priority: high | Milestone: PostGIS 1.5.1
Component: postgis | Version: 1.5.X
Keywords: |
---------------------+------------------------------------------------------
The st_area(geography, false) variant runs the area calculation on the
sphere rather than the spheroid. It returns a wrong answer when crossing
the dateline.
Here is the right answer, away from the dateline.
{{{
postgis20=# select st_area(g::geography,false)/1000000,
st_area(transform(geometry(g), 4326)), astext(geometry(g)) from (select
'POLYGON((9.5 2, 9.5 1, 8.5 1, 8.5 2, 9.5 2))'::geography) as foo(g);
?column? | st_area | astext
-----------------+---------+------------------------------------------
12360.265021368 | 1 | POLYGON((9.5 2,9.5 1,8.5 1,8.5 2,9.5 2))
(1 row)
}}}
Here is the answer we get
{{{
postgis20=# select st_area(g::geography,false)/1000000,
st_area(transform(geometry(g), 4326)), astext(geometry(g)) from (select
'POLYGON((179.5 2, 179.5 1, -179.5 1, -179.5 2, 179.5 2))'::geography) as
foo(g);
?column? | st_area | astext
------------------+---------+------------------------------------------------------
21896.2627343197 | 359 | POLYGON((179.5 2,179.5 1,-179.5 1,-179.5
2,179.5 2))
(1 row)
}}}
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/451>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-devel
mailing list