maybedonemap

An Open Transit Map for Hudson County

Is the PATH down again and you need to find another way home? Want to show how limited transit options are in your neighborhood so you can fight for better service?

I’ve been hard at work on something that might help: a reasonably complete open map of all mass transit in Hudson County, free to use and adapt for your own purposes. At the moment the data’s set up as a series of shapefile layers in QGIS, and the project’s just been updated to work with the latest version (hyperthreading = so much faster).

new-new-header-image

When I say “reasonably complete” I mean it — trains (NJT + PATH), light rail, buses, ferries (NY Waterway, Liberty Landing, Statue Cruises),  even jitneys and smaller private bus companies like A&C.

JSQ

There is more work to do, however: at the moment the map is still missing the Hoboken HOP bus, NY Waterway’s shuttle buses, and one bus from Pennsylvania that stops twice a day each way at Exchange Place. It’s also possible I’ll discover some other secret buses, as that’s happened several times so far — Hudson County is full of poorly documented transportation routes largely run on word of mouth. (You know it’s bad when I’m actually excited to discover a company’s website contains maps drawn in MS Paint, because at least that means there ARE maps).

The big goal of this project is to tie everything together in a clean digital format that can be adapted for a wide variety of uses. (That includes commercial use: if the smaller bus companies want to generate their own maps for riders based on the routes I drew for them, THAT WOULD BE AWESOME.) Eventually the plan is to build some sort of slippy map you can interact with on the web, but right now we’re still on the “get everything in one place” stage.

This project started as part of OpenJC‘s Hack for Change National Day of Civic Hacking (I won!), but I’ve continued working on it for several weeks now. And I have learned A LOT about QGIS in the process. The best single tip I can offer is to use the OpenStreetMap plugin to download a dataset, but to skip the spatialite db conversion steps and just import the .osm as a vector layer. It seems a bit slower on the redraw, but no more missing streets!

I’ve also learned a lot about hierarchical design for complex maps. When I’m designing maps for television, they need to be simple and easy to interpret at a distance, so I’ve never had to fit so many different types of things on screen at once. Getting them all to harmonize in any remotely readable fashion has been a real challenge, but I think I’m getting there. I expect in the end many users will not even want all the layers enabled at once, but I’m trying to make things slightly less spaghetti-like if they do.

Also, if you randomize a bunch of settings, you can generate some neat abstract art with this thing:

random-color-map

abstractbuses

Leave a Reply