Description Usage Arguments Details Value See Also Examples
This function computes the KantorovichWasserstein among a single reference histogram and a given list of other spatial histograms. All the histograms are defined over the same grid map.
The grid map is described by the two lists of N
coordinates Xs
and Ys
, which specify the coordinates of the centroid of each tile of the map.
For each tile i
with coordinates Xs[i], Ys[i]
, we have a positive weight for each histogram.
The two lists of coordinates are passed to compareOneToMany
as a matrix with N
rows and two columns.
The weights of the histograms are passed as a single matrix with N
rows and M
columns, where the first column is the reference histogram.
1 2 3 4 5  compareOneToMany(Coordinates, Weights, L = 3, recode = TRUE,
method = "approx", algorithm = "colgen",
model="mincostflow", verbosity = "silent",
timelimit = 14400, opt_tolerance = 1e06,
unbalanced = FALSE, unbal_cost = 1e+09, convex = TRUE)

Coordinates 
A

Weights 
A

L 
Approximation parameter. Higher values of L give a more accurate solution, but they require a longer running time. Data type: positive integer. 
recode 
If equal to 
method 
Method for computing the KW distances: 
algorithm 
Algorithm for computing the KW distances: 
model 
Model for building the underlying network: 
verbosity 
Level of verbosity of the log: 
timelimit 
Time limit in second for running the solver. 
opt_tolerance 
Numerical tolerance on the negative reduced cost for the optimal solution. 
unbalanced 
If equal to 
unbal_cost 
Cost for the arcs going from each point to the extra artificial bin. 
convex 
If equal to 
The function compareOneToMany(Coordinates, Weights, ...)
computes the distances among a reference spatial histogram and a given set of other histograms.
All the histograms are specified by the M
columns of matrix Weights
, and where the support points (i.e., centroids of each tile of the map)
are defined by the coordinates given in Xs
and Ys
in the two columns of matrix Coordinates
.
The algorithm used to compute such distance depends on the parameters specified as optional arguments of the function.
The most important is the parameter L
, which by default is equal to 3 (see compareOneToOne
).
Return an R List with the following named attributes:
distances
: An array of M1
KWdistances among the input histograms.
status
: Status of the solver used to compute the distances.
runtime
: Overall runtime in seconds to compute all the distances.
iterations
: Overall number of iterations of the Network Simplex algorithm.
nodes
: Number of nodes in the network model used to compute the distances.
arcs
: Number of arcs in the network model used to compute the distances.
See also compareOneToOne
, compareAll
, focusArea
, Histogram2D
, and Solver
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  # Define a simple example
library(SpatialKWD)
# Random coordinates
N = 90
Xs < as.integer(runif(N, 0, 31))
Ys < as.integer(runif(N, 0, 31))
coordinates < matrix(c(Xs, Ys), ncol=2, nrow=N)
# Random weights
m < 3
test2 < matrix(runif((m+1)*N, 0, 1), ncol=(m+1))
# Compute distance
print("Compare onetomany with approximate algorithm:")
d < compareOneToMany(coordinates, Weights=test2, L=3, method="approx")
cat("L: 3, runtime:", d$runtime, " distances:", d$distance, "\n")

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.