network_listw.mc {spNetwork} | R Documentation |
Network distance listw (multicore)
Description
Generate listw object (spdep like) based on network distances with multicore support.
Usage
network_listw.mc(
origins,
lines,
maxdistance,
method = "centroid",
point_dist = NULL,
snap_dist = Inf,
line_weight = "length",
mindist = 10,
direction = NULL,
dist_func = "inverse",
matrice_type = "B",
grid_shape = c(1, 1),
verbose = FALSE,
digits = 3,
tol = 0.1
)
Arguments
origins |
A feature collection of linestrings, points or polygons for which the spatial neighbouring list will be built. |
lines |
A feature collection of linestrings representing the network |
maxdistance |
The maximum distance between two observations to consider them as neighbours. |
method |
A string indicating how the starting points will be built. If 'centroid' is used, then the centre of lines or polygons is used. If 'pointsalong' is used, then points will be placed along polygons' borders or along lines as starting and end points. If 'ends' is used (only for lines) the first and last vertices of lines are used as starting and ending points. |
point_dist |
A float, defining the distance between points when the method pointsalong is selected. |
snap_dist |
the maximum distance to snap the start and end points on the network. |
line_weight |
The weights to use for lines. Default is "length" (the geographical length), but can be the name of a column. The value is considered proportional with the geographical length of the lines. |
mindist |
The minimum distance between two different observations. It is important for it to be different from 0 when a W style is used. |
direction |
Indicates a field giving information about authorized travelling direction on lines. if NULL, then all lines can be used in both directions. Must be the name of a column otherwise. The values of the column must be "FT" (From - To), "TF" (To - From) or "Both". |
dist_func |
Indicates the function to use to convert the distance between observation in spatial weights. Can be 'identity', 'inverse', 'squared inverse' or a function with one parameter x that will be vectorized internally |
matrice_type |
The type of the weighting scheme. Can be 'B' for Binary, 'W' for row weighted, or 'I' (identity) see the documentation of spdep::nb2listw for details |
grid_shape |
A vector of length 2 indicating the shape of the grid to use for splitting the dataset. Default is c(1,1), so all the calculation is done in one go. It might be necessary to split it if the dataset is large. |
verbose |
A Boolean indicating if the function should print its progress |
digits |
The number of digits to retain in the spatial coordinates ( simplification used to reduce risk of topological error) |
tol |
A float indicating the spatial tolerance when points are added as vertices to lines. |
Value
A listw object (spdep like) if matrice_type is "B" or "W". If matrice_type is I, then a list with a nblist object and a list of weights is returned.
Examples
data(mtl_network)
future::plan(future::multisession(workers=1))
listw <- network_listw.mc(mtl_network,mtl_network,maxdistance=500,
method = "centroid", line_weight = "length",
dist_func = 'squared inverse', matrice_type='B', grid_shape = c(2,2))
## make sure any open connections are closed afterward
if (!inherits(future::plan(), "sequential")) future::plan(future::sequential)