Learn R Programming

tmaptools (version 1.2)

approx_distances: Approximate distances

Description

Approximate distances between two points or across the horizontal and vertical centerlines of a bounding box.

Usage

approx_distances(x, y = NULL, projection = NULL, target = "metric", orig = NA, to = NA, show.warnings = TRUE)

Arguments

x
object that can be coerced to a bounding box with bb, or a pair of coordintes (vector of two). In the former case, the distance across the horizontal and vertical centerlines of the bounding box are approximated. In the latter case, y is also required; the distance between points x amd y is approximated.
y
a pair of coordintes, vector of two. Only required when x is also a pair of coordintes.
projection
projection code, needed in case x is a bounding box or when x and y are pairs of coordinates. See get_proj4
target
target unit, one of: "m", "km", "mi", and "ft".
orig
original unit, i.e. by which x is defined. Only needed if this information is missing from x and x is projected. Options: "m", "km", "mi", and "ft".
to
multiplier used as follows: orig * to = target. Only needed when orig or target is unknown. For instance, if target is set to "hm" (hectameter), and orig is "m", then to should be 100, meaning 1 hectameter equals 100 meters.
show.warnings
should warnings be shown?

Value

If y is specifyed, a list of two: unit and dist. Else, a list of three: unit, hdist (horizontal distance) and vdist (vertical distance).

See Also

projection_units and approx_areas

Examples

Run this code
## Not run: 
# if (require(tmap)) {
#     data(NLD_prov)
# 
#     # North-South and East-West distances of the Netherlands
#     approx_distances(NLD_prov)
# 
#     # Distance between Maastricht and Groningen
#     p_maastricht <- geocode_OSM("Maastricht")$coords
#     p_groningen <- geocode_OSM("Groningen")$coords
#     approx_distances(p_maastricht, p_groningen)
# 
#     # Check distances in several projections
#     sapply(c("wintri", "utm31", "laea_Eur", "rd", "longlat"), function(projection) {
#         p_maastricht <- geocode_OSM("Maastricht", projection = projection)$coords
#         p_groningen <- geocode_OSM("Groningen", projection = projection)$coords
#         approx_distances(p_maastricht, p_groningen, projection = projection)
#     })
# }
# ## End(Not run)

Run the code above in your browser using DataLab