Below, you can see my work for the third lab of DATA 78000 (Spring 2021) with Dr. Shipeng Sun.
All map layouts were done with QGIS. Attribute tables are embedded from Google Sheets.
Questions with their answers are below. All mapping work is done within the EPSG: 2263, NAD83/New York Long Island (ftUS) Coordinate Reference System. If you wish to see some of the pre-processing steps done with the different data sets/layers, you can see my document submission to Blackboard here.
Disclaimer: Pre-processing of the data done in QGIS was performed with inexact methods, so final figures may vary from other methods of data cleaning.
Question 1
How many arrests per capita in each neighborhood in 2020?
Below, I have embedded a Google Sheet that contains all of the arrests per capita in each neighborhood of New York City in 2020.
To do this in QGIS, I joined Census Tracts & Census Population Data from Session 8 of Class. Then converted that joined layer into centroids (points). I then used those points to join them to NTA (Neighborhood Tabulation Areas) from NYC Open Data. Then, with the arrest data provided in the Lab 3 Assignment, I counted the arrests in each neighborhood (See “ARRESTS” column below). Using the Field Calculator, I added a new column to calculate the per capita amount, which is done with a simple function of dividing the arrests over neighborhood population (“POP18_sum” column below) and multiplying by 100,000.
What are the top 10 neighborhoods with the most arrests?
PER CAPITA (Per 100,000 People)
Neighborhood | Borough | Arrests Per 100,000 People |
Park Cemetery | Queens | 113,227.5 |
Midtown-Midtown South | Manhattan | 9,123.5 |
Hunts Point | Bronx | 6,703.6 |
DUMBO-Vinegar Hill-Downtown Brooklyn-Boerum Hill | Brooklyn | 5,723.8 |
SoHo-TriBeCa-Civic Center-Little Italy | Manhattan | 5,673.0 |
West Brighton | Brooklyn | 5,395.1 |
Springfield Gardens North | Queens | 5,253.8 |
West New Brighton-New Brighton-St. George | Staten Island | 5,123.2 |
Claremont-Bathgate | Bronx | 5,044.4 |
Mott Haven-Port Morris | Bronx | 4,999.0 |
Note: It appears that Park Cemetery is considered a neighborhood in Queens. This is an area with a population of 189 – I think it is more likely that no one lives here, but arrests take place in this area. This discrepancy comes from the imprecise nature of data cleaning that was done in QGIS. I am leaving it as part of the answer, but if I was to use this for official purposes, I would consider removing Park Cemetery from the data because it is an outlier.
The choropleth map below labels the top ten neighborhoods with the highest arrests per 100,000 people. The bins used are quantiles (equal count).
TOTAL (Not taking into account population density)
Neighborhood | Borough | 2020 Arrests |
East New York | Brooklyn | 3,016 |
East Harlem North | Manhattan | 2,788 |
Mott Haven-Port Morris | Bronx | 2,583 |
Crown Heights North | Brooklyn | 2,515 |
Hudson Yards-Chelsea-Flatiron-Union Square | Manhattan | 2,466 |
Midtown-Midtown South | Manhattan | 2,443 |
Jamaica | Queens | 2,173 |
Williamsbridge-Olinville | Bronx | 2,153 |
Bedford | Brooklyn | 2,056 |
Central Harlem North-Polo Grounds | Manhattan | 1,960 |
The choropleth map below labels the top ten neighborhoods with the most arrests in 2020. Natural Breaks (Jenks) are being used for the classification method.
Question 2
How many complaints per capita in each neighborhood in 2020?
Below, I have embedded a Google Sheet that contains 311 Calls per capita in each neighborhood of New York City in 2020. Note that for this question, I put the top 10 overall calls at the top, not per capita., though you can still see all of the calls per capita.
I used the same QGIS Methods as in Question 1 to accomplish this.
What are the top 10 neighborhoods with the most complaints?
TOTAL (Not taking into account population density)
Neighborhood | Borough | 311 Calls Count |
Williamsbridge-Olinville | Bronx | 92,906 |
Washington Heights South | Manhattan | 42,560 |
Crown Heights North | Brooklyn | 37,963 |
Flatbush | Brooklyn | 35,765 |
Central Harlem North-Polo Grounds | Manhattan | 35,514 |
Washington Heights North | Manhattan | 35,431 |
Marble Hill-Inwood | Manhattan | 31,851 |
Prospect Lefferts Gardens-Wingate | Brooklyn | 29,910 |
Hamilton Heights | Manhattan | 28,222 |
Upper West Side | Manhattan | 28,160 |
Choropleth map below using Quantile (Equal Count) Breaks. Top ten neighborhoods with complaint calls are labeled.
PER CAPITA (Per 100,000 People)
Neighborhood | Borough | 311 Calls Per Capita |
Park-Cemetery-Queens | Queens | 2,249,206.4 |
Williamsbridge-Olinville | Bronx | 152,682.9 |
Park-Cemetery-Brooklyn | Brooklyn | 88,070.6 |
College Point | Queens | 78,133.7 |
Hamilton Heights | Manhattan | 78,045.4 |
Crotona Park East | Bronx | 74,148.6 |
Midtown-Midtown South | Manhattan | 69,802.4 |
Marble Hill-Inwood | Manhattan | 64,525.3 |
Washington Heights South | Manhattan | 62,725.7 |
Norwood | Bronx | 56,879.8 |
North Side-South Side | Brooklyn | 56,781.3 |
NOTE: The Park Cemetery issue seems to have arisen again in this question with the addition of a Brooklyn location in the top ten. As before, I will leave this in, but attribute this to the data cleaning methods used in QGIS.
Choropleth map below using Jenks (Natural) Breaks. Top ten neighborhoods with complaint calls per capita are labeled in the map.
Question 3
What are the ratios of arrests to complaints for each neighborhood?
Ratios can be viewed in the last column of the embedded Google Sheet. To calculate these ratios, I used the Field Calculator in QGIS.
Which neighborhoods have ratios that are three times higher than the average?
As shown in the spreadsheet above, the average ratio of Calls to Arrest is 29.16 Calls to an Arrest. See table below for three neighborhoods with ratio higher than 3x the average (87.47).
Neighborhood | Call Count | ARRESTS | RATIO-Call-to-Arrest |
Kew Gardens Hills | 15871 | 122 | 130.09 |
Ft. Totten-Bay Terrace-Clearview | 3172 | 28 | 113.29 |
Glen Oaks-Floral Park-New Hyde Park | 3997 | 42 | 95.17 |
See choropleth map below, using quantile breaks. The three neighborhoods whose ratios exceed 3x the average are labeled.
Question 4
How many noise-related complaints (311 services) in each neighborhood?
Using the Query Builder, I was able to use the keyword “Noise” to pull all the noise complaints from the 311 Call Data. Once that was complete, I used processing tool, Count Points in Polygon, to get the numbers in the spreadsheet below.
Below is an incomplete map layout using proportional symbols, to give a visual aid of the data in the Google Sheet above.
Question 5
What are the top 5 subway lines that have the most noise complaints within 50 and 100 meters?
Please note that I am adjusting my analysis to check within 250 meters and 500 meters to widen the zone for which QGIS will count.
Image below shows the buffers for the MTA Subway Lines. Green is 500 Meters and Yellow is 250 Meters.
Next image, I have zoomed in to each borough and also have the noise complaints layer visible.
In QGIS, I used multiple processing methods to generate the data for the maps and tables below. I used the buffers as polygons and joined the data so that I can display it below. See document submission to Blackboard linked above for more information.
Subway Routes with Most Noise Complaints within a 500 Meter Buffer
Line | Route | 500m Noise Comps |
2 | 7 Avenue Express | 176,480 |
5 | Lexington Avenue Express | 164,662 |
B | 6 Avenue Express | 139,630 |
A | 8 Avenue Express | 134,588 |
D | 6 Avenue Express | 134,257 |
Subway Routes with Most Noise Complaints within a 250 Meter Buffer
Line | Route | 250m Noise Comps |
2 | 7 Avenue Express | 126,479 |
5 | Lexington Avenue Express | 119,097 |
B | 6 Avenue Express | 73,710 |
1 | Broadway – 7 Avenue Local | 72,588 |
D | 6 Avenue Express | 71,654 |
You can observe that 4 of the 5 of the lines are highest on the list for noise complaint calls within the 250m and 500m buffer. In the table, I made Bold the lines that are different in each.