Description Usage Arguments Value Author(s) See Also Examples
Generates a latitude and longitude point that is equidistant to up to three latitude and longitude points
1 | geo_midpoint(coordinate_matrix, alternative = FALSE)
|
coordinate_matrix |
A matrix of latitude and longitude columns and up to three rows |
alternative |
Whether to use alternative line creation method. Could be needed when nearly inverse angles cause intersections to be ambiguous. |
Returns a vector of length 2 containing a latitude and longitude point.
Shant Sukljian
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # Load required packages
require(mapview)
require(sp)
# Create sample geo dataset
sample_coord <-
matrix(
c(
sample(327131680:419648450, 3) / 10000000,
sample(-1147301410:-1241938690, 3) / 10000000
),
ncol = 2
)
# Generate circumcenter and radius
gmp <- geo_midpoint(sample_coord)
# Find distance to circumcenter
radius <- geo_point_dist(rbind(sample_coord[1, ], gmp))
# Create 80 sided polygon based on gmp's center and radius
gmp_poly <- geo_surround_poly(gmp, radius, 80)
# Join all the points into a single matrix
bound_poly <- rbind(sample_coord, as.vector(gmp), gmp_poly)
# Create SpacialPoints object and pass to mapview for visualization
mapview(
SpatialPoints(
bound_poly[,c(2, 1)],
proj4string = CRS("+proj=longlat +datum=WGS84")
)
)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.