Supplemental Material
for Simpson, S. 2015. Prisons, Policing and Planning: Making the Connections Visible. Progressive Planning Magazine. Spring.
http://www.plannersnetwork.org/category/progressive-planning-magazine/
References
Center on Juvenile and Criminal Justice
http://www.cjcj.org/news/8113
Bureau of Justice Statistics (BJS) police killing under reporting study
http://www.bjs.gov/index.cfm?ty=pbdetail&iid=5259
http://www.vox.com/2015/3/5/8156689/police-shooting-deaths
Fatal Encounters
http://www.fatalencounters.org/
FBI — NIBRS
http://www.fbi.gov/about-us/cjis/ucr/nibrs/2013/data-tables
Million-Dollar-Block Project
http://spatialinformationdesignlab.org/projects/million-dollar-blocks
Prison Policy Initiative
http://www.prisonpolicy.org/profiles/
The Corrections Corporation of America: America’s leader in partnership corrections
http://www.cca.com/
The Geo Group Inc
http://www.geogroup.com/
The Center for Public Integrity – Prison bankers cash in on captive customers: Inmates’ families gouged by fees.
http://www.publicintegrity.org/2014/09/30/15761/prison-bankers-cash-captive-customers
CNBC – The big business of selling apps to prison inmates
(fiscal information on JPay)
http://www.cnbc.com/id/102042489
Bureau of Justice Statistics (BJS)
http://www.bjs.gov/index.cfm?ty=pbse&sid=33
US Census – Public School System Financing
http://www.census.gov/govs/school/
National Transit Database of the Federal Transit Administration
http://www.ntdprogram.gov/ntdprogram/data.htm
The Trust for Public Land
https://www.tpl.org/2011-city-park-facts-report
A great conversation with Norwegian Sociologist Nils Christie about the possibilities for collective, restorative responses to even the most horrific events
http://www.cbc.ca/player/Radio/Ideas/Full+Episodes/ID/2191762567/
Prison Legal News – Lowering Recidivism through Family Communication
https://www.prisonlegalnews.org/news/2014/apr/15/lowering-recidivism-through-family-communication/
Data Tables
R Code
##R Code used to create figures for Simpson, S. 2015. Prisons, policing and planning: Making the connections visible. Progressive Planning Magazine. Spring.##
setwd (“”)
library (extrafontdb)
library (Rttf2pt1)
library (extrafont)
font_import()
loadfonts()
##fig1##
arrests <- read.table (“crim_rac_inc.csv”, header = T, sep =”,” )
arrests_reg = arrests [which ((arrests$tot_off/arrests$totpop*1000) < 350),]
arr_nnull = arrests [which ((arrests$tot_off/arrests$totpop*1000) < 350 & (arrests$tot_off/arrests$totpop*1000) > 5),]
arrests_reg$wht_collar = arrests_reg$forg + arrests_reg$emezz + arrests_reg$extort + arrests_reg$fraud
a_small = arrests_reg [which (arrests_reg$ur==0),]
a_mid = arrests_reg [which (arrests_reg$ur > 0 & arrests_reg$ur < 170000),]
a_large = arrests_reg [which (arrests_reg$totpop > 170000),]
#densities#
d_a <- density (arrests_reg$tot_off/arrests_reg$totpop*1000)
d_as <- density (a_small$tot_off/a_small$totpop*1000)
d_am <- density (a_mid$tot_off/a_mid$totpop*1000)
d_al<- density (a_large$tot_off/a_large$totpop*1000)
#plot#
pdf(file=”fig1_graph.pdf”, family =”Trebuchet MS”, width=3.8264, height=2.5764)
par (mar=c(0.8,0.3,0.3,0.3))
plot (d_a, col=”grey90″, main=””, xlab=””, ylab=””, axes=F, xlim =c(-60,350))
polygon (d_a, col=”grey90″, border=”grey90″)
lines (d_as, lty = 3)
lines (d_am, lty = 2)
lines (d_al, lwd=1.75)
lines (c(250,265),c(0.001, 0.001), lty = 3)
lines (c(250,265),c(0.003, 0.003), lty = 2)
lines (c(250,265),c(0.005, 0.005), lwd=1.75)
#xaxis#
axis (1, lwd = 0.75, pos=c(0,-10),at=c(-100,10,50,100,200,300,400), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=c(0,-10), at=c(-100,10,50,100,200,300,400), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=c(-10,0),at=c(-10,0.01,10), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=c(-10,0),at=c(-10,0.01), tck=0.01,labels = F)
dev.off()
##fig 3##
arr_index = ((arrests_reg$tot_off/arrests_reg$totpop*1000)-(min(arrests_reg$tot_off/arrests_reg$totpop*1000)))/((max(arrests_reg$tot_off/arrests_reg$totpop*1000))-(min(arrests_reg$tot_off/arrests_reg$totpop*1000)))
pdf(file=”fig3_graph.pdf”, width=3.8264, height=2.5764)
par (mar=c(0.3,0.3,0.3,0.3))
plot ((arrests_reg$blk/arrests_reg$totpop*100), (log(arrests_reg$medinc)), pch=19, cex=(arr_index*5), col=rgb(0.3,0.3,0.3,0.15), xlab=””, ylab=””, axes=F,xlim =c(-5,90), ylim=c(9.3,12.1))
abline (v= 1.0480, h=10.43)
#xaxis#
axis (1, pos=10.43, at=c(-20,0,20,40,60,80,100), tck=-0.01, labels=F)
axis (1, pos=10.43, lty=NULL, at=c(-20,0,20,40,60,80,100), tck=0.01, labels=F)
#yaxis#
axis (2, pos=1.048, at=c(9.5,12), tck=-0.01, labels=F)
axis (2, pos=1.048, lty=NULL, at=c(9.5,12), tck=0.01, labels=F)
dev.off()
##fig 5##
prison <- read.table (“prison.csv”, header = T, sep =”,” )
pris = prison [which (prison$tot > 0),]
p_small = pris [which (pris$urb==0),]
p_mid = pris [which (pris$ur > 0 & pris$ur < 170000),]
p_large = pris [which (pris$tot > 170000),]
#densities
d_p <- density (pris$pris/pris$tot*1000)
d_ps <- density (p_small$pris/p_small$tot*1000)
d_pm <- density (p_mid$pris/p_mid$tot*1000)
d_pl<- density (p_large$pris/p_large$tot*1000)
#plot#
pdf(file=”fig5_graph.pdf”, family =”Trebuchet MS”, width=3.8264, height=2.5764)
par (mar=c(0.8,0.3,0.3,0.3))
plot (d_p, col=”grey90″, main=””, xlab=””, ylab=””, axes=F, xlim=c(-10,27), ylim=c(0,0.11))
polygon (d_p, col=”grey90″, border=”grey90″)
lines (d_ps, lty = 3)
lines (d_pm, lty = 2)
lines (d_pl, lwd=1.75)
lines (c(30,35),c(0.009, 0.009), lty = 3)
lines (c(30,35),c(0.005, 0.005), lty = 2)
lines (c(30,35),c(0.007, 0.007), lwd=1.75)
#xaxis#
axis (1, lwd = 0.75, pos=c(0),at=c(-100,5,10,25,50), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=c(0), at=c(-100,5,10,25,50), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=c(0),at=c(-10,0.1,10), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=c(0),at=c(-10,0.1,10), tck=0.01,labels = F)
dev.off()
##fig 6##
state <- read.table (“state_money.csv”, header = T, sep =”,” )
budg_index = ((state$t_dir_spend)-(min(state$t_dir_spend)))/((max(state$t_dir_spend))-(min(state$t_dir_spend)))
#plot1#
pdf(file=”fig6_graph.pdf”, family =”Trebuchet MS”, width=7.4528, height=3.8264)
par (mfrow=c(1,2), mar=c(0.5,0.5,0.5,0.5))
plot ((state$t_direxp/state$t_dir_spend*100), (state$sch_state_rev /state$t_dir_spend*100), pch=19, cex=(budg_index*50), col=rgb(0.3,0.3,0.3,0.15), xlim=c(0,8), ylim=c(0,25), xlab=””, ylab=””, axes=F)
#xaxis#
axis (1, lwd = 0.75, pos=c(13.360),at=c(-1,0.0,1,2,3,4,5,6,7,8,9), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=c(13.360),at=c(-1,0.0,1,2,3,4,5,6,7,8,9), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=c(3.971),at=c(-5,0,5,10,15,20,25,30), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=c(3.971),at=c(-5,0,5,10,15,20,25,30), tck=0.01,labels = F)
box(“plot”, lwd=0.3)
#plot 2#
plot ((state$t_direxp/state$t_dir_spend*100), (state$transit/state$t_dir_spend*100), pch=19, cex=(budg_index*50), col=rgb(0.3,0.3,0.3,0.15), xlim=c(0,8), ylim=c(0,3),xlab=””, ylab=””, axes=F)
#xaxis#
axis (1, lwd = 0.75, pos=0.06819,at=c(-1,0.0,1,2,3,4,5,6,7,8,9), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=0.06819,at=c(-1,0.0,1,2,3,4,5,6,7,8,9), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=3.971,at=c(-1,0,1,2,3,4), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=3.971,at=c(-1,0,1,2,3,4), tck=0.01,labels = F)
box(“plot”, lwd=0.3)
dev.off()
##fig 7##
city <- read.table (“new_city_money.csv”, header = T, sep =”,” )
budg_index_c=((city$t_budg-(min(city$t_budg)))/((max(city$t_budg))-(min(city$t_budg))))
summary (budg_index)
pdf(file=”fig7_graph.pdf”, family =”Trebuchet MS”, width=11.2792, height=3.8264)
par (mfrow=c(1,3), mar=c(0.5,0.5,0.5,0.5))
#plot1#
plot ((city$t_d_pjlcs/city$t_budg*100), (city$sch_local/city$t_budg*100), pch=19,col=rgb(0.5,0.5,0.5,0.15), cex=(budg_index_c*10), xlim=c(0,30), ylim=c(0,50), xlab=””, ylab=””, axes=F)
#xaxis#
axis (1, lwd = 0.75, pos=16.43,at=c(-10,0, 5,10,15,20,25,30,40), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=16.43,at=c(-10,0,5,10,15,20,25,30,40), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=12.71,at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=12.71,at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=0.01,labels = F)
box(“plot”, lwd=0.3)
#plot2#
plot ((city$t_d_pjlcs/city$t_budg*100), (city$transit/city$t_budg*100), pch=19,col=rgb(0.3,0.3,0.3,0.15), cex=(budg_index_c*50), xlim=c(0,30), ylim=c(0,35), xlab=””, ylab=””, axes=F)
#xaxis#
axis (1, lwd = 0.75, pos=4.413,at=c(-10,0,5,10,15,20,25,30,35,45), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=4.413,at=c(-10,0,5,10,15,20,25,30,35,45), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=12.71, at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=12.71, at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=0.01,labels = F)
box(“plot”, lwd=0.3)
#plot3#
plot ((city$t_d_pjlcs/city$t_budg*100), (city$park_ex/city$t_budg*100), pch=19,col=rgb(0.1,0.1,0.1,0.15), cex=(budg_index_c*50), xlim=c(0,30), ylim=c(0,20),xlab=””, ylab=””, axes=F)
#xaxis#
axis (1, lwd = 0.75, pos=2.134,at=c(-10,0,5,10,15,20,25,30,40), tck=-0.01, labels = F)
axis (1,lty=NULL, pos=2.134,at=c(-10,0,5,10,15,20,25,30,40), labels = F, tck=0.01)
#yaxis#
axis (2, lwd = 0.75, pos=12.71,at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=-0.01, labels = F)
axis (2,lty=NULL, pos=12.71,at=c(-10,0,5,10,15,20,25,30,35,40,45,50,60), tck=0.01,labels = F)
box(“plot”, lwd=0.3)
dev.off()