Origin-destination ('OD') flow data is often provided in the form of 1 line per flow with zone codes of origin and destination centroids. This can be tricky to plot and link-up with geographical data. This function makes the task easier.
od2line( flow, zones, destinations = NULL, zone_code = names(zones)[1], origin_code = names(flow)[1], dest_code = names(flow)[2], zone_code_d = NA, silent = FALSE ) od2line2(flow, zones)
flow | A data frame representing origin-destination data.
The first two columns of this data frame should correspond
to the first column of the data in the zones. Thus in |
---|---|
zones | A spatial object representing origins (and destinations if no separate destinations object is provided) of travel. |
destinations | A spatial object representing destinations of travel flows. |
zone_code | Name of the variable in |
origin_code | Name of the variable in |
dest_code | Name of the variable in |
zone_code_d | Name of the variable in |
silent | TRUE by default, setting it to TRUE will show you the matching columns |
Origin-destination (OD) data is often provided
in the form of 1 line per OD pair, with zone codes of the trip origin in the first
column and the zone codes of the destination in the second column
(see the vignette("stplanr-od")
) for details.
od2line()
creates a spatial (linestring) object representing movement from the origin
to the destination for each OD pair.
It takes data frame containing
origin and destination cones (flow
) that match the first column in a
a spatial (polygon or point) object (zones
).
Other od:
dist_google()
,
od2odf()
,
od_aggregate_from()
,
od_aggregate_to()
,
od_coords2line()
,
od_coords()
,
od_dist()
,
od_id
,
od_oneway()
,
od_to_odmatrix()
,
odmatrix_to_od()
,
points2flow()
,
points2odf()
od_data <- stplanr::flow[1:20, ] l <- od2line(flow = od_data, zones = cents_sf) plot(sf::st_geometry(cents_sf))#> Warning: ignoring all but the first attributel <- od2line(flow = od_data, zones = cents)#> Warning: CRS object has comment, which is lost in output#> Warning: Discarded datum Unknown based on WGS84 ellipsoid in Proj4 definition#> class : SpatialPointsDataFrame #> features : 6 #> extent : -1.540901, -1.492713, 53.80131, 53.81724 (xmin, xmax, ymin, ymax) #> crs : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs #> variables : 5 #> names : WZ11CD, LAD11CD, COWZEW_SG, COWZEW_SGN, COWZEW_G #> min values : E33010351, E08000035, 2, Manufacturing and distribution, 2c #> max values : E33012352, E08000035, 7, Top jobs, 7cod_data2 <- flow_dests[1:12, 1:3] od_data2#> Area.of.residence WZ11CD All #> 920573 E02002361 E33010350 109 #> 920575 E02002361 E33010390 38 #> 920578 E02002361 E33010468 10 #> 920582 E02002361 E33012367 44 #> 920587 E02002361 E33012225 34 #> 920591 E02002361 E33012368 7 #> 920601 E02002361 E33012333 94 #> 921220 E02002363 E33012414 30 #> 921222 E02002363 E33012313 183 #> 921225 E02002363 E33010464 11 #> 921228 E02002363 E33012254 72 #> 921233 E02002363 E33012352 13flowlines_dests <- od2line(od_data2, cents_sf, destinations = destinations_sf) flowlines_dests#> Simple feature collection with 12 features and 3 fields #> geometry type: LINESTRING #> dimension: XY #> bbox: xmin: -1.563202 ymin: 53.79647 xmax: -1.492713 ymax: 53.83587 #> geographic CRS: WGS 84 #> First 10 features: #> Area.of.residence WZ11CD All geometry #> 1 E02002361 E33010350 109 LINESTRING (-1.516734 53.82... #> 2 E02002361 E33010390 38 LINESTRING (-1.516734 53.82... #> 3 E02002361 E33010468 10 LINESTRING (-1.516734 53.82... #> 4 E02002361 E33012367 44 LINESTRING (-1.516734 53.82... #> 5 E02002361 E33012225 34 LINESTRING (-1.516734 53.82... #> 6 E02002361 E33012368 7 LINESTRING (-1.516734 53.82... #> 7 E02002361 E33012333 94 LINESTRING (-1.516734 53.82... #> 8 E02002363 E33012414 30 LINESTRING (-1.535617 53.82... #> 9 E02002363 E33012313 183 LINESTRING (-1.535617 53.82... #> 10 E02002363 E33010464 11 LINESTRING (-1.535617 53.82...