TagGoogle Maps

The best way to store directions on your smartphone is low tech

map of southern illinois as seen in the OsmAnd app

OsmAnd has great offline mapping features but it was tedious to ensure I had all of the maps at the desired zoom levels for the three-city bike ride in southern Illinois (pictured).

My friend is going to pick up a unique bicycle in Ohio and ride it back to Chicago. He designed a good route on Google Maps but now he needs to save it to his smartphone so he doesn’t have to constantly load directions and use data and waste battery life.

I gave him these instructions:

The best way to get a mobile view of the route is to use the Google Maps print feature and save it as a PDF. Then transfer that PDF to your phone through the Dropbox app. Then, in the Dropbox app, mark the PDF file as a favorite so that it’s stored offline, onto the phone.

There’s probably an app that can do what he wants, but I don’t know about it. There are hundreds of “maps” apps to sort through in each the App Store for iOS and the Play Store for Android.

In fact, I’ve downloaded OsmAnd, an offline maps app, for my Android tablet. I installed it and tried to learn how to use it in order to follow a downstate, intercity bike camping route. The app, though, required that you zoom in to each part of the map you wanted to store and then press “download”.


I spent 30 minutes downloading parts of the map, manually panning to the next section, before I decided to instead obtain one of the Illinois Department of Transportation’s regional bike maps and just draw it on there and write out a “cue sheet” (turn by turn directions).

Google Maps’s lies are why I made my own bike map


Bright green lines indicate trails while darker green lines indicate bike lanes.

Because Google Maps lies about where bike facilities are. Check out the bicycling layer at 16th Street and Wood Street in Pilsen, Chicago, Illinois.

Google Maps bicycling layer legend

Google Maps bicycling layer legend

The bright green lines represent trails, but the ones in this part of Pilsen are not trails. All of the north-south “trails” you see are actually sidewalks underneath railroad viaducts. The east-west trails…well, I’m not sure what they are but they are on elevated railroad property. Don’t go up there.

I created my own bike map to deal with the inaccuracies across Google Maps. I used my local knowledge (“ground truth”) and high-quality bike facility data from the Chicago Department of Transportation.

I also used contributions to OpenStreetMap, mainly for trails. I’ve been correcting and adding new bike lane data to OSM as CDOT installs them. View this area with OpenCycleMap’s tiles, which shows only bike lanes on 18th Street.

If you’re an editor on Google’s Map Maker data editing platform, please correct these errors. I would do it except that Google doesn’t allow others to benefit from my data contributions like OpenStreetMap does, where anyone can give and take. (I also had a negative experience on Map Maker, getting myself into a tiff with an unnamed user who disagreed with my changes, based on a personal visit to the location, that were not visible on the satellite imagery because that location had outdated imagery.)


Get out of Googleville: my presentation on web mapping

Alternate headlines: Google Maps versus OpenStreetMap; why OpenStreetMap is better than Google Maps

I presented to the Chicago GIS Network Meetup group on February 5,2013, about alternatives to Google when it comes to mapping on the web. I created the presentation and outline a couple hours before giving it and came up with this slideshow with three frames.

Googleville 1 of 3

Google Maps and its data is a one-way street (or many one-way streets). Google will take data but won’t give it back.

Googleville 2 of 3

Google Maps has all of these features, but they’re easier to manipulate when you use an alternative. Alternatives like: MapBox, TileMill, OpenLayers, OpenStreetMap (made easy with JOSM), GeoCommons – I’m sure there are plenty more.

Googleville 3 of 3

OpenStreetMap is the Wikipedia of online mapping and geographic data. Considering switching to OSM.

Mapping guns in your town: is that okay?


This screenshot shows the pistol permit holders in Westchester County, New York. The highest density of permit holders appears to be at the border with Bronx County, also known as the northern edge of New York City. 

An ABC News story I read through the Yahoo! News website tells about The Journal News, covering Westchester (Yonkers, New Rochelle) and Rockland (New City, Pomona) counties in New York, posting the names and addresses, on a map, of gun permit owners. The map contains:

…the addresses of all pistol permit holders in Westchester and Rockland counties. Each dot represents an individual permit holder licensed to own a handgun — a pistol or revolver. The data does not include owners of long guns — rifles or shotguns — which can be purchased without a permit. Being included in this map does not mean the individual at a specific location owns a weapon, just that they are licensed to do so. [Notice that some dots are outside the county.]

This article is interesting to me for two reasons:

1. The article has hyperlinks to the (alleged?) Facebook profiles of two people who commented on The Journal News’s website. I predict this will only become more common. I don’t have a Facebook profile to link to.

2. The rationale to make a map seems reasonable: so people know where there are potentially guns in their neighborhood. It seems reasonable that people want to know where there are potential sources of danger and harm near them.

The names and addresses were obtained through “routine” (their words, not mine, but it is pretty routine and normal) Freedom of Information Act (FOIA) requests. The quantity and types of guns are not considered to be public record, although this may not be true, according to the ABC News article.

Be your own traffic and road planner

Wanna know how many cars were measured to pass by on a street near you (in Chicago)?

Want to know how wide a street is?
Want to do this without leaving your house?

You can.

1. Find the “ADT” (average daily traffic) for roads in Chicago on the city’s Traffic Tracker website. Average is a misnomer, though, because that implies more than one count has been taken or estimate has been made. The last time the city counted cars in Chicago was 2006; I imagine the difference in counts taken this year would be statistically significant (meaning any differences would not be by chance or random).

To find a location in Traffic Tracker:

  1. You can pan and zoom the map until you find it, or you can select one street and then select an intersection street and click the magnifying glass.
  2. Then click the checkbox next to Traffic Signals.
  3. Click on a green dot (with number label) to find direction counts and the count date.


Okay, now let’s measure the street width.

Google Earth and Maps have this tool. For Google Earth, it’s as simple as finding the ruler tool in the toolbar, selecting your units, and then clicking on the start and end points. The distance will also be displayed live as you move your cursor.

Finding the distance in Google Maps has a few more steps:

  1. Turn on the measurement tool, in Maps Labs. Go to Google Maps and click “Maps Labs” at the bottom of the left pane.
  2. In the popup dialog pane, click the radio button next to “Enable” for Distance Measurement Tool.
  3. Click Save Changes.
  4. Find the street you want to measure.
  5. Click the ruler button in the lower left corner of the map.
  6. Click one side of the street and then click the other side of the street. You can keep clicking to get distances of a polyline (a multi-segmented line) that you draw.
  7. Change the map units to your desire (there are tens of archaic ones available).

Now you’ve got two more tools with which to arm yourself in understanding your streets and your neighborhood.

BikeLock app based on dataset I opened up


Bike parking at Daley Plaza, downtown Chicago. 

It’s really cool to see work you did “go places”. A friend of mine who works at Groupon just linked me to an iOS app called BikeLock that finds bike racks near you on iPhones, iPads, and iPod touches. It’s based on bike rack location data in the City of Chicago’s Data Portal. (The data on there is old, while the data in the public API I built is real time.)

Download it from the iTunes Store for 99 cents. The developer is Mike Jahn, another Groupon staffer. You can get the same information for free, though, on my mostly mobile-friendly Can I bring my bike on Metra? web app, and a website I made for the Chicago Department of Transportation (CDOT).


A screenshot of the Can I bring my bike on Metra? bike rack finder website. 

That data comes straight from the Bike Parking Web Application I started developing in 2008 soon after I started working in the Chicago Bicycle Program. It was good that my supervisor had the same perspectives I did about open and transparent data and work. But it didn’t start like that; here’s the full story:

My first job at the Bicycle Parking Program was to deal with abandoned bikes, get them off the street. I was taught the existing method of keeping track of my work, but I used my programming skills (in PHP, MySQL, and with the Google Maps API) to develop a web application that tracked it faster and mapped out the abandoned bikes I had to visit and tag with a notice. I was using this for a few days or few weeks and then show my boss. His reaction was something like, “Great! Now make one for bike racks!”

Why? Well, let’s take this quote from Judy Baar Topinka, Illinois comptroller, speaking Tuesday about her office’s new website, The Ledger, which lists the state’s unpaid bills among other financial data.

“The object of the exercise is to make everything that we know of in the comptroller’s office public. If we know it, you’ll know it.” WBEZ

I made one for bike racks. I created two environments, one for private administration at the office (“Bike Parking Web Application”) and one for the public (“public interface”). A later feature I added to the public interface was the Advanced Search. This allows you to filter by Ward, Community Area, and Status. You can then choose your sorting method. A map will appear above the results. You can download the results as either an XLS file, and XLS file that’s designed to be imported in GIS programs (like QGIS), or a KML file.

I’m aware of just one other app that uses this data set: MassUp.us. I don’t know if MassUp uses the real-time API that my Metra bike rack finder uses.

Google Maps is annoying sometimes


I was looking up traffic counts on the Chicago Traffic Tracker website and saw that the Halsted Street bridge over the Chicago River just north of Chicago Avenue is missing. It’s shown as a gray line with the text “Halsted Street (planned)”.

This is not the most accurate message. The west side sidewalk is still open to foot and bicycle transportation, as I pointed out in my Grid Chicago article, The Halsted Passage. I wonder how it got in there.

I’ll report this as a problem, but I’m wary of it actually being updated to show that people on foot can still cross the river here. I’ve used Google Maps’s Map Maker tool once, and I didn’t like the experience. My correctly-made adjustment of a street was questioned and I was asked to revert my change. I refused and eventually my change was approved… because it was correct. I guess that someone used Map Maker to (incorrectly) modify the street at this part. This street segment in Map Maker should be designated something close to a “pedestrian walkway” instead of a bridge for automobile, bus, and bicycle traffic.

The Google Maps walking directions for walking from Division Street to Chicago Avenue don’t show the option of using the sidewalk, which is entirely possible (I did it again this week).

New map tutorials


A screenshot of using BatchGeocode to take a spreadsheet of addresses and turn it into a nice map. 

Over at Grid Chicago, my other blog that sucks all the time from this blog, I’ve recently written tutorials on how to create online maps, first with Google My Maps (which they renamed to My places) and secondly with BatchGeocode (which renamed itself to BatchGeo because it does more than geocoding now).

Google My Maps is primitive as far as map making goes, but it has the lowest learning curve and it’s easy: you just click on the map where you want something to go and fill in the info window. Read that tutorial.

BatchGeocode is slightly more advanced, but takes your tabular data (most likely from a spreadsheet) and throws it on a map you can embed on your website. They do have pay features. Read the tutorial for BatchGeocode.

I’ve written about BatchGeocode for QGIS, as it was once the only way to do geocoding in QGIS. But now BatchGeocode doesn’t give you a results table that has the latitude and longitude (apparently this is against Google Maps’s terms of service). But I updated the article to talk about using other methods for geocoding in QGIS.

I will be writing two more tutorials, one about GeoCommons and one about Google Fusion Tables.

Cycle mapping


A screenshot of Critical Map: Milano. 

What are the sites that will let you either draw or upload a bike route to share with others?

And what are the sites or mobile apps that give you cycle routing?


A screenshot of Bike Share Map: London, UK.

And other bike-related maps?

I’m just simply researching and collecting links to cycling-related map mashups and apps.

How to upload shapefiles to Google Fusion Tables


It is now possible to upload a shapefile (and its companion files SHX, PRJ, and DBF) to Google Fusion Tables (GFT).

Before we go any further, keep in mind that the application that does this will only process 100,000 rows. Additionally, GFT only gives each user 200 MB of storage (and they don’t tell you your current status, that I can see).

  1. Login to your Google account (at Gmail, or at GFT).
  2. Prepare your data. Ensure it has fewer than 100,000 rows.
  3. ZIP up your dataX.shp, dataX.shx, dataX.prj, and dataX.dbf. Use WinZip for Windows, or for Mac, right-click the selection of files and select “Compress 4 items”.
  4. Visit the Shape to Fusion website. You will have to authorize the web application to “grant access” to your GFT tables. It needs this access so that after the web application processes your data, it can insert it into GFT.
  5. If you want a Centroid Geometry column or a Simplified Geometry column added, click “Advanced Options” and check their checkboxes – see notes below for an explanation.
  6. Choose the file to upload and click Upload.
  7. Leave the window open until it says it has processed all of the rows. It will report “Processed Y rows and inserted Y rows”. You will be given a link to the GFT the web application created.

Sample Data

If you’re looking to give this a try and see results quickly, try some sample data from the City of Chicago data portal:


I had trouble many times while using Shape to Fusion in that after I chose the file to upload and clicked Upload, I had to grant access to the web application again and start over (choose the file and click Upload a second time).

Centroid Geometry – This creates a column with the geographic coordinates of the centroid in a polygon. It lists it in the original projection system. So if your projection is in feet, the value will be in feet. This is a function that can easily be performed in free and open source QGIS, where you can also reproject files to get latitude and longitude values (in WGS84 project, EPSG 4326). The centroid value is surrounded in the field by KML syntax “<Point><coordinates>X,Y</coordinates></Point>”.

Simplified Geometry – A geometry column is automatically created by the web application (or GFT, I’m not sure). This function will create a simpler version of that geometry, with fewer lines and vertices. It also creates columns to list the vertices count for the simple and regular geometry columns.

© 2015 Steven Can Plan

Theme by Anders NorenUp ↑