pt <- geo(address = "GT-Toyota Asian Center Auditorium, Magsaysay Avenue",
method = "osm")
pt <- st_as_sf(pt, coords = c("long", "lat"), crs = 4326)
bbox <- st_bbox(st_buffer(pt, 500))
tiles <- get_tiles(x = bbox, project = FALSE,
provider = "OpenStreetMap.HOT",
zoom = 16, crop = TRUE)
pt <- st_transform(pt, 3857)
poi <- bbox |>
opq(osm_types = "node") |>
add_osm_feature(key = 'amenity', value = "post_office") |>
osmdata_sf()
poi <- poi$osm_points
po <- st_transform(poi[1,], 3857)
road_o <- osrmRoute(src = pt, dst = po, osrm.profile = "bike")
road_v <- vl_route(src = pt, dst = po, costing = "bicycle")
road_o <- st_transform(road_o, 3857)
road_v <- st_transform(road_v, 3857)
start_o <- st_cast(road_o, "POINT")[1,]
start_v <- st_cast(road_v, "POINT")[1,]
mf_raster(tiles)
mf_map(road_o, col = "darkblue", lwd = 4, add = TRUE)
mf_map(road_v, col = "darkred", lwd = 4, add = TRUE)
mf_map(pt, col = "darkgreen", cex = 3, add = TRUE)
mf_map(po, col = "gold1", cex = 3, add = TRUE)
mf_title("Send a letter from SOTM 2025")
mf_scale(100, scale_units = "m")
mf_credits(maptiles::get_credit("OpenStreetMap.HOT"))
mf_legend(type = "typo_line", val = c("OSRM", "Valhalla"),
pal = c("darkblue", "darkred"), pos = "topright",
lwd = 4, val_cex = .8, title = NA)
mf_text(x = pt, txt = "Conference", pos = "bottom", offset = 2)
mf_text(x = po, txt = "Post\nOffice", pos = "topright")
mf_text(x = start_o, col_txt = "darkblue", pos = "topleft",
cex = 1, line = 3, clockwise = FALSE, offset = 25, font = 2,
txt = paste0("OSRM: ", round(road_o$duration,2),
" min., ", road_o$distance * 1000, "m."))
mf_text(x = start_v, col_txt = "darkred", pos = "topright",
cex = 1, line = 3, clockwise = TRUE, offset = 5, font = 2,
txt = paste0("Valhalla: ", round(road_v$duration,2),
" min., ", road_v$distance * 1000, "m."))