下面是使用R中的
我想创建一个可视化视频。
问:如何创建一个动画,表示车辆(由标记表示)沿着路线从“纽约市一世贸中心”到“麦迪逊广场公园”移动?
理想情况下,我们应该知道每个路段的速度。但假设车辆在两个位置之间以恒定速度(=距离/时间)连续行驶。
我们可以简单地使用
osrm
包从“纽约市一世贸中心”到“麦迪逊广场公园”查找路线、旅行时间和旅行距离的示例(我从在R中进行道路路径规划中学到了这个)。旅行时间为10.37分钟。我想创建一个可视化视频。
问:如何创建一个动画,表示车辆(由标记表示)沿着路线从“纽约市一世贸中心”到“麦迪逊广场公园”移动?
理想情况下,我们应该知道每个路段的速度。但假设车辆在两个位置之间以恒定速度(=距离/时间)连续行驶。
我们可以简单地使用
tmap
而不是leaflet来创建动画。
library(sf)
library(dplyr)
library(tidygeocoder)
library(osrm)
# 1. One World Trade Center, NYC
# 2. Madison Square Park, NYC
adresses <- c("285 Fulton St, New York, NY 10007",
"11 Madison Ave, New York, NY 10010")
# geocode the two addresses & transform to {sf} data structure
data <- tidygeocoder::geo(adresses, method = "osm") %>%
st_as_sf(coords = c("long", "lat"), crs = 4326)
osroute <- osrm::osrmRoute(loc = data,
returnclass = "sf")
summary(osroute)
library(leaflet)
leaflet(data = data) %>%
addProviderTiles("CartoDB.Positron") %>%
addMarkers(label = ~address) %>%
addPolylines(data = osroute,
label = "OSRM engine",
color = "red")