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 |
lat_start |
Column containing the latitudes of the start points in the data frame |
lon_start |
Column containing the longitudes of the start points in the data frame |
endpoints |
A data frame containing the end points |
ep_id |
Column containing the IDs of the endpoints in the data frame |
lat_end |
Column containing the latitudes of the end points in the data frame |
lon_end |
Column containing the longitudes of the end points in the data frame |
unit |
Unit of the resulting distance: |
Details
The function calculates an euclidean distance matrix between points with stated coordinates (lat and lon). While m
start points and n
end points are given, the output is a linear m * 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
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