Category: Illinois

How I created a map of Illinois Amtrak routes in TileMill in less than 30 minutes

This interactive map was created for a Grid Chicago article to show the cities and Amtrak routes mentioned. Click and drag it around or hover your mouse on the red train station markers. 

Want to create a map like that and publish it on your own website? It’s easy. I’ll show you how to do it in less than 30 minutes. First, download the following files:

All shapefiles are from the United States Department of Transportation, Bureau of Transportation Statistics’s National Transportation Atlas 2012 edition except for Illinois places, which comes from the Census Bureau’s TIGER project.

At the end of this tutorial, you’ll have a good introduction on how to find geographic data, build a map with TileMill, style the map, and publish it for the public. Your map will not look like mine as this tutorial doesn’t describe how to add labels or use the hover/info feature.

Tutorial to make Amtrak Illinois map

  1. Unzip the four ZIP files you downloaded and move their contents into a folder, like /Documents/GIS/Amtrak Illinois/shapefiles. This is your project folder.
  2. Install TileMill and open it.
  3. Set up a project. In the Projects pane, click “New Project”. In the filename field, title it “amtrak_illinois”. Ensure that the checkbox next to “Default data” is checked – this shows a world map and helps you get your bearings (but it’s not absolutely necessary).
  4. Get familiar with TileMill’s layout. Your new project will open with the map on the left side and your Carto style code on the right side. There are four buttons aligning the left edge of your map. From top to bottom they are: Templates, Font list, Carto guide, and Layers.
  5. Add a layer. We’re going to add the four shapefile layers you downloaded. Click the “Layers” button and then click “Add layer”. In the ID field, type in “amtrak_routes”. For Datasource, browse to your project folder and find “amtrak.shp” – this file has the Amtrak route lines. Then click “Done”. Click “Save & Style”.
  6. Style that layer. When you click “Save & Style” after adding a layer, your attention will be called to the Carto style code on the right side of TileMill. A section of code with the “amtrak_routes” #selector will have been inserted with some default colors and styles. If you know CSS, you will be familiar with how to change the Amtrak routes line styles. Change the “line-color” to “#000”. After “line-color”, add a new line and insert “line-opacity: 0.5;”. This will add some transparency to the line. Press the “Save” button above the code.
  7. Add remaining layers. Repeat Step 5 and add 3 more layers: “amtrk_sta.shp” (ID field: “amtrak_stations”), “state.shp” (ID field: “states”), and “tl_2012_17_place.shp” (ID field: “illinois_cities”).
  8. Hide bus stations. The Amtrak stations layer shows bus and ferry stations as part of Amtrak’s Thruway connections. You probably don’t want to show these. In your Carto style code, rename the #selector from “#amtrak_stations” to “#amtrak_stations[STNTYPE=’RAIL’]”. That makes the following style code only apply to stations with the “rail” type. Since there’s no style definition for things that aren’t of that type, they won’t appear.

Screenshot of my map.

Prepare your map for uploading

TileMill has many exporting options. You can save it as MBTiles and publish the map for free using MapBox (TileMill’s parent), or you can export it as image files (but it won’t be interactive), or you can display the map using the Leaflet JavaScript map library (which I use for the Chicago Bike Map app). This tutorial will explain how to export MBTiles and upload to MapBox, the server I’m using to display the map at the top of this page.

  1. Change project settings. To upload to MapBox, you’ll have to export your project as MBTiles, a proprietary format. Click the “Export” button above your Carto style code and click “MBTiles”. You’ll be asked to provide a name, description, attribution, and version. Input appropriate text for all but version.
  2. Adjust the zoom levels. Adjust the number of zoom levels you want (the more you have the longer it takes to export and upload your project, and you might exceed MapBox’s free 50 MB account limit). My map has zoom levels 8-11.
  3. Adjust the bounds. You’ll then want to draw your bounds: how much of the map’s geographic extents you want to export. Zoom to a level where you can see the entire state of Illinois in your map. Hold down the Shift key and drag a box around the state, plus a buffer (so viewers don’t fall of your map when they pan to the edges).
  4. Export your map. Click Export and watch the progress! On a four-year-old MacBook it took less than one minute to export the project.
  5. Bring the export to your project folder. When export finishes, click the “Save” button and browse to your project folder. Click the file browser’s save button.
  6. Upload to MapBox. Login to MapBox’s website and click “Upload Layer”. Browse to your project folder, select the .mbtiles folder, and click “Upload file”. Upon a successful upload, your map will display.
  7. Embed it in your website. Click the “Share” button in the upper left corner of your map and copy the embed code. Paste this into the HTML source code of a webpage (or in a WordPress post) and save that (I’m not going to provide instructions on how to do that).

Now you know how to find geographic data, build a custom map using the TileMill application, begin to understand how to style it, and embed your map for the public on a website or blog.

N.B. I was originally going to use QGIS to build a map and then publish a static image before I realized that TileMill + MapBox (the website) can build a map but publish an interactive feature instead of a static image. I’m happy I went that route. However, I did use QGIS to verify the data and even create a new shapefile of just a few of the key train stations on the Lincoln Service (the centerpiece of my Grid Chicago article).

Finding data about traffic and roads in Illinois

There are two good websites that provide information about roads, traffic, and their many attributes. One is provided by the Illinois Department of Transportation (IDOT) called Getting Around Illinois (GAI). The second is the Traffic Count Database System (TCDS).

Both provide Average Daily Traffic (ADT) counts with TCDS making the information easier to find and presents more of it.

The GAI map has an important layer: jurisdiction. With that information you can determine who has “ownership” of a road. Jurisdiction has been an important factor in the nearly year-long delay of the Jackson Boulevard protected bike lane segment from Ogden Avenue to Halsted Street. IDOT has jurisdiction over this segment (which continues east to Lake Shore Drive; the road is also known as Route 66) and is requiring that the Chicago Department of Transportation do more analysis and revise their designs.

If you are looking for ADT counts, I highly recommend TCDS as it uses the more familiar Google Maps and doesn’t require the Microsoft Silverlight plugin (which is slow and often denigrated with poor usability applications).

GAI has truck routes and crash information as well.

Slicing the crash data into interesting visualizations

The Chicago Crash Browser as it looks now. This only exists on my laptop and no place else. I can’t put it online because it’s so inefficient it would kill the server. 

I presented my Chicago Crash Browser to attendees of an OpenGov Hack Night three weeks ago and gathered a lot of feedback and some interest from designers and programmers there.

We collaboratively came up with a new direction: instead of focusing on creating a huge web application that I proposed, we (anyone who wants to help) would start small with a website and a couple of crash data visualizations. The visualizations would serve two purposes:

  • attract attention to the project
  • start building a gallery of data-oriented graphics that describes the breadth and extent of the crash data

Continue reading

Figuring out how many CMAQ projects are for roads

Simplified, the purpose of Congestion Mitigation and Air Quality (CMAQ) grant is to fund projects that reduce congestion and improve air quality. This usually means bicycle, pedestrian, and transit facilities and vehicles. But it also means road projects. Like intersection widening, new signals, changes to signal programming, and “signal interconnect” (timing the signals to cooperate with each other to have some free flowing traffic). It can also mean making grade separations at railroad tracks to eliminate backups when trains cross. However, not everything is infrastructure: there’s also marketing, encouragement, analysis, bike sharing, and education.

In a conversation I was having last night with some transportation advocate friends, one joked that most of CMAQ funds road projects. I agreed (probably because the irony of reducing congestion by making higher capacity roads was funny to me), and we moved on to other topics. I set out verify the actual distribution share for the six-county region in Northeastern Illinois.

I spent almost an hour converting the Chicago Metropolitan Agency for Planning’s CMAQ 2012-2016 projects list from PDF to Excel and then quickly identified every project as being “road” or “not road”. I tallied the amount of proposed CMAQ funding for the projects to get the answer: road projects take up 25.7% of CMAQ funding.

But I can’t stop there! Now that I have CMAP’s data in a spreadsheet, I can get the average of Daily VOC eliminated for road and non-road projects, as well as the estimated cost per VOC kilogram eliminated.

On average, non-road projects have a lower cost per VOC kilogram eliminated ($4,109.37 versus $9,472.90). And non-road projects on average eliminate 19.7 times more kilograms of VOC daily (5.918 kg versus 0.301 kg for road projects).

There are some disclaimers! These are all estimates and not every project has received funding. Also, projects are not selected solely on cost per kilogram of VOC eliminated, or daily VOC eliminated. I’d also like to see estimates on the number of people affected by each project.

You can check my math by downloading my modified projects list (XLS).

The first raised crosswalk I’ve seen in Illinois

The raised crosswalk, a view looking northeast, from the sidewalk. 

Forest Park was a client of mine in 2012 via my work for Active Transportation Alliance; they’re a technical consultant for cities that had grants from the Communities Putting Prevention to Work program. I visited the village with one of their staffers to identify great locations for bike racks (that also included advice on their existing rack inventory, and suggestions for exactly which models to buy).

We would drive around town and then stop and walk a lot. One place where we did a lot of walking was in their downtown, on Madison Street (the same Madison Street as in Chicago). I was pleasantly surprised that their signage reflected the “stop for pedestrians in crosswalk” law, replacing the now-irrelevant “yield for pedestrians in crosswalk” signs. And to top it off, they had talking and lighted signals at some of the crosswalks. I do not support any widespread installation of these: I think they help move our culture in a direction that perpetuates the low respect we have for pedestrians. I believe there are other ways to enforce driver compliance that do not require this kind of equipment.

Forest Park has installed one of those ways: it’s a raised crosswalk (also known as a speed table). It looks like a speed hump, but is much wider, has a flat top, and carries a marked crosswalk (see my article on Grid Chicago “What is an unmarked crosswalk?“). It causes drivers to slow down and has an added – subjective – benefit of intimating that the driver is entering a “protected space”, one for people on foot and that it should be respected. They bring the roadway up to the pedestrian’s level instead of dipping the sidewalk down to the driver’s level.

I don’t know of one in Chicago, but three guys are working to get several installed in a Logan Square traffic circle redesign.

Note: If you are interested in knowing exactly which models of bike racks to buy, learn more at Simple Bike Parking, or contact me directly. I may charge a fee.

The raised crosswalk as seen from a car moving westbound.