Convert a vector of 2D coordinate indices into a path
data.frame. If ind
is a matrix,
each row represents the path of a different trajectory j
.
This function is the main way to create path
in GeoPressureR, and is used by
graph_most_likely
, graph_simulation
and tag2path
.
Arguments
- ind
vector of indices of the 2D map (vector or matrix)
- tag_graph
either a
tag
or agraph
object, must containsstap
,extent
andscale
.- use_known
If true, enforce the known position in the path created. The known positions are approximated to the map resolution in order to corresponds to integer index.
Value
A path data.frame
stap_id
stationary period identificationj
identification for each trajectory (1
tonj
).lat
Latitude,lon
longitude...
other columns fromstap
See also
Other path:
path2edge()
,
path2elevation()
,
plot_path()
Examples
withr::with_dir(system.file("extdata", package = "GeoPressureR"), {
tag <- tag_create("18LX", quiet = TRUE) |>
tag_label(quiet = TRUE) |>
tag_set_map(c(-16, 23, 0, 50), scale = 1)
})
# ind generated by `graph_most_likely` (single trajectory - vector)
ind <- c(1652, 1603, 1755, 1708, 1607)
path <- ind2path(ind, tag)
knitr::kable(path)
#>
#>
#> | stap_id| j| ind| lat| lon|start |end |include |known |
#> |-------:|--:|----:|----:|----:|:-------------------|:-------------------|:-------|:-----|
#> | 1| 1| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 2| 1| 1603| 47.5| 16.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |
#> | 3| 1| 1755| 45.5| 19.5|2017-08-06 02:52:30 |2017-08-06 19:12:30 |TRUE |FALSE |
#> | 4| 1| 1708| 42.5| 18.5|2017-08-07 03:12:30 |2017-08-07 19:12:30 |TRUE |FALSE |
#> | 5| 1| 1607| 43.5| 16.5|2017-08-08 00:12:30 |2017-08-09 23:57:30 |TRUE |FALSE |
# ind generated by `graph_simulation` (10 trajectories - matrix)
ind <- matrix(c(
1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
1653, 1606, 1653, 1504, 1604, 1704, 1504, 1653, 1753, 1701,
1805, 1457, 1408, 1657, 1609, 1903, 1506, 1757, 1856, 1804,
1607, 1514, 1611, 1457, 1860, 1802, 1759, 1609, 1760, 1208,
1505, 1314, 1559, 1357, 1758, 1852, 1661, 1706, 1862, 1358
), nrow = 10)
path <- ind2path(ind, tag)
knitr::kable(head(path, n = 15))
#>
#>
#> | stap_id| j| ind| lat| lon|start |end |include |known |
#> |-------:|--:|----:|----:|----:|:-------------------|:-------------------|:-------|:-----|
#> | 1| 1| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 2| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 3| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 4| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 5| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 6| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 7| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 8| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 9| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 1| 10| 1652| 48.5| 17.5|2017-07-26 23:57:30 |2017-08-04 19:47:30 |TRUE |FALSE |
#> | 2| 1| 1653| 47.5| 17.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |
#> | 2| 2| 1606| 44.5| 16.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |
#> | 2| 3| 1653| 47.5| 17.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |
#> | 2| 4| 1504| 46.5| 14.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |
#> | 2| 5| 1604| 46.5| 16.5|2017-08-04 23:17:30 |2017-08-05 19:27:30 |TRUE |FALSE |