Using Three-Dimensional Mapping to Visualize Five Years of Shooting Incidents in New York City

August 20, 2024
Gun Violence New York City Three-dimensional mapping Public Health GIS epidemiology


By Isaac H. Michaels, MPH


Published: August 19, 2024
Updated: November 19, 2024 at 05:25PM



Suggested citation: Michaels I. 3D visualization of shooting incidents in New York City, 2023. Published August 20, 2024. https://isaacmichaels.netlify.app/post/2024-08-20-3d-visualization-of-shooting-incidents-in-new-york-city-2023/


Map Prepared By: Isaac H. Michaels, MPH
Data Source: NYC Open Data

This three-dimensional map animation visualizes shooting incidents in New York City from 2019 through 2023. It highlights the spatial distributions and densities of shootings across neighborhoods, using data from the New York Police Department via NYC Open Data. Created with R using the tidyverse, scales, sf, rayshader, and viridis packages, the map provides an intuitive view of the geographic data and can aid in identifying areas for targeted public health interventions.


Purpose and Background

The purpose of this project is to introduce to the public health community an advancement of animated mapping for visualizing public health data. It builds on an earlier example of animated mapping, in two dimensions, which demonstrated that animated maps can be useful for visualizing certain patterns in public health data that are difficult to convey via static representation.1 The present example applies mapping in three dimensions to visualize the spatial distribution of shooting incidents in New York City from 2019 to 2023.

Gun violence remains a significant public health concern in the United States, with substantial impacts on morbidity,2 mortality,3 and community well-being.4 In urban areas such as New York City, the spatial distribution of shooting incidents is often uneven, with certain neighborhoods disproportionately affected.5 Understanding the spatial patterns of these incidents is crucial for implementing effective prevention strategies and deploying resources where they are most needed.

Geographic Information Systems (GIS) provide powerful tools for visualizing and analyzing spatial distributions among public health data, including gun violence. Subsequent advancements in animation for mapping incorporate two additional elements: timeseries animation in two-dimensional mapping as illustrated previously,1 and cross-sectional spatial animation in three-dimensional mapping as illustrated here. Animation is especially useful for three-dimensional mapping because structures in the background that are obstructed by opaque structures in the foreground in static maps are revealed in animated maps by revolving a camera path around the space.

Data and Methods

Data on shooting incidents in New York City were obtained from NYC Open Data.6 These data were collected by the New York Police Department, and include the geographic coordinates and attributes of shooting incidents. However, they do not include neighborhood tabulation areas (‘neighborhoods’). Every documented shooting incident since 2006 is recorded in this dataset, and the dataset is updated quarterly. The coordinates provided in the dataset were used to geolocate each shooting incident. A shapefile of New York City’s neighborhoods was obtained from NYC Open Data.7

The data that were used to generate this map also were used to develop a table of the total number of shooting incidents in each neighborhood, by year and overall. To create the map, these data were processed using R version 4.3.2 (R Foundation for Statistical Computing)8, with the analysis relying on several key packages: tidyverse9 for data manipulation, sf10 for handling spatial data, rayshader11 for generating the three-dimensional map, as well as scales12 and viridis13 for color scaling. To create the table, the incidents were converted into a spatial object based on their coordinates, spatially joined with neighborhood-level polygons to identify the neighborhood in which each incident occurred, and then aggregated to calculate the total number of incidents in each neighborhood.

Highlights

The resulting map illustrates clearly, engagingly, and accessibly that the spatial distribution of shooting incidents in New York City from 2019 to 2023 exhibited significant concentrations above background in specific neighborhoods, particularly in the Bronx and Brooklyn. For example, Mott Haven-Port Morris emerged as the neighborhood with the highest number of incidents in the Bronx, totaling 157 over the five-year period. Similarly, Crown Heights North in Brooklyn experienced 303 incidents, the highest of any neighborhood across the city.

Map Prepared By: Isaac H. Michaels, MPH
Data Source: NYC Open Data

The table indicated consistent hotspots for violence, with neighborhoods such as East Concourse-Concourse Village, East Tremont, and Mount Hope in the Bronx, as well as Brownsville and East New York in Brooklyn, consistently experiencing high levels of gun violence each year. In Manhattan, Central Harlem North-Polo Grounds and East Harlem North were among the most affected areas. The detailed geographic visualization of shooting incidents offers critical insights for law enforcement and public health officials seeking to address and reduce gun violence in New York City.

Action

The importance of these findings derives from their potential to guide targeted interventions and resource allocation. By using the map to visualize spatial patterns and the table to convey trends in these incidents, strategies can be more effectively developed and implemented to mitigate future occurrences, especially in high-risk areas. The map generated from this analysis of shooting incidents in New York City can serve as a powerful tool for informing decision making and shaping interventions to prevent gun violence.

Providing a clear visualization of the geographic distribution of these incidents can guide law enforcement agencies and public health officials in allocating resources more effectively to prioritize the most affected neighborhoods. Maps like the one highlighted here can help foster partnerships among community organizations, local governments, and public health entities. Quantifying shooting incidence likewise can help stakeholders to collaborate on targeted initiatives, such as violence interruption programs, community outreach, and youth engagement activities designed to reduce the incidence of gun violence. Improving the accessibility of this information can empower communities to advocate for evidence-based policies, and thereby support preventive measures in their neighborhoods. More generally, public health practitioners are encouraged to include static and animated three-dimensional mapping among the methods they consider using for visualizing public health data, as such mapping offers unique advantages toward revealing complex spatial patterns and engaging audiences.


Shooting Incidents in New York City (2019 - 2023)
By Neighborhood and Year
Neighborhood Tabulation Area 2019 2020 2021 2022 2023 Total
Bronx
Allerton-Pelham Gardens 5 1 13 11 6 36
Bedford Park-Fordham North 4 16 20 16 21 77
Belmont 6 12 24 21 11 74
Bronxdale 5 19 7 16 8 55
Claremont-Bathgate 9 12 53 24 16 114
Co-op City 3 5 8 2 4 22
Crotona Park East 9 17 17 16 17 76
East Concourse-Concourse Village 24 35 36 29 27 151
East Tremont 12 40 35 33 29 149
Eastchester-Edenwald-Baychester 7 15 17 10 8 57
Fordham South 13 18 19 19 8 77
Highbridge 2 11 22 14 15 64
Hunts Point 9 17 27 12 8 73
Kingsbridge Heights 8 15 6 11 5 45
Longwood 9 14 22 17 16 78
Melrose South-Mott Haven North 16 26 31 25 18 116
Morrisania-Melrose 17 30 24 17 14 102
Mott Haven-Port Morris 16 35 46 40 20 157
Mount Hope 11 25 37 41 35 149
Norwood 2 4 22 12 5 45
Pelham Parkway 3 2 4 4 3 16
Schuylerville-Throgs Neck-Edgewater Park 4 2 8 4 2 20
Soundview-Bruckner 1 5 10 5 11 32
Soundview-Castle Hill-Clason Point-Harding Park 11 14 23 15 17 80
Spuyten Duyvil-Kingsbridge 3 1 3 2 1 10
University Heights-Morris Heights 15 16 17 12 24 84
Van Cortlandt Village 7 4 8 2 5 26
Van Nest-Morris Park-Westchester Square 3 0 3 4 4 14
West Concourse 7 13 37 22 10 89
West Farms-Bronx River 3 15 16 8 6 48
Westchester-Unionport 2 5 3 13 3 26
Williamsbridge-Olinville 11 26 40 24 27 128
Woodlawn-Wakefield 4 16 14 14 15 63
park-cemetery-etc-Bronx 6 11 18 13 2 50
North Riverdale-Fieldston-Riverdale 0 2 0 1 0 3
Parkchester 0 1 7 2 1 11
Pelham Bay-Country Club-City Island 0 1 2 0 4 7
Incident coordinates not recorded 0 0 0 0 13 13
Borough Total
267 501 699 531 439 2,437
Brooklyn
Bedford 20 38 29 19 14 120
Bensonhurst East 3 3 0 2 2 10
Bensonhurst West 1 1 4 3 1 10
Brownsville 34 95 60 63 36 288
Bushwick North 4 6 31 7 9 57
Bushwick South 14 23 20 19 17 93
Canarsie 12 41 32 23 13 121
Clinton Hill 4 7 13 3 2 29
Crown Heights North 66 82 63 57 35 303
Crown Heights South 2 15 13 12 11 53
Cypress Hills-City Line 5 25 17 22 12 81
DUMBO-Vinegar Hill-Downtown Brooklyn-Boerum Hill 6 19 10 13 10 58
East Flatbush-Farragut 10 22 23 14 18 87
East New York 46 89 54 56 36 281
East New York (Pennsylvania Ave) 14 28 24 10 19 95
East Williamsburg 3 8 12 1 2 26
Erasmus 8 17 5 11 6 47
Flatbush 10 40 15 10 15 90
Flatlands 9 15 16 12 9 61
Fort Greene 8 17 10 11 12 58
Gravesend 1 1 2 7 0 11
Homecrest 1 1 1 3 0 6
Midwood 1 0 3 0 3 7
North Side-South Side 2 7 4 3 2 18
Ocean Hill 17 24 31 22 13 107
Park Slope-Gowanus 1 5 2 5 2 15
Prospect Heights 3 9 2 2 3 19
Prospect Lefferts Gardens-Wingate 13 25 20 14 4 76
Rugby-Remsen Village 10 31 23 29 20 113
Seagate-Coney Island 15 16 11 23 10 75
Sheepshead Bay-Gerritsen Beach-Manhattan Beach 2 5 2 15 3 27
Starrett City 1 5 0 2 0 8
Stuyvesant Heights 19 61 41 36 27 184
Sunset Park East 2 5 6 1 7 21
Sunset Park West 1 9 1 7 7 25
West Brighton 2 0 2 1 0 5
park-cemetery-etc-Brooklyn 2 3 3 1 1 10
Bay Ridge 0 1 1 4 3 9
Borough Park 0 1 0 1 1 3
Carroll Gardens-Columbia Street-Red Hook 0 12 15 6 7 40
Dyker Heights 0 2 0 0 0 2
Georgetown-Marine Park-Bergen Beach-Mill Basin 0 2 0 2 2 6
Greenpoint 0 2 2 9 0 13
Williamsburg 0 1 1 1 1 4
Brighton Beach 0 0 6 0 1 7
Kensington-Ocean Parkway 0 0 1 3 1 5
Incident coordinates not recorded 0 0 0 4 11 15
Brooklyn Heights-Cobble Hill 0 0 0 0 1 1
Madison 0 0 0 0 1 1
Borough Total
372 819 631 569 410 2,801
Manhattan
Central Harlem North-Polo Grounds 21 45 67 61 31 225
Central Harlem South 17 24 33 24 8 106
Chinatown 3 3 4 12 11 33
Clinton 1 4 4 7 4 20
East Harlem North 28 29 38 54 30 179
East Harlem South 18 33 31 23 13 118
East Village 1 2 1 2 2 8
Hamilton Heights 4 11 7 16 3 41
Hudson Yards-Chelsea-Flatiron-Union Square 4 9 5 19 3 40
Lenox Hill-Roosevelt Island 1 0 1 0 3 5
Lincoln Square 2 6 3 5 3 19
Lower East Side 8 14 13 13 10 58
Manhattanville 3 12 13 8 5 41
Marble Hill-Inwood 10 29 42 16 10 107
Morningside Heights 3 6 8 2 3 22
Murray Hill-Kips Bay 2 7 3 1 1 14
SoHo-TriBeCa-Civic Center-Little Italy 2 1 0 7 1 11
Upper West Side 1 10 11 5 8 35
Washington Heights North 7 8 13 10 10 48
Washington Heights South 10 13 19 10 15 67
Battery Park City-Lower Manhattan 0 3 0 0 0 3
Midtown-Midtown South 0 1 14 3 4 22
Turtle Bay-East Midtown 0 1 0 3 0 4
West Village 0 1 4 1 0 6
Yorkville 0 2 2 1 2 7
park-cemetery-etc-Manhattan 0 1 4 4 1 10
Gramercy 0 0 1 0 0 1
Upper East Side-Carnegie Hill 0 0 4 1 0 5
Incident coordinates not recorded 0 0 0 4 12 16
Borough Total
146 275 345 312 193 1,271
Queens
Astoria 5 8 10 4 10 37
Baisley Park 10 15 12 14 14 65
Cambria Heights 1 1 1 7 2 12
College Point 2 3 0 1 1 7
Corona 2 6 3 2 3 16
East Elmhurst 1 11 4 1 3 20
East Flushing 1 1 2 1 0 5
Elmhurst 2 8 4 4 5 23
Elmhurst-Maspeth 2 0 2 0 7 11
Far Rockaway-Bayswater 9 32 14 17 8 80
Flushing 5 1 6 4 4 20
Forest Hills 2 0 1 3 0 6
Glen Oaks-Floral Park-New Hyde Park 2 1 0 0 0 3
Hammels-Arverne-Edgemere 9 37 26 20 10 102
Hollis 1 8 9 5 4 27
Hunters Point-Sunnyside-West Maspeth 4 6 7 4 5 26
Jackson Heights 4 3 5 11 1 24
Jamaica 6 16 18 18 8 66
Kew Gardens Hills 1 1 0 3 2 7
Laurelton 4 10 10 6 1 31
North Corona 4 4 11 4 2 25
Old Astoria 2 6 4 4 7 23
Ozone Park 2 2 6 5 0 15
Pomonok-Flushing Heights-Hillcrest 1 1 5 4 2 13
Queens Village 3 10 13 5 3 34
Queensboro Hill 1 1 0 0 1 3
Queensbridge-Ravenswood-Long Island City 13 12 10 6 4 45
Richmond Hill 9 0 4 19 15 47
Ridgewood 1 5 0 10 1 17
Rosedale 2 2 5 5 0 14
South Jamaica 13 31 15 11 3 73
South Ozone Park 3 4 13 12 9 41
Springfield Gardens North 5 4 10 5 0 24
Springfield Gardens South-Brookville 6 8 7 7 3 31
St. Albans 15 19 21 7 13 75
Whitestone 1 1 0 0 1 3
Woodhaven 1 5 8 6 2 22
Woodside 1 2 5 2 3 13
Airport 0 2 0 0 0 2
Bellerose 0 1 0 0 0 1
Briarwood-Jamaica Hills 0 4 3 2 0 9
Jamaica Estates-Holliswood 0 2 2 1 0 5
Kew Gardens 0 1 2 0 0 3
Lindenwood-Howard Beach 0 1 2 0 0 3
Maspeth 0 2 1 2 2 7
Murray Hill 0 1 1 1 0 3
Oakland Gardens 0 1 0 0 1 2
Steinway 0 1 7 4 4 16
park-cemetery-etc-Queens 0 2 2 6 1 11
Auburndale 0 0 2 0 0 2
Glendale 0 0 2 1 2 5
Middle Village 0 0 1 0 2 3
Bayside-Bayside Hills 0 0 0 2 0 2
Fresh Meadows-Utopia 0 0 0 6 0 6
Incident coordinates not recorded 0 0 0 2 6 8
Breezy Point-Belle Harbor-Rockaway Park-Broad Channel 0 0 0 0 2 2
Borough Total
156 303 296 264 177 1,196
Staten Island
Annadale-Huguenot-Prince's Bay-Eltingville 1 0 0 3 2 6
Mariner's Harbor-Arlington-Port Ivory-Graniteville 6 16 3 5 1 31
New Brighton-Silver Lake 1 1 2 4 2 10
New Dorp-Midland Beach 3 0 1 0 0 4
Old Town-Dongan Hills-South Beach 1 1 1 0 1 4
Port Richmond 1 4 1 3 0 9
Stapleton-Rosebank 4 3 12 5 6 30
Todt Hill-Emerson Hill-Heartland Village-Lighthouse Hill 2 0 0 1 0 3
West New Brighton-New Brighton-St. George 7 10 12 12 7 48
Grasmere-Arrochar-Ft. Wadsworth 0 3 0 0 1 4
Grymes Hill-Clifton-Fox Hills 0 10 4 7 3 24
New Springville-Bloomfield-Travis 0 2 2 0 0 4
Arden Heights 0 0 1 0 0 1
Charleston-Richmond Valley-Tottenville 0 0 1 0 0 1
Westerleigh 0 0 0 0 1 1
Incident coordinates not recorded 0 0 0 0 7 7
Borough Total
26 50 40 40 31 187
Citywide Total
967 1,948 2,011 1,716 1,250 7,892
Data Source: NYC Open Data (data as of June 30, 2024).
Note: Neighborhood tabulation areas were identified by performing a spatial join of the shooting-incident coordinates against the neighborhood tabulation area shapefile. As a result, 19 (0.2%) of the incidents were identified as having occurred in different boroughs than the ones indicated in the shooting-incidents dataset.

Table Prepared By: Isaac H. Michaels, MPH
Data Source: NYC Open Data


References

1.
Michaels IH, Pirani SJ, Carrascal A. Visualizing 50 years of cancer mortality rates across the US at multiple geographic levels using a synchronized map and graph animation. Preventing Chronic Disease. 2020;17:190286. doi:10.5888/pcd17.190286
2.
Rowh A, Zwald M, Fowler K, Jack S, Siordia C, Walters J. Emergency medical services encounters for firearm injuries - 858 counties, united states, january 2019-september 2023. MMWR Morb Mortal Wkly Rep. 2024;73(24):551-557. doi:10.15585/mmwr.mm7324a3
3.
Nguyen B, Lyons B, Forsberg K, et al. Surveillance for violent deaths - national violent death reporting system, 48 states, the district of columbia, and puerto rico, 2021. MMWR Surveill Summ. 2024;73(5):1-44. doi:10.15585/mmwr.ss7305a1
4.
Reeping P, Gobaud A, Branas C, Rajan S. K-12 school shootings: Implications for policy, prevention, and child well-being. Pediatr Clin North Am. 2021;68(2):413-426. doi:10.1016/j.pcl.2020.12.005
5.
Kravitz-Wirtz N, Bruns A, Aubel A, Zhang X, Buggs S. Inequities in community exposure to deadly gun violence by race/ethnicity, poverty, and neighborhood disadvantage among youth in large US cities. J Urban Health. 2022;99(4):610-625. doi:10.1007/s11524-022-00656-0
6.
New York Police Department. NYPD shooting incident data (historic). Published online 2024. https://data.cityofnewyork.us/Public-Safety/NYPD-Shooting-Incident-Data-Historic-/833y-fsy8/about_data
7.
New York City Department of City Planning. 2020 neighborhood tabulation areas (NTAs). Published online 2024. https://data.cityofnewyork.us/City-Government/2020-Neighborhood-Tabulation-Areas-NTAs-/9nt8-h7nd/about_data
8.
R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing; 2021. https://www.R-project.org/
9.
Wickham H et al. Welcome to the tidyverse. Journal of Open Source Software. 2019;4(43):1686. doi:10.21105/joss.01686
10.
Pebesma E. Simple features for r: Standardized support for spatial vector data. The R Journal. 2018;10(1):439-446. doi:10.32614/RJ-2018-009
11.
Morgan-Wall T. Rayshader: Create Maps and Visualize Data in 2D and 3D.; 2024. https://CRAN.R-project.org/package=rayshader
12.
Wickham H, Pedersen T, Seidel D. Scales: Scale Functions for Visualization.; 2023. https://CRAN.R-project.org/package=scales
13.
Garnier S, Ross N, Rudis R, Camargo AP, Sciaini M, Scherer C. Viridis(lite) - Colorblind-Friendly Color Maps for r.; 2024.

New York State Health Facility Maps

Explore an interactive map of healthcare facilities across New York State. Updated routinely, this tool provides detailed information on various facility types including hospitals, hospices, and diagnostic centers. Users can zoom, pan, and select specific facility types to visualize their locations, helping to identify healthcare access disparities and plan for future needs. Essential for public health professionals and policymakers to track healthcare distribution and address potential gaps.
health care Healthcare Facilities GIS New York State Public Health Planning Healthcare Access

New York City 311 Service Request Data Dashboard

Explore the New York City 311 Service Request Data Dashboard, an interactive GIS tool that visualizes social determinants of health using 311 service requests across NYC. Developed by Isaac H. Michaels, MPH, the dashboard provides spatial analysis of complaint types, dynamic frequency updates, and GIS overlays. Access the embedded application here or view the full-screen version for a comprehensive analysis of NYC’s health-related service requests.
NYC 311 GIS Social Determinants data visualization

United States COVID-19 Data Tracking Report

November 20, 2024
COVID-19 epidemiology GIS communicable diseases