walkingPath: Compute the shortest walking path between cases and/or pumps.

View source: R/walkingPath.R

walkingPathR Documentation

Compute the shortest walking path between cases and/or pumps.

Description

Compute the shortest walking path between cases and/or pumps.

Usage

walkingPath(origin = 1, destination = NULL, type = "case-pump",
  observed = TRUE, weighted = TRUE, vestry = FALSE,
  distance.unit = "meter", time.unit = "second", walking.speed = 5,
  null.origin.landmark = FALSE)

Arguments

origin

Numeric or Character. Numeric ID of case or pump. Character landmark name.

destination

Numeric or Character. Numeric ID(s) of case(s) or pump(s). Exclusion is possible via negative selection (e.g., -7). Default is NULL: this returns closest pump or "anchor" case. Character landmark name (case insensitive).

type

Character "case-pump", "cases" or "pumps".

observed

Logical. Use observed or "simulated" expected data.

weighted

Logical. TRUE computes shortest path in terms of road length. FALSE computes shortest path in terms of nodes.

vestry

Logical. TRUE uses the 14 pumps from the Vestry report. FALSE uses the 13 in the original map.

distance.unit

Character. Unit of distance: "meter", "yard" or "native". "native" returns the map's native scale. "unit" is meaningful only when "weighted" is TRUE. See vignette("roads") for information on unit distances.

time.unit

Character. "hour", "minute", or "second".

walking.speed

Numeric. Walking speed in km/hr.

null.origin.landmark

Logical. Consider landmarks when origin = NULL and type = "case-pump".

Value

An R list with two elements: a character vector of path nodes and a data frame summary.

Note

The function uses a case's "address" (i.e., a stack's "anchor" case) to compute distance. Time is computed using distanceTime(). Adam and Eve Court, and Falconberg Court and Falconberg Mews, are disconnected from the larger road network; they form two isolated subgraphs. This has two consequences: first, only cases on Adam and Eve Court can reach pump 2 and those cases cannot reach any other pump; second, cases on Falconberg Court and Mews cannot reach any pump. Unreachable pumps will return distances of "Inf".

Examples

## Not run: 
# path from case 1 to nearest pump.
walkingPath(1)

# path from pump 1 to nearest case.
walkingPath(NULL, 1)

# path from case 1 to pump 6.
walkingPath(1, 6)

# exclude pump 7 from consideration.
walkingPath(1, -7)

# path from case 1 to case 6.
walkingPath(1, 6, type = "cases")

# path from pump 1 to pump 6.
walkingPath(1, 6, type = "pumps")

# for multiple cases.
lapply(1:3, walkingPath)

# path from case 1 to nearest pump.
plot(walkingPath(1))

# path from John Snow's residence to Broad Street pump.
plot(walkingPath("John Snow", 7))

## End(Not run)

lindbrook/cholera documentation built on April 14, 2024, 6:29 a.m.