I may be misunderstanding the discussion about polygon area, but: At the risk of restating a well-known fact, it's not mathematically complicated to compute the area of a polygonal region (consisting of one or more separate regions bounded by polygons, possibly including holes) on any oriented two-dimensional surface (a plane, a sphere, a blob) using any measure of area, provided we have the following information: - a list of all edges, in any order, oriented so that the interior is to the left of each edge (the edges are traversed anticlockwise on the exterior, clockwise for a hole, etc); - the area (in the sense you want) of the trapezium bounded by an edge, meridians through the two endpoints, and a fixed baseline which is outside the polygon.
No information is required about how the edges fit together. No decomposition or geometric manipulation of the polygon is required, because area is additive with respect to sets. For example in the flat plane, we can define meridians to be vertical lines and the baseline to be the x-axis. Just shift the polygon so that it is above the x-axis. Then associate with each edge the trapezium bounded by the edge, two vertical lines that go through the endpoints, and the x-axis. Compute the area of each trapezium. Add these areas with the appropriate sign, and you get the polygon area. This is just the `discrete Green's formula'. [This algorithm is implemented in package 'spatstat'.] On a sphere, or a sphere-like surface, in any coordinate system, define meridians to be the lines of constant longitude coordinate, and the baseline can be the south pole (a point, but that's OK). Then all we need to know is the area (in the sense we want) of the triangular region delineated by an edge and the two meridians that stretch from the edge's endpoints to the south pole. Sum these areas (with the appropriate sign) and we get the polygon area. [Other choices of baseline can be used if you only have a local coordinate system.] regards Adrian Baddeley _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo