linear_profile: CrimeStat Linear Model for Geographic Profiling

View source: R/linear_profile.R

linear_profileR Documentation

CrimeStat Linear Model for Geographic Profiling

Description

An implementation of the linear decay model for serial crime analysis within 'CrimeStat'. This model assumes that the likelihood of the serial perpetrator's home base decreases in a linear fashion as the distance increases from the crime incidents.

Usage

linear_profile(lat, lon, a = NULL, b = NULL, n = NULL)

Arguments

lat

a vector of latitudes for the crime incident series

lon

a vector of latitudes for the crime incident series

a

the slope coefficient which defines the function decrease in distance. If NULL, the default value for '*a*' is 1.9 (Levine 2013)

b

a constant for the distance decay function If NULL, the default value for '*b*' is -0.06 (Levine 2013)

n

total number of cells within the spatial grid for the jeopardy surface. If NULL, the default value for '*n*' is 40,000.

Value

A data frame of points depicting a spatial grid of the hunting area for the given incident locations. Also given are the resultant summed values (score) for each map point. A higher resultant score indicates a greater the probability that point contains the offender's anchor point.

Author(s)

Jamie Spaulding, Keith Morris

References

Ned Levine, CrimeStat IV: A Spatial Statistics Program for the Analysis of Crime Incident Locations (version 4.0). Ned Levine & Associates, Houston, TX, and the National Institute of Justice, Washington, DC, June 2013.

Examples



#Using provided dataset for the Boston Strangler Incidents:
data(desalvo)
test <- linear_profile(desalvo$lat, desalvo$lon)
g_map = sp::SpatialPixelsDataFrame(points = test[c("lons", "lats")], data = test)
g_map <- raster::raster(g_map)
# Assign a Coordinate Reference System for the Raster
raster::crs(g_map) <- sp::CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
# Define a Parula Color Pallete for Resultant Jeopardy Surface
library(leaflet) #for mapping the geographic profile
pal <- colorNumeric(pals::parula(200), raster::values(g_map),
    na.color = "transparent")
leaflet() %>%
    addTiles() %>%
    addProviderTiles('Esri.WorldTopoMap', group = 'Topo') %>%
    addAwesomeMarkers(lng = -71.07357, lat = 42.41322, icon =
        awesomeIcons(icon = 'home', markerColor = 'green'), popup = 'Residence') %>%
    addRasterImage(g_map, colors = pal, opacity = 0.6) %>%
    addLegend(pal = pal, values = raster::values(g_map), title = 'Score') %>%
    addCircleMarkers(lng = desalvo$lon, lat = desalvo$lat, radius = 4, opacity = 1,
        fill = 'black', stroke = TRUE, fillOpacity = 0.75, weight = 2,
        fillColor = "red")


JSSpaulding/rgeoprofile documentation built on Feb. 8, 2023, 7:06 p.m.