[R-sig-Geo] Computing polygon area with decimal degree coordinates
Roger Bivand
Roger.Bivand at nhh.no
Wed May 31 09:03:17 CEST 2006
On Wed, 31 May 2006, Patrick Giraudoux wrote:
> Dear Listers,
>
> The function areapl() of the package splancs computes polygon areas in
> the coordinate units. This means in square meters when using UTM or
> Lambert projections but in "square degrees" when using longlat degrees.
>
> Does anybody knows a R function (or an algorithm) to compute the area
> directly (without projecting or projecting internally), eg in square
> meters, of a polygon whose node coordinates are given in decimal degrees?
I think it could be done internally in the sp/src/Rcentroid.c function if
Area2() was rewritten to call sp_gcdist() on each of the four segments in:
area = (b[0] - a[0]) * (c[1] - a[1]) - (c[0] - a[0]) * (b[1] - a[1]);
but it would only be acceptable for larger areas. As it is, the area of
SpatialPolygons objects is really only used to create the plot order (to
plot larger polygons before smaller ones). In fact we only have the
measurement at the Polygon object level sensibly - above that we don't
really know whether multiple polygons in a Polygons object are holes or
not, so summing the component Polygon object areas in a Polygons object
may be wrong.
Roger
>
> Thanks for any hint,
>
> Patrick
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-sig-Geo
mailing list