dist.mat {REAT}R Documentation

Euclidean distance matrix between points

Description

Calculation of an euclidean distance matrix between points with stated coordinates (lat, lon)

Usage

dist.mat(startpoints, sp_id, lat_start, lon_start, endpoints, ep_id, 
lat_end, lon_end, unit = "km")

Arguments

startpoints

A data frame containing the start points

sp_id

Column containing the IDs of the startpoints in the data frame startpoints

lat_start

Column containing the latitudes of the start points in the data frame startpoints

lon_start

Column containing the longitudes of the start points in the data frame startpoints

endpoints

A data frame containing the end points

ep_id

Column containing the IDs of the endpoints in the data frame endpoints

lat_end

Column containing the latitudes of the end points in the data frame endpoints

lon_end

Column containing the longitudes of the end points in the data frame endpoints

unit

Unit of the resulting distance: unit="m" for meters, unit="km" for kilometers or unit="miles" for miles

Details

The function calculates an euclidean distance matrix between points with stated coordinates (lat and lon). While mm start points and nn end points are given, the output is a linear mnm * n distance matrix.

Value

The function returns a data.frame containing 4 columns: The start point IDs (from), the end point IDs (to), the combination of both (from_to) and the calculated distance (distance).

Author(s)

Thomas Wieland

References

de Lange, N. (2013): “Geoinformatik in Theorie und Praxis”. 3rd edition. Berlin : Springer Spektrum.

Krider, R. E./Putler, R. S. (2013): “Which Birds of a Feather Flock Together? Clustering and Avoidance Patterns of Similar Retail Outlets”. In: Geographical Analysis, 45, 2, p. 123-149

See Also

dist, dist.buf

Examples

citynames <- c("Goettingen", "Karlsruhe", "Freiburg")
lat <- c(51.556307, 49.009603, 47.9874)
lon <- c(9.947375, 8.417004, 7.8945)
citynames <- c("Goettingen", "Karlsruhe", "Freiburg")
cities <- data.frame(citynames, lat, lon)
dist.mat (cities, "citynames", "lat", "lon", cities, "citynames", "lat", "lon")
# Euclidean distance matrix (3 x 3 cities = 9 distances)
dist.buf (cities, "citynames", "lat", "lon", cities, "citynames", "lat", "lon", bufdist = 300000)
# Cities within 300 km

[Package REAT version 3.0.3 Index]