A brief overview of what we know about guns in Minnesota — and what we don’t know.

[raw shortcodes=1]




Minnesota’s gun law ranking, according to the Brady Scorecard, which concludes the state has “weak gun laws that help feed the illegal gun market and allows the sale of guns without background checks and put children at risk.”
91,221
Active permits to carry as of Dec. 31, 2011 1
337,534
Background checks in 2011
7 days
Maximum waiting period before issuance of a permit to purchase handguns or assault weapons 3
$76,795
NRA campaign contributions to and outside spending on behalf of Minnesota congressional candidates in 2012 2
495
Criminal forfeitures of firearms in 2011

What we don’t know about guns in Minnesota:

  1. The total number of guns in the state.
  2. The amount of ammunition sold or owned.
  3. The number of gun owners.
  4. A breakdown of the types of guns sold in Minnesota.
  5. The number of guns sold at gunshows.
  6. The number of guns trafficked and sold illegally.

Population data from 2010 MN State Legislature GIS county files. Permit to Carry numbers from 2011 MN Department of Public Safety report. Star icon from The Noun Project.

1 Report of valid permits for applications received from 05/01/2003 to 12/31/2011 and valid on or before 12/31/2011 for all the counties.
2 The total NRA contributions number is both contributions to campaigns and money spent on behalf of candidates, but independent of their campaigns.
3 The law defining the waiting period is not precise and refers to both a 5 business day and 7 day waiting period.


Loading…

}(jQuery));

Permits to Carry per capita

Fewer permitsMore permits

}(jQuery));

County

Population:
Permits:
Permits per population:

}(jQuery));




(function($, w, undefined) { var dataDir = ‘https://s3.amazonaws.com/data.minnpost/projects/minnpost-boundary-conversions/data/mn-county-2010/geojson-dp-60/’;

var countyFirearmData = [ { county: ‘Aitkin’, permits: 496 }, { county: ‘Anoka’, permits: 7168 }, { county: ‘Becker’, permits: 625 }, { county: ‘Beltrami’, permits: 669 }, { county: ‘Benton’, permits: 797 }, { county: ‘Big Stone’, permits: 65 }, { county: ‘Blue Earth’, permits: 755 }, { county: ‘Brown’, permits: 285 }, { county: ‘Carlton’, permits: 912 }, { county: ‘Carver’, permits: 1638 }, { county: ‘Cass’, permits: 865 }, { county: ‘Chippewa’, permits: 220 }, { county: ‘Chisago’, permits: 1566 }, { county: ‘Clay’, permits: 437 }, { county: ‘Clearwater’, permits: 176 }, { county: ‘Cook’, permits: 256 }, { county: ‘Cottonwood’, permits: 145 }, { county: ‘Crow Wing’, permits: 1707 }, { county: ‘Dakota’, permits: 6587 }, { county: ‘Dodge’, permits: 308 }, { county: ‘Douglas’, permits: 980 }, { county: ‘Faribault’, permits: 251 }, { county: ‘Fillmore’, permits: 351 }, { county: ‘Freeborn’, permits: 381 }, { county: ‘Goodhue’, permits: 885 }, { county: ‘Grant’, permits: 129 }, { county: ‘Hennepin’, permits: 13793 }, { county: ‘Houston’, permits: 359 }, { county: ‘Hubbard’, permits: 442 }, { county: ‘Isanti’, permits: 1019 }, { county: ‘Itasca’, permits: 1483 }, { county: ‘Jackson’, permits: 136 }, { county: ‘Kanabec’, permits: 409 }, { county: ‘Kandiyohi’, permits: 800 }, { county: ‘Kittson’, permits: 70 }, { county: ‘Koochiching’, permits: 349 }, { county: ‘Lac qui Parle’, permits: 86 }, { county: ‘Lake’, permits: 329 }, { county: ‘Lake of the Woods’, permits: 106 }, { county: ‘Le Sueur’, permits: 439 }, { county: ‘Lincoln’, permits: 37 }, { county: ‘Lyon’, permits: 279 }, { county: ‘Mahnomen’, permits: 61 }, { county: ‘Marshall’, permits: 139 }, { county: ‘Martin’, permits: 254 }, { county: ‘McLeod’, permits: 615 }, { county: ‘Meeker’, permits: 390 }, { county: ‘Mille Lacs’, permits: 693 }, { county: ‘Morrison’, permits: 764 }, { county: ‘Mower’, permits: 476 }, { county: ‘Murray’, permits: 107 }, { county: ‘Nicollet’, permits: 358 }, { county: ‘Nobles’, permits: 240 }, { county: ‘Norman’, permits: 79 }, { county: ‘Olmsted’, permits: 2131 }, { county: ‘Otter Tail’, permits: 1650 }, { county: ‘Pennington’, permits: 182 }, { county: ‘Pine’, permits: 754 }, { county: ‘Pipestone’, permits: 101 }, { county: ‘Polk’, permits: 434 }, { county: ‘Pope’, permits: 191 }, { county: ‘Ramsey’, permits: 5498 }, { county: ‘Red Lake’, permits: 78 }, { county: ‘Redwood’, permits: 235 }, { county: ‘Renville’, permits: 269 }, { county: ‘Rice’, permits: 954 }, { county: ‘Rock’, permits: 44 }, { county: ‘Roseau’, permits: 262 }, { county: ‘Scott’, permits: 2566 }, { county: ‘Sherburne’, permits: 2434 }, { county: ‘Sibley’, permits: 265 }, { county: ‘St. Louis’, permits: 6330 }, { county: ‘Stearns’, permits: 2280 }, { county: ‘Steele’, permits: 512 }, { county: ‘Stevens’, permits: 134 }, { county: ‘Swift’, permits: 130 }, { county: ‘Todd’, permits: 593 }, { county: ‘Traverse’, permits: 74 }, { county: ‘Wabasha’, permits: 476 }, { county: ‘Wadena’, permits: 250 }, { county: ‘Waseca’, permits: 250 }, { county: ‘Washington’, permits: 5310 }, { county: ‘Watonwan’, permits: 176 }, { county: ‘Wilkin’, permits: 66 }, { county: ‘Winona’, permits: 693 }, { county: ‘Wright’, permits: 2768 }, { county: ‘Yellow Medicine’, permits: 165 } ];

// Tooltip placeholder var templateTooltip = $(‘#template-tooltip’).html(); var $tooltip = $(‘

‘).addClass(‘tooltip-body-container’).hide() .appendTo(‘.number-block-map’);

// Function to create visualization var updateChart = function(data, containerSelector) { var $container = $(containerSelector);

// Handle inputs and updates var width = parseInt($container.width()); var height = parseInt($container.height());

// Bounding code borrowed from: http://www.larsko.org/v/igdp/ var margin = width * 0.02; var proj = d3.geo.mercator().scale(1).translate([0,0]); var bounds0 = d3.geo.bounds(data); var bounds = bounds0.map(proj); var xscale = (width – 2 * margin) / Math.abs(bounds[1][0] – bounds[0][0]); var yscale = (height – 2 * margin) / Math.abs(bounds[1][1] – bounds[0][1]); var pscale = Math.min(xscale, yscale);

// Create svg canvas var svg = d3.select(containerSelector).append(‘svg’) .attr(‘width’, width) .attr(‘height’, height);

// Handle projection var wscale = pscale; proj.scale(pscale); proj.translate(proj([-bounds0[0][0], -bounds0[1][1]])); var path = d3.geo.path().projection(proj);

// Handle svg canvas, dpeneding on orientation if (xscale > yscale) { var d = xscale * Math.abs(bounds[1][0] – bounds[0][0]) – yscale * Math.abs(bounds[1][0] – bounds[0][0]); svg.attr(‘transform’, ‘translate(‘ + d / 2 + ‘, 0)’); } else { var d = yscale * Math.abs(bounds[1][1] – bounds[0][1]) – xscale * Math.abs(bounds[1][1] – bounds[0][1]); svg.attr(‘transform’, ‘translate(0, ‘ + d / 5 + ‘)’); }

// Handle offset, dpeneding on orientation var widthd = proj(bounds0[0])[1]; var heightd = proj(bounds0[1])[0]; if (xscale > yscale) { var offsetxd = (width / 2 – widthd / 2); var offsetyd = margin; } else { var offsetxd = margin; var offsetyd = (height / 2 – heightd / 2); }

// Colors //.range([‘#FCFBFD’, ‘#EFEDF5’, ‘#DADAEB’, ‘#BCBDDC’, ‘#9E9AC8’, ‘#807DBA’, ‘#6A51A3’, ‘#4A1486’]) //.range([‘#FFFFD9’, ‘#EDF8B1’, ‘#C7E9B4’, ‘#7FCDBB’, ‘#41B6C4’, ‘#1D91C0’, ‘#225EA8’, ‘#253494’, ‘#081D58’]) var colors = [‘#2D3C52’, ‘#3B4A5F’, ‘#49586D’, ‘#58667B’, ‘#667488’, ‘#758296’, ‘#8390A4’, ‘#919EB1’, ‘#A0ACBF’, ‘#AEBACD’, ‘#BDC9DB’].reverse(); var min = _.min(data.features, function(d) { return d.properties.permitsPopulation; }); var max = _.max(data.features, function(d) { return d.properties.permitsPopulation; }); var colorRange = d3.scale.linear() .domain(d3.range(min.properties.permitsPopulation, max.properties.permitsPopulation, 0.003)) .range(colors) .clamp(true); // Make key _.each(colors, function(c) { $(‘

‘).css(‘width’, ((1 / colors.length * 100) – .01) + ‘%’) .css(‘background-color’, c) .appendTo(‘.map-key’); });

// Render paths svg.selectAll(‘path’) .data(data.features) .enter().append(‘path’) .attr(‘d’, path) .attr(‘stroke’, ‘#EDEDED’) .attr(‘transform’, ‘translate(‘ + offsetxd + ‘, ‘ + offsetyd + ‘)’) .attr(‘stroke’, ‘#DEDEDE’) .attr(‘fill’, function(d) { return colorRange(d.properties.permitsPopulation); }) .on(‘mouseover’, function(d) { this.attr(‘stroke’, ‘#898989’) .attr(‘stroke-width’, 3);

//this.toFront(); // This screws up hover in IE7/8

$tooltip .html(_.template(templateTooltip, { d: d })) .show(); }) .on(‘mouseout’, function(d) { this.attr(‘stroke’, ‘#DEDEDE’) .attr(‘stroke-width’, 1);

$tooltip.hide(); }) .on(‘click’, function(d) { this.attr(‘stroke’, ‘#020202’); });

// Remove loading $(‘.loading’).html(”); }

// When ready, make the magic happen $(document).ready(function() { $(‘#application-container’).html($(‘#template-loading’).html());

window.mn_county_2010 = function(data) { // Add in permit data data.features = _.map(data.features, function(d) { var found = false; _.each(countyFirearmData, function(c) { if (c.county == d.properties.NAME) { d.properties.permits = c.permits; d.properties.permitsPopulation = c.permits / d.properties.POPULATION; found = true; } }); return d; });

// Start application $(‘#application-container’).html($(‘#template-chart-container’).html()); updateChart(data, ‘#county-chart-container’); }; $.ajax({ type: ‘GET’, dataType: ‘jsonp’, url: dataDir + ‘mn-county-2010.jsonp?callback=mn_county_2010’, jsonp: ‘callback’ }); }); })(jQueryCustom, window); }(jQuery));

[/raw]

Join the Conversation

6 Comments

  1. Biased Graphics

    Two things:

    1 – You have data from the Brady Campaign, an extremely biased anti-gun organization, which is perfectly fine. Why then do you not have a counter source to even out the biased-ness of the graphic? The NRA is about opposite the Brady Campaign, why not have a scorecard from them? Unless of course you don’t actually care about reporting news and are only trying to incite fear and hate-mongering amongst your readers.

    2 – Could you please define the map a little bit better? Are the different color shades representative of total permits to carry per county, or permits to carry PER CAPITA per county? It seems to me that with the population difference of NE Minnesota, compared to the twin cities, that the map must be PER CAPITA, but further explanation of the map would be helpful.

    1. Thanks for the comments

      Hi Matt.  Our intentions were definitely not meant to be biased with this piece but to simply present the limited data that is available on guns in Minnesota.

      Regarding the NRA, we actually talked about this extensively but the NRA does not have a single metric for a state as a whole so it would be difficult to portray in this graphic.  They grade congresspeople and we discussed trying to “average” those grades, but this would be difficult, inaccurate, and misrepresent their data.  We are very open to including data from NRA if you have suggestions.

      Regarding the map, it is indeed permits per capita grouped by county.  This is the percentage of the population that has permits to carry grouped by county, and the coloring is based by that (Cook County has the highest percentage).  In our opinion the grouping is fairly obvious on the map and was not needed in the title.  Maybe our assumption was wrong and if more people share your opinion we would be glad to update the graphic.

    2. Biased, indeed

      The Brady Campaign is definitely an anti-gun organization. Lets us know, will you, Mr. Touchette, what your biases might be after you’ve been shot in the head…

      Since the graphic accompanying the piece labels the map as “per capita,” further delineation didn’t seem necessary to me.

      I’m surprised / disappointed by the LACK of information laid out in the “What we don’t know” graphic. It would be easier to discuss what all this means, or doesn’t mean, if there were more information to work with. I would expect all but #2 on the list to be contested vociferously by zealots as an invasion of privacy at the very least, or in their worst-case scenario, the first step in an attempt on the part of the state to confiscate weapons legally obtained.

  2. What we don’t know

    Please stop obfuscation of your anti-gun agenda – just come out and state the authors hate gun owners. This article is useless, provides no useable information at all and does not address any issues that should be debated.

    If you wish to address the least common denominator of violence against masses, start the discussion on mental illness. What as a society do we need to do to address treatment, remove stigma and ensure we identify those with mental illness who are prone to hurt others and remove them from the ability to do so.

    If you wish to address top causes of preventable child death – then start with
    1. Car accidents
    2. Drownings
    3. Fire prevention
    4. Texting while driving (rising like a bullet up the charts)

    Yes anytime innocents are taken too early by events beyond their control, we grieve, cry out and try to find blame where is is easy or our biases already exist.

    Actual scientific studies show violent crime in the US is down – (sorry did not include them here, guess I am just like my detractors). As is real reporting where facts are given on both sides and the reader is left to make up their own mind.

    What is up in the US is incomplete and inaccurate reporting, Tabloid journalism disguised as mainline media and sound bits meant to keep you past the next commercial.

    PBS, FOX, CNN, ABC, CBS, NBC news are little different in their lack of total context and content – except for production values. When you do get a more in depth story you quickly find it is an editorial and not a fact enlightening experience.

    I suggest you turn off your TV internet and get involved in your community to see what works, is broken and why mos tof what is being done is to waste your time and stall real debate.

  3. What we don’t know…

    So what…who says it is the state government’s job to know how many gun owners, guns that are owned, ammunition that is purchased, whatever…

    Same could be said for big screen TV’s, malted milk, Baptists, cheating on your spouse, or fleece vests.

    Consider your questions, and then provide an answer on where you stand with NSA monitoring of YOUR email/cellphone traffic.

    Must then government know overything about everything>

    1. When …

      …. tvs, malted milk, Baptists, cheating spouses or fleece anything play crucial roles in all sorts of violent crimes we should track them all closely. It is folly to have no useful information about gun distribution in the state. No, it doesn’t mean government must know everything.

Leave a comment