The main idea of Overlap() is to provide the measurement of the
separation between groups in 2D space.
Overlap() employs calculations of areas of polygons and their intersects
provided by 'PBSmapping' package. Initially, it was based on the code
provided by J. Oksanen for his "ordihulldist" function.
By default, overlaps are asymmetric, so overlap between a and b is not
necessarily equal to the overlap between b and a. If 'symmetric=TRUE',
then Overlap() will calculate symmetric overlaps, less precise but more
suitable, e.g., for interpreting overlaps as distances.
When 'negative=TRUE', Overlap() calculates also negative polygon-based
distances between non-overlapping polygons. They are symmetric and might
be used as similarities too (please look on examples).
summary.Overlap() provides some general numbers, including mean and total
overlaps for each hull. In these calculations, hulls without overlaps are
ignored. Note that summary.Overlap() calculates the arithmetic, not
geometric, mean (whereras symmetric Overlap() uses geometric mean). The
average of all overlaps could serve as the reliable measure of the
quality of dimension reduction.
Please also check out vegan::ordiareatest() function; this studies the
one-side hypothesis that actuall hull areas are smaller than with
randomized groups (i.e., that actuall hulls are better than random).