calculate polygon area

Mateusz Loskot mateusz at LOSKOT.NET
Thu Jul 20 06:20:22 PDT 2006


Ed McNierney wrote:
> Mateusz -
> 
> I don't mind the Earth being spherical as much as I object to the 
> concept of a "square degree".


Agreed.

> Since a "degree" is an angular measurement, not a linear one, the
> "square degree" mentioned in the code appears to refer to a patch on
> the surface of the sphere defined by two perpendicular one-degree
> angles with their vertices at the CENTER of the sphere.  In other
> words, for a given radius, one "square degree" is indeed a constant
> area.  And a useful concept for game programmers (I used to be one).

Yes, that's my consideration too. If we don't need very accurate
solution we can model the Earth as a sphere with constant well-defined
radius (e.g. mean radious of some ellipsoid).

Then we should get correct results, but as accurate as our model is
accurate.

> This is very confusingly similar to but different from the concept of
>  degrees of latitude and longitude, since a degree of longitude is a 
> one-degree angle with its vertex on a line between the poles, and NOT
> at the center of the Earth.

Yes.

> It appears that the code given (it's hard to tell, given the almost 
> complete absence of comments) takes "latitude" and "longitude" 
> coordinates as inputs, and then finds the angles of the triangles
> inside the defined polygon and calculates the area of those triangles
> using standard spherical geometry.


I think the input coordinates in this function are called lat/lon
to make it simplier to imagine the idea. But users should not assume the
results will be adequate to the Earth model in accuracy.

> If that's the case, then it is possible that the magic "square mi per
>  spherical degree" is the appropriate conversion factor for a roughly
>  spherical Earth, but I can't verify it since the code makes no
> effort to explain where that constant comes from.

The only way to verify is to run some tests.
I have used this procedure with small changes in one of my application
and it gave quite reasonable results, but not accurate in GIS terms :-)

> So it may indeed be possible that this code might produce rough and
> not terribly accurate results.

Yes.


Ed, thanks for nice talk with your interesting explanations.

Best regards
-- 
Mateusz Loskot
http://mateusz.loskot.net



More information about the MapServer-users mailing list