The minimum distance between two arbitrary geometries is non-trivial and is
only exactly defined for non-circular geometries. `distance_squared()`

will
return the exact squared distance between geometries with `x`

and `y`

being
recycled to the maximum length of either. `distance_matrix`

will return a
matrix of distances given as numerics (and thus not exact), with the
geometries of `x`

in the rows and the geometries of `y`

in the columns so
that the value of `mat[i, j]`

corresponds to the distance between `x[i]`

and
`y[j]`

.

distance_squared(x, y) approx_distance_matrix(x, y)

x, y | eometry vectors or bounding boxes |
---|

A `euclid_exact_numeric`

vector for `distance_squared()`

and a
numeric matrix for `distance_matrix()`

# Calculate distances between lines and rays in 3D p <- point(sample(100, 20), sample(100, 20), sample(100, 20)) l <- line(p[1:5], p[6:10]) r <- ray(p[11:15], p[16:20]) # Pairwise exact distance distance_squared(l, r)#> <exact numerics [5]> #> [1] 277.83139 1952.05705 13.46348 180.30916 2364.90037# All distances approx_distance_matrix(l, r)#> [,1] [,2] [,3] [,4] [,5] #> [1,] 16.6682751 11.907760 7.305162 1.925140 0.5411494 #> [2,] 0.9550823 44.182090 27.894085 54.879626 43.4921308 #> [3,] 2.2641643 11.936908 3.669261 7.854165 7.2842733 #> [4,] 40.8338731 3.536245 3.023829 13.427925 16.8036308 #> [5,] 4.6013258 70.789292 60.004589 51.756396 48.6302413