I. General
Overview
About this document
This is the software requirement specification and design log of the orange package. As there is a large combination of input variables for every implemented approach, this document is intended to be coordinating the development and and ensure a homogeneous interface and structure through the package.
This document provides: - Define boundaries for the software package. - Define rules for consistent interface development - Provide rationale for implementation decisions - Forms the basis for the scientific article describing the effort.
Purpose of the orange package
The boundaries of this package can be drawn at the simple task: using spherical shape information (e.g. taxon distribution data), it allows the calculation of numeric descriptors (shape) that characterize the sphes using their intrinsic, geometric characteristics, and how they are modified by providing some information that modify simple spherical geometry (e.g. a mask that limits habitable space).
Correctness
Although these calculations can be represented with ‘simple’ abstractions, the input data can vary extremely and the implementation of these methods can be executed with varying awareness of the difficulties imposed by spherical geometry, that may be erroneous in some cases (such as convex hull calculations). Therefore it is a core philosophy of the orange package, that implementations need to be correct, regardless whether the input data are globally distributed or confined to a simple region.
Transparency
Since the metrics implemented here often reduce complex information to a single number, users must get access to intermediate data objects to accurately assess the correctness of what they are calculating - as well as being able to use the intermediate objects in other, unexpected calculations.
Input specifications
Repetition goes to the index page.
Although many metrics defined here have been available in simple application scenarios, they can be extended almost trivially to other combinations of input data, which may have better uses in some cases. This section reviews the types of input data used as the basis of geographic shape analysis (especially for taxon distribution data), which are later used to systematically review and develop specific methods.
Primary input: distribution sample
The functions of metrics are S4 methods that are implemented for multiple primary data input classes. The primary input is (following R tradition) parametrized as x. The x parameter can be any of the following input data structures:
-
coordmat: A two-column tabular structure that inherits from
matrix. The simplest input format, implies long-lat for the two columns. -
coorddat: A
data.framewith geographic coordinates. The column of coordinates need to be specified, they default tolong="long"andlat="lat", but these can be specified. May contain subsets (implied: different taxa), for which most functions support iteration (taxis the index for this). -
sfpoints: A multipoint object, either of classes
sforsfc. -
sf-polygons: A multipolygon class object
sforsfc. -
icell: Vector of cell identifiers of an icosahedral grid (
icosa::hexagridoricosa::trigrid), acharactervector. Note that these can only be used together with ans=icosatype icosahedral grid. -
rast: A
SpatRasterclass object defined in theterrapackage.
Note that the input types coordmat -> coorddat -> sfpoints represent a natural order of promotion. If a method is described for a lower rank type, it is automatically assumed that without the addition of other parameters, the methods for the higher-rank types are implemented as well. Arguments based on sf are not yet supported, they will be included later.
In case of some input types, specific components can be specified with the following parameters. - long: Column name indicating longitudes (character) - lat: Column name indicating latitudes (character) - tax: Column name indicating taxa, or other functional units that can be used to split a dataset and the calculation of a metric to be iterated with it.
Secondary input: spatial structures
Many methods either rely or can incorporate additional spatial structures to interact with the original distribution data. These pre-specified structures are denoted with s. This parameter might have a pivotal influence on how a metric behaves. For example occupancy is defined in most cases as how much of s is occupied by x. In other cases, s can be used as a discretization substitute for the original data x, for example, by replacing the original point distribution data with the centers of cells in an icosahedral grid. The different types of s include:
-
missing: Ifsis an parameter of a function, then there might be cases when spatial structuring is implied. -
character: Used when ax=coorddat, a column name that included implied structure, such as locality names. -
icosa: An icosahedral grid object defined with eithericosa::trigridor the derived classicosa::hexagrid.
-
sf-polygons: an sf/sfc class object that includes polygons. -
rast: A SpatRaster-type object.
Additional data parameters
This is a list of additional parameters that may be necessary for some metrics.
-
p: Geographic coordinates (long, lat) of a single point given as a two-column matrix. -
mask: Another spatial structure that allows the exclusion of a certain area from the calculation of a metric. -
q: A single real number in the range of[0,1], expressing confidence or critical interval,numeric. -
prop: In some cases this switch can be used to trigger proportional results. -
dm: A distance matrix that may replace a default distance matrix (e.g. a great circle distance matrix). Frequently used to refine the spatial environment, e.g. consider distances only on water, only on land, etc. -
unique: A logical switch indicating whether duplicate coordinates be omitted before the calculations, which can have effects on the results in some cases (e.g. centroid calculation). For the sake of efficiency and transparency, this is set to toTRUEby default, which means that every coordinate pair is considered only once in the calculations. The effects can be explored after a deliberate inclusion of duplicates.
Behavioral modifiers
This list of parameters that change the behavior of functions. - full: Boolean switch indicating whether a single estimate or diagnostic/partial data should be returned from an object. - plot: Boolean switch indicating whether the standard visualization of the method should be executed or not. Defaults to FALSE. - iter: Natural number indicating the number of iterations to be executed. Usually used for metrics using Monte Carlo estimation.
Output specification
The default behavior of estimators is to return a single numeric value for every distribution, which is the result of the argumentation full=FALSE. This can be switched to TRUE, which will make range and shape metrics output objects that inherit from the orange class. Every orange class object must have at least two elements: - $estimate: The numeric estimate calculated with the function. - partials: Additional list elements that can be used to inspect the accuracy of the method, as well as plotting additional ftod
Metrics and methods
This sections deals with some implementation details.
Function call stack notes
There are three tiers of functions: - 1. Generics that define the names of the methods. - 2. Methods that invoke an internal logic applicable for as set of input classes. - 3. Internals that implement a logic.
Methods are defined using the rules of S4 method dispatch, based on the primary arguments x and s,
II. Range/extent esimators
Occupancy
The metrics are implemented with the occupancy generic function. Occupancy is the number of elements in a spatial structure (s) that is indicated to occupied by the distribution object (x). These spatial structures can be implied (coordinates), named localities, or irregular and regular (grids) sets of spherical polygons.
Overview of occupancy methods
Number of occupied coordinate pairs
Returns the number of occupied coordinate pairs.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat) |
| Internal | occupancy_coords |
| Basic return | The number of occupied coordinate pairs. |
| Full return |
$estimate: The number of occupied coordinate pairs. |
$occupied: Unique coordiate pairs occupied by the data. |
Number of occupied coordinate pairs iterated for taxa
Returns the number of occupied coordinate pairs - can be repeated for every taxon.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, tax) |
| Internal | occupancy_coords |
| Basic return | The number of occupied coordinate pairs: a vector of occupancies for every taxon. |
| Full return | A list-array of taxa, every element referring to one taxon. The elements of these entries are: |
$estimate: The number of occupied coordinate pairs. |
|
$occupied: Unique coordiate pairs occupied by the taxon. |
Number of occupied named localities
Returns the number of different locality entries.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, s) |
| Internal | occupancy_coords |
| Basic return | The number of localities. |
| Full return |
$estimate: The number of localities occupie. |
$occupied: Vector of unique locality entries occupied by the data. |
Number of occupied named localities, iterated for taxa
Returns the number of different locality entries - can be repeated for every taxon.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, s, tax) |
| Internal | occupancy_coords |
| Basic return | The number of occupied localities: a named vector of occupancies for every taxon. |
| Full return | A list-array of taxa, every element referring to one taxon. The elements of these entries are: |
$estimate: The number of occupied localities. |
|
$occupied: Vector of unique locality entries occupied by the taxon. |
Occupied grid cells in an icosahedral grid based on point data
Returns the number of occupied grid cells in an icosahedral grid.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat, s=icosa) |
| Internal | occupancy_coords |
| Basic return | The number of grid cells occupied. |
| Full return |
$estimate: The number of grid cells occupied. |
$occupied: Vector of unique grid cells identifiers occupied by the data. |
|
| Test case |
pinna and hexagrid(deg=5)
|
Occupied grid cells in an icosahedral grid based on point data, iterated for taxa
Returns the number of occupied grid cells in an icosahedral grid.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, s=icosa, tax) |
| Internal | occupancy_coords |
| Basic return | The number of occupied grid cells: a named vector of occupancies for every taxon. |
| Full return | A list-array of taxa, every element referring to one taxon. The elements of these entries are: |
$estimate: The number of grid cells occupied by the taxon. |
|
$occupied: Vector of unique grid cells occupied by the taxon. |
|
| Test case |
pinna and hexagrid(deg=5)
|
Occupied grid cells in an icosahedral grid, with a confidence cut-off
Returns the expected number of occupied grid cells that represent q* 100% of the overal number of records.
Multiple implementations possible. These can be: - minimizing the range method="min": tabulating the record distribution on cells, sorting them in decreasing order of record counts, and omitting the rarest cells until only the q proportion of records are considered - the expectation for the range, method="mean", iter=100. Records are randomly drawn until q proportion of the overall cover is reached.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat, s=icosa, q=0.95) |
| Internal | occupancy_coords_icosa |
| Return |
$estimate: the number of grid cells occupied, $cells: The IDs of occupied cells |
| Test case |
pinna and hexagrid(deg=5)
|
Occupied grid cells in an icosahedral grid, with a confidence cut-off, iterated for taxa
Returns the expected number of occupied grid cells that represent q* 100% of the overal number of records.
Multiple implementations possible. These can be: - minimizing the range method="min": tabulating the record distribution on cells, sorting them in decreasing order of record counts, and omitting the rarest cells until only the q proportion of records are considered - the expectation for the range, method="mean", iter=100. Records are randomly drawn until q proportion of the overall cover is reached.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, s=icosa, tax, q=0.95) |
| Internal | occupancy_coords_icosa |
| Return |
$estimate: the number of grid cells occupied, $cells: The IDs of occupied cells |
| Test case |
pinna and hexagrid(deg=5)
|
Occupied polygons in an sf or sfc polygon/multipolygon object
The original definition for occupancy. Executes an intersection join, and calculates the number of occupied polygons.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat, s=sfc) |
| Internal | occupancy_coords_sfc |
| Return |
$estimate: the number of grid cells occupied, $ids: The IDs of occupied polygons |
| Test case |
countries and some terrestrial data |
The sf-method invokes the sfc method.
Occupied polygons in an sf or sfc polygon/multipolygon object, iterated for taxa
The original definition for occupancy. Executes an intersection join, and calculates the number of occupied polygons.
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddat, s=sfc, tax) |
| Internal | occupancy_coords_sfc |
| Return |
$estimate: the number of grid cells occupied, $ids: The IDs of occupied polygons |
| Test case |
countries and some terrestrial data |
Occupied cells in a SpatRaster object
Returs the number of cells where the value is at least the value given as threshold.
| Field | Value |
|---|---|
| Usage | occupancy(x=rast) |
| Internal | occupancy_coords_rast |
| Return |
$estimate: the number of grid cells occupied, |
Occupied cells in an icosahedral grid based on a SpatRaster object
Returns the number of cells where at least one raster cell has a value that is at least the value given as threshold.
| Field | Value |
|---|---|
| Usage | occupancy(x=rast, s=icosa) |
| Internal | occupancy_coords_rast |
| Return |
$estimate: the number of grid cells occupied, $cells: The IDs of occupied cells |
Occupied polygons based on a SpatRaster object
Returns the number of polygon s where at least one raster cell has a value that is at least the value given as threshold.
| Field | Value |
|---|---|
| Usage | occupancy(x=sfc, s=icosa) |
| Internal | occupancy_coords_rast |
| Return |
$estimate: the number of grid cells occupied, $ids: The IDs of occupied polygons |
Proportional occupancy
These metrics are also implemented with the occupancy function, and are triggered when the prop general argument is set to a non-NULL value. The implementation of these metrics are strongly tied to normal occupany calculations, and their output matches that of normal occupancy calls, except that these will return proportions instead of counts as estimates. Two different metrics are defined here, depending on what a proportion relates to:
- Global proportional occupancies (
prop="global")
- Relative proportional occupancies (
prop="relative")
Global proportional occupancies
Global proportional occupancies express how many out of the globally available spatial slots are occupied by the distribution data x, where global is given by the spatial structure itself. This can be the total number of grid cells, the total number of polygons, etc. These metrics are available only in those cases when s is a self-sufficient spatial structure, such as icosa, sf-polygons or a SpatRaster object. For cases when s is missing or character, setting prop="global" triggers an error: since in these cases the number globally available spatial slots is unknown to the function.
Relative proportional occupancies
In contrast, relative proportional occupancies express how many out of the sampled spatial slots is occupied by the data, where what is sampled is given by x itself. For instance, when a tax argument is used to iterate the calculation of the metric across different taxa, the relative proportional occupancies will return how many of the spatial slots out of the totally sampled ones are occupied by a taxon. This can be particularly useful when comparing data from multiple temporal horizons, where the spatial coverage of overall sampling varies. When this method is triggered with tax=NULL, the estimates default to 1.0 (i.e. total occupancy).
Maximum Distance
The method is implemented with the maxdist function. For convenience, the alias mgcd is also provided.
Overview
| Internal Name | Method | Args | What it does | |
|---|---|---|---|---|
| ✅ | maxdist_coords |
x: coordmat, dm:NULL, |
q=1 |
The maximum great circle distance in a point set. |
| ✅ | maxdist_coords |
x: coorddat, dm:NULL, |
q=1, long, lat
|
The maximum great circle distance in a point set data.frame. |
| ✅ | maxdist_coords |
x: coordmat, dm:dm, |
q=1 |
The maximum great circle distance in a point set with a pre-defined distance matrix. |
| ✅ | maxdist_coords |
x: coorddat, dm:dm, |
q=1, long, lat
|
The maximum great circle distance in a point set data.frame with a pre-defined distance matrix. |
| ❌ | maxdist_coords |
x: coordmat, dm:NULL |
q=q, |
Quantile great circle distance |
| ❌ | maxdist_coords |
x: coorddat, dm:NULL |
q=q, long, lat
|
Quantile great circle distance |
| ❌ | maxdist_coords |
x: coordmat, dm:dm, |
q=q, |
Quantile great circle distance in a point set with a pre-defined distance matrix. |
| ❌ | maxdist_coords |
x: coorddat, dm:dm, |
q=q, long, lat
|
Quantile great circle distance in a point set data.frame with a pre-defined distance matrix. |
| ❌ | maxdist_coords |
x: coordmat, icosa
|
q=1 |
The maximum great circle distance in a point set. |
| ❌ | maxdist_coords |
x: coorddat, icosa
|
q=1, long, lat
|
The maximum great circle distance in a point set data.frame. |
| ❌ | maxdist_coords |
x: coordmat, icosa
|
q=q, |
Quantile great circle distance |
| ❌ | maxdist_coords |
x: coorddat, icosa
|
q=q, long, lat
|
Quantile great circle distance |
Maximum Great Circle Distance with a given points
The basis for the method.
| Field | Value |
|---|---|
| Usage |
maxdist(coordmat), mgcd(x=coordmat)
|
| Internal | maxdist_coords |
| Return |
$estimate: the number of grid cells occupied, $where: Indices of point pairs. |
| Test case | pinna |
When the distance matrix parameter dm is not provided, the method will omit duplicates and calculate the Great Circle Distance Matrix with icosa::arcdistmat.
Maximum Distance with a given points specifying a distance matrix
This can be used in case topography/habitat-defined routes are more important than great circle distances, or when the distance matrix would have to recalculated.
| Field | Value |
|---|---|
| Usage | maxdist(coords, dm=dm) |
| Internal | maxdist_coords |
| Return |
$estimate: the maximum distance calculated, $index: The row and column index of the relevant point pair. |
| Test case | pinna |
Quantile distance between points (Maximum distance with a confidence cutoff)
The same behavior as with the methods above, except that a frequency-distribution of the distances is calculated first, and the q quantile of the frequency distribution becomes the estimate. Works both with and without a pre-specify distance matrix.
| Field | Value |
|---|---|
| Usage | maxdist(coords, dm=dm, q=0.95) |
| Internal | maxdist_coords |
| Return |
$estimate: the distance calculated, |
| Test case | pinna |
The visualization of the method is based on a histogram.
Latitudinal range - latrange
Overview
| Internal Name | Method | Args | What it does | |
|---|---|---|---|---|
| ✅ | range |
x: coordmat
|
q=1, long, lat
|
Latitudinal range of a long-lat point cloud. |
| ✅ | range |
x: coorddat, |
q=1, tax , long, lat
|
Latitudinal range of a long-lat point cloud. |
| ❌ | range |
x: coordmat, |
q<1, long, lat
|
Quantile latitudinal range of a long-lat point cloud. |
| ❌ | range |
x: coorddat, |
q<1, tax , long, lat
|
Quantile latitudinal range of a long-lat point cloud. |
| ❌ | range |
x: SpatRaster, |
q=1, long, lat, threshold=0
|
Latitudinal range of an SpatRaster. |
| ❌ | range |
x: sf-points, |
q=1, long, lat
|
Latitudinal range of an sf point cloud. |
Latitudinal range of a long-lat point cloud
Returns the latitudinal range of a single longitude-latitude point cloud.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat) |
| Internal | range |
| Return |
$estimate: the number of occupied coordinate pairs, $range: minimum and maximum longiude |
| Test case |
pinna, divDyn::corals
|
-
duplicateshave no effect whenq=1
Latitudinal range of a long-lat point cloud (data.frame)
Returns the latitudinal range of a single or multiple longitude-latitude point cloud(s).
| Field | Value |
|---|---|
| Usage | occupancy(x=coorddf) |
| Internal | range |
| Return |
$estimate: the number of occupied coordinate pairs, $range: minimum and maximum longiude |
| Test case |
pinna, divDyn::corals
|
- Use
taxto iterate for multiple taxa.
Fixed radius - fixrad
The generic of this metric is the fixrad function. For convenience, the alias `` is also provided. This metric is similar to the Maximum Distance, but instead of calculating a full distance matrix, distances compared to a single point are assessed. This point defaults to the centroid.
Overview
| In | Internal Name | Main Input | What it does |
|---|---|---|---|
| ✅ | fixrad_coords |
x=coords, p=centroid(coords) |
The centroid radius of the point cloud. |
| ✅ | fixrad_coords |
x=coords, p=centroid(coords), q=q
|
The centroid radius of the point cloud. |
Centroid radius
The method calculates every point’s distance to the centroid and searches for the maximum.
| Field | Value |
|---|---|
| Usage | fixrad(coords) |
| Internal | fixrad_coords |
| Return |
$estimate: the distance calculated, $index: which coordinate is the farthest from the centroid. |
| Test case | pinna |
Centroid quantile radius
The method calculates every point’s distance to the centroid, tabulates the frequency distribution of the distances, and then returns distance for a q quantile.
| Field | Value |
|---|---|
| Usage | fixrad(coords, q=0.95) |
| Internal | fixrad_coords |
| Return |
$estimate: the distance calculated, $index: which coordinate is the farthest from the centroid. |
| Test case | pinna |
Zonal area
Minimum Spanning Tree (MST) Length
Overview
| Internal Name | Method | Args | What it does | |
|---|---|---|---|---|
| ✅ | mstlength_coords |
x: coordmat, dm:NULL, |
q=1 |
The length of great circle arcs forming an MST in a point set. |
| ✅ | mstlength_coords |
x: coorddat, dm:NULL, |
q=1, long, lat, tax
|
The length of great circle arcs forming an MST in a point set data.frame, iteratated for every tax. |
| ✅ | mstlength_coords |
x: coordmat, dm:dm, |
q=1 |
The length of great circle arcs forming an MST in a point set with a pre-defined distance matrix. |
| ❌ | mstlength_coords |
x: coorddat, dm:dm, |
q=1, long, lat, tax
|
The length of great circle arcs forming an MST in a point set with a pre-defined distance matrix, iteratated for every tax. |
| ❌ | mstlength_coords |
x: coordmat, dm:NULL |
q<1, |
The quantile length of great circle arcs forming an MST in a point set. |
| ❌ | mstlength_coords |
x: coorddat, dm:NULL |
q<1, long, lat , tax
|
The quantile length of great circle arcs forming an MST in a point set, iterated for every tax. |
| ❌ | mstlength_coords |
x: coordmat, dm:dm, |
q<1, |
The quantile length of great circle arcs forming an MST in a point set, with a pre-defined distance matrix. |
| ❌ | mstlength_coords |
x: coorddat, dm:dm, |
q<1, long, lat, tax
|
The quantile length of great circle arcs forming an MST in a point set, iterated for every tax, and with a pre-defined distance matrix. |
| ❌ | mstlength_icosa |
x: coordmat, s:icosa
|
q=1 |
The length of great circle arcs forming an MST of icosahedral grid cell centers. |
| ❌ | mstlength_icosa |
x: coorddat, s:icosa
|
q=1, long, lat, tax
|
The length of great circle arcs forming an MST of icosahedral grid cell centers, iterated for every tax. |
| ❌ | mstlength_icosa |
x: coordmat, s:icosa
|
q<1, |
The quantile length of great circle arcs forming an MST of icosahedral grid cell centers. |
| ❌ | mstlength_icosa |
x: coorddat, s:icosa
|
q<1, long, lat, tax
|
The quantile length of great circle arcs forming an MST of icosahedral grid cell centers, iterated for every tax. |
The length of great circle arcs forming an MST in a point set
Takes every coordinate pair and constructs an MST from the great circle distances between the points. The sum length of this MST becomes the estimate.
| Field | Value |
|---|---|
| Usage | mstlength(coordmat) |
| Internal | mstlength_coords |
| Return |
$estimate: the total length of the MST (in km) |
$index: the strucutre of the MST, which coordinate pair is connected with which |
|
$show: Matrix of coordinates indicating what should be visualized |
|
| Test case | pinna |
- When the distance matrix parameter
dmis not provided, the method will omit duplicates and calculate the Great Circle Distance Matrix withicosa::arcdistmat. -
duplicates=TRUEhas no effect on the estimate as the distance between matching coordinate pairs is 0.
The length of great circle arcs forming an MST in a point set data.frame, iteratated for every tax.
The same method as above, but iterated for every entry in tax.
| Field | Value |
|---|---|
| Usage | mstlength(coordmat) |
| Internal | mstlength_coords |
| Return |
$estimate: the total length of the MST (in km) |
$index: the strucutre of the MST, which coordinate pair is connected with which |
|
$show: Matrix of coordinates indicating what should be visualized |
|
| Test case | pinna |
The length of great circle arcs forming an MST in a point set with a pre-specified distance matrix
This can be used in case topography/habitat-defined routes are more important than great circle distances, or when the distance matrix would have to recalculated.
| Field | Value |
|---|---|
| Usage | mstlength(coords, dm=dm) |
| Internal | mstlength_coords |
| Return |
$estimate: the total length of the MST (in km) |
$index: the strucutre of the MST, which coordinate pair is connected with which |
|
$show: Matrix of coordinates indicating what should be visualized |
|
| Test case | pinna |
The quantile length of great circle arcs forming an MST in a point set
- NOT YET DEFINED!
- Candidate method 1: use subsampling (
qproportion of the points) and re-calculate the MST iteratively - Candidate method 2: mst length * q?
| Field | Value |
|---|---|
| Usage | maxdist(coords, dm=dm, q=0.95) |
| Internal | maxdist_coords |
| Return |
$estimate: the distance calculated, |
| Test case | pinna |
Hull Area
Circle Area
Additional
Centroid
Sets of funtions that calculate the surface projection (geographic coordinates) of centroid for a given geometry. #### Overview
| Internal Name | Method | Args | What it does | |
|---|---|---|---|---|
| ✅ | icosa::surfacecentroid |
x: coordmat/coordmat
|
long, lat
|
Centroid coordinates of long-lat points. |
| ✅ | icosa::surfacecentroid |
x: coorddat
|
tax, long, lat
|
Centroid coordinates of long-lat points. |
Centroid coordinates of long-lat points
Returns the number of occupied coordinate pairs.
| Field | Value |
|---|---|
| Usage | occupancy(x=coordmat) |
| Internal | occupancy_coords |
| Return | The number of occupied coordinate pairs. |
- The
taxcolumn identifiercharacterargument can be used to indicate iterated calculation for subsets. - The
fullargument is not applicable here, there are no intermediate data. - The
duplicatesargument modifies the calculation result. When set toFALSE(default), the duplicate coordinate entries will count as a single point in space. When set toTRUEthe centroid will effectively be weigthed by the number of times the coordinate pair occurrs in the data, leading to slightly different results.
Old
mgcd | cells, grid, q | MGCD of cell centroids, or the great circle distance of a quantile. |[x] |
mgcd | coords, q | The maximum great circle distance of the points |[x] |
cenrad | coords, q | Centroid radius of points, maximum or quantile distance. |[x] |
cenrad | cells, q | Centroid radius of points, maximum or quantile distance. |[x] |
latrange | coords | The latitudinal range of a point cloud. |[ ] |
zoneaarea | coords | The spherical surface area of a zone defined by the latitudinal range of a point cloud. |[ ] |
zoneaarea | coords/cells, grid | The latitudinal range of a point cloud. |[x] |
mstlength | coords | The length of a minimum spanning tree based on a set of points |[ ] |
mstlength | cells, grid | The length of a minimum spanning tree based on the centers of cells. |[ ] |
chull_cell | coords, grid | The number of cells that a convex hull occupies. |[ ] |
chull_cell | cells, grid | The number of cells that a convex hull occupies. |[ ] |
ahull_cell | cells, grid | The number of cells covered by an alpha hull on the surface of a sphere. |[ ] |
ahull_cell | coords, grid | The number of cells covered by an alpha hull on the surface of a sphere. |[ ] |
mincircle | coords, q | The minimum small circle area, radius and position that covers q proportion of the points |[ ] |
minellipse | coords, q | The covering spherical ellipse of a set of points, shorter and longer axis . |[ ] |
density | coords, q | The densitiy of occurrence records |Other esimators
| In | Function | Input | What it does |
|---|---|---|---|
| [ ] | ahull |
coords | The area of an alpha hull on the surface of a sphere defined by the points. |
| [ ] | chull |
coords | The spherical convex hull area of a set of points. |
Shape esimators
| In | Function | Input | What it does |
|---|---|---|---|
| [x] | patches |
cells, grid | The number of patches from a given set of cells. |
| [ ] | patches |
coords, grid | The number of patches from a given set of cells. |
| [ ] | holes |
coords, grid | The number of holes in the patches defined a given set of cells. |
| [ ] | holes |
cells, grid | The number of holes from a given set of cells. |
| [ ] | chull_cell_filling |
cells, grid | The proportion of ranges_occupancy/ranges_chull_cell , [0,1] |
| [ ] | chull_cell_filling |
coords, grid | The proportion of ranges_occupancy/ranges_chull_cell , [0,1] |
| [ ] | eccentricity |
coords, q | The eccentricity of a minimum ellipse |
| In | Function | Input | What it does |
|---|---|---|---|
| [x] | centroid |
coords | Latitude, longitude of point cloud |
X. Geometry functions
Small circles
This group of functions implement operations using small circles on a sphere.
