Reducing the number and speed of automobiles near schools and parks is a proven way to reduce the number of traffic crashes involving children, part of a practice known as “traffic calming”. In Chicago a key way to do that has been to “cul-de-sac” (which I’m using as a verb) a street to prevent through traffic (reducing the number) and preventing speeding (reducing the speed).
My favorite example in Chicago is Hadiya Pendleton Park, at 4345 S Calumet Ave. This project created two mid-block cul-de-sacs and a park in the middle of a block, using vacant city-owned land on both sides. Creating new open space is a common corresponding outcome of the cul-de-sac application, which is what occurred at Funston Elementary School (see the before and after aerial photos below).
Through Twitter I solicited additional examples of where the city has created traffic calming near schools and parks using cul-de-sacs. Examples were submitted by Roland, Emily (who mentioned Funston), Matt, Steven, and another tweeter.
Using OpenStreetMap, Overpass Query Language, and Overpass Turbo, we can find all of the schools and parks that are within a specified distance of a cul-de-sac. It turns out there are 153 schools and parks in Chicago that are within 150 feet of a cul-de-sac. (This considers only schools, parks, and cul-de-sacs, tagged as “turning circles”, currently mapped in OSM, and I have not verified each of the 153 instances.)
The query below will find all of the cul-de-sacs (mapped as “turning circles” in OSM parlance) that are in Chicago, all of the schools and parks in Chicago, and then all of the two categories of features that are within 45 meters of each other. (Run the query and show the map, which will always grab the latest data.)
/*
example from OSM wiki: https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example
*/
[out:json][timeout:25];
// fetch area “Chicago” to search in
{{geocodeArea:Chicago}}->.searchArea;
// get cul-de-sacs
(
node["highway"="turning_circle"](area.searchArea);
)->.turning_circles;
// get parks and schools
(
way["amenity"="school"](area.searchArea);
way["leisure"="park"](area.searchArea);
)->.schoolsParks;
// find parks and schools near cul-de-sacs
(
way.schoolsParks(around.turning_circles:45);
)->.matchingSchoolsParks;
// find cul-de-sacs near parks and schools
(
node.turning_circles(around.schoolsParks:45);
)->.matchingTurningCircles;
// output results to the map
(.matchingSchoolsParks; .matchingTurningCircles;);
out geom;
Read the three other blog posts I’ve written about using Overpass Turbo to quickly sift through and extract desired mapping data from OpenStreetMap.