Learn R Programming

stplanr (version 0.0.2)

calc_catchment_sum: Calculate summary statistics for catchment area.

Description

Calculate summary statistics for catchment area.

Usage

calc_catchment_sum(polygonlayer, targetlayer, calccols, distance = 500,
  projection = paste0("+proj=aea +lat_1=90 +lat_2=-18.416667",
  " +lat_0=0 +lon_0=10 +x_0=0 +y_0=0",
  " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"),
  retainAreaProportion = FALSE)

Arguments

polygonlayer
A SpatialPolygonsDataFrame containing zones from which the summary statistics for the catchment variable will be calculated. Smaller polygons will increase the accuracy of the results.
targetlayer
A SpatialPolygonsDataFrame, SpatialLinesDataFrame, SpatialPointsDataFrame, SpatialPolygons, SpatialLines or SpatialPoints object containing the specifications of the facility for which the catchment area is being calculated. If the object contains more th
calccols
A vector of column names containing the variables in the polygonlayer to be used in the calculation of the summary statistics for the catchment area.
distance
Defines the size of the catchment area as the distance around the targetlayer in the units of the projection (default = 500 metres)
projection
The proj4string used to define the projection to be used for calculating the catchment areas or a character string 'austalbers' to use the Australian Albers Equal Area projection. Ignored if the polygonlayer is projected in which case the targetlayer will
retainAreaProportion
Boolean value. If TRUE retains a variable in the resulting SpatialPolygonsDataFrame containing the proportion of the original area within the catchment area (Default = FALSE).

Details

Calculates the summary statistics for a catchment area of a facility (e.g., cycle path) using straight-line distance from variables available in a SpatialPolygonsDataFrame with census tracts or other zones. Assumes that the frequency of the variable is evenly distributed throughout the zone. Returns either a single value if calccols is of length = 1, or a named vector otherwise.

Examples

Run this code
data_dir <- system.file("extdata", package = "stplanr")
unzip(file.path(data_dir, 'smallsa1.zip'))
unzip(file.path(data_dir, 'testcycleway.zip'))
sa1income <- readOGR(".","smallsa1")
testcycleway <- readOGR(".","testcycleway")
calc_catchment_sum(
   polygonlayer = sa1income,
   targetlayer = testcycleway,
   calccols = c('Total'),
   distance = 800,
   projection = 'austalbers'
)

calc_catchment_sum(
polygonlayer = sa1income,
targetlayer = testcycleway,
calccols = c('Total'),
distance = 800,
projection = 'austalbers'
)

Run the code above in your browser using DataLab