[postgis-users] TR: strange behavior of ST_Area(geography)
Iida, Tetsushi
hogeman at gmail.com
Tue Oct 17 04:51:06 PDT 2017
Regina Obe wrote:
> What does this query return you
WITH poly AS (
SELECT
ST_SetSRID(ST_GeomFromText(
'POLYGON((138.002 37.001, 138.003 37.0010, 138.003 37.0013, 138.002 37.001))'
),4326) g1
),self_intersection AS (
SELECT g1, ST_Intersection(g1, g1) g2 FROM poly
)
SELECT ST_Equals(g1,g2), ST_Orientation(g1), ST_Orientation(g2),
ST_Area(g1) - ST_Area(g2) AS geom,
ST_Area(g1::geography) - ST_Area(g2::geography) AS geog1,
ST_Area(g1::geography) - ST_Area(ST_Reverse(g2)::geography) AS geog2
FROM self_intersection;
st_equals | st_orientation | st_orientation | geom | geog1
| geog2
-----------+----------------+----------------+------+---------------------+-------
t | -1 | 1 | 0 |
0.00582150976060802 | 0
The difference is small but it was surprising to me.
Mike Toews wrote:
> For PROJ versions prior to 4.9.0, the PostGIS algorithms are not
> robust for geographic area calculations, so I'm not surprised to see
> these results.
Thank you, I understand the problem.
More information about the postgis-users
mailing list