В настоящее время невозможно иметь разноцветную path
, но она есть в моем списке todo .
Чтобы добиться того, что вам нужно, вам придется использовать слой line
, который принимает 'origin' и 'destination' и dr aws прямую линию (т. е. составные части path
)
Чтобы получить столбцы Origin-Destination, мы необходимо разложить объект sf
на data.frame, добавить столбцы '_to', а затем снова сделать его объектом sf
.
(у меня также есть todo для разрешить data.frames использовать Z и M, но сейчас мы должны сделать это окончательное преобразование в sf
снова)
library(data.table)
library(sfheaders)
df <- sfheaders::sf_to_df( one_day, fill = TRUE )
setDT( df )[
, `:=`(
x_to = shift(x, type = "lead")
, y_to = shift(y, type = "lead")
, z_to = shift(z, type = "lead")
, m_to = shift(m, type = "lead")
)
, by = flight
]
df <- df[ !is.na( x_to ) ]
df$origin <- sfheaders::sfc_point(
obj = df
, x = "x"
, y = "y"
, z = "z"
, m = "m"
)
df$destination <- sfheaders::sfc_point(
obj = df
, x = "x_to"
, y = "y_to"
, z = "z_to"
, m = "m_to"
)
sf <- sf::st_as_sf( df )
mapdeck(
style = mapdeck_style("dark")
) %>%
add_line(
data = sf
, origin = "origin"
, destination = "destination"
, stroke_colour = "z"
)