TagOpenStreetMap

Why architects should learn OpenStreetMap

I’m teaching OpenStreetMap 101 at the first MaptimeCHI.

Architects will learn that OpenStreetMap can be used as a data source when developing projects and as a basis for designing custom maps in project publications (website, anthology, monograph, client presentations).

This meeting is about getting an introduction to OpenStreetMap and learning to make your first edit in the “Wikipedia of maps”.

Thursday, July 17th, from 6-8 PM
Thoughtworks office
200 E Randolph St

RSVP on EventBrite.

Here are two examples of how architects could use OpenStreetMap data.

Example 1 of how to use OpenStreetMap. Instead of publishing a screenshot of Google Maps in your documents or website, create a custom design map like this without having to spend so much time tweaking it in Illustrator. This map was created by Stamen Design using TileMill.

Example 1 of how to use OpenStreetMap. Instead of publishing a screenshot of Google Maps in your documents or website, create a custom design map like this without having to spend so much time tweaking it in Illustrator. This map was created by Stamen Design using TileMill.

And the second.

Willow Creek Church on OpenStreetMap: After

Here’s one example where OpenStreetMap could be useful. Let’s say you’re working on a site plan for Willow Creek Church in South Barrington and you need a general layout of the parking lot. 1. You can get it from OpenStreetMap because it’s already there. 2. You can draw it in OpenStreetMap yourself (to benefit all other OSM users) and then extract it as a shapefile.

Maptime is time for mapmaking and it’s taking the country by storm.

How to ascertain the area of Chicago beach parking lots to find the largest one

This tutorial is a direct response to a question about which Chicago beach has the largest parking lot. Matt Nardella of Moss Design, in a response to a Twitter-based conversation about Alderman Cappleman’s suggestion that perhaps Montrose beach has too much parking, researched on Wikipedia to find the answer. This is where it said that Montrose beach has the largest parking lot of any of Chicago’s 27 beaches.

Now we’re going to try and prove which beach has the largest associated parking lot.

This tutorial will teach how you to (1) display Chicago beaches, (2) download data held in OpenStreetMap, (3) find the parking lots within the OpenStreetMap data, (4) find the parking lots near the beaches, and (5) calculate each parking lot’s area (in square feet). You can use this tutorial to accomplish any one of these three tasks, or the same tasks but on a different part of OpenStreetMap data (like the area of indoor shopping malls).

You’ll need the QGIS software before starting. You’ll also need at least 500 MB of free space. Start a project folder called “Biggest Parking Lots in Chicago” and make two more folders, within this folder, called “origdata” and “data”.

First, let’s get some data about beaches

Since we only want to know about the parking lots near Chicago beaches we need to get a dataset that locates them. This data is presumably within the same OpenStreetMap extract we’re waiting for, but it’s best to go to the most reliable source.

  1. Download the Parks – Facilities & Features shapefile from the City of Chicago open data portal. I’ve already verified that it has all the beaches (as points).
  2. Open the parks shapefile in a new document in QGIS (call it “map01a.qgs”). You might not see the data so right-click the parks layer and select “Zoom to layer extent”.
  3. Filter out all the points that aren’t beaches by using the query builder. Right-click the layer and select “Filter…” and input this filter expression: “FACILITY_N” = ‘BEACH’
  4. Your map will now show 26 points along an invisible lakefront and then the beach at Humboldt Park.
  5. For the rest of this tutorial we’ll reference the beaches layer as ParkFacilities.

Second, let’s get some data from OpenStreetMap

The easiest way to grab data from OpenStreetMap is by using QGIS, a free, open source desktop GIS application that has myriad plugins that match the capabilities of the heavyweight ESRI ArcGIS line of software. We can download OpenStreetMap data straight into QGIS.

  1. Click on the Vector menu and select OpenStreetMap>Download data.
  2. We want as much data as will cover the beaches information so in the Extent section of the dialog box choose “From layer” and select the beaches layer (called ParkFacilities).
  3. Browse to the “origdata” folder you created in the first task and choose the filename “chicago.osm”.
  4. Click OK and watch the progress meter tell you how much data you’ve downloaded from OpenStreetMap.
  5. Once it’s completed downloading, click “Close”. Now we want to add this data to our map.
  6. Drag the chicago.osm file from your file system into the QGIS Layers list. A dialog box will appear asking which layers you want to add.
  7. Select the layer that has the type “MultiPolygon”. This represents areas like buildings and parking lots.

Third, display the OpenStreetMap data and eliminate everything but the parking lots

We only want to compare parking lots in this dataset with beaches in the previous dataset so we need to eliminate everything from the OpenStreetMap data that’s not a parking lot. Since OSM data depends on tags we can easily select and show all the objects where “amenity” = “parking”.

  1. Filter out all the polygons that aren’t parking lots by using the query builder. Right-click the layer and select “Filter…” and input this filter expression: “amenity” = ‘parking’. Hopefully all the parking lots have been drawn so we can analyze a complete dataset!
  2. Your map will now show little squares, rectangles, and myriad odd shapes that represent parking lots around Chicagoland. (Most of these have been drawn by hand.) It should look like Image XXX.
  3. Since this data is stored in a projection with the codename of EPSG:3435 and the OpenStreetMap data is stored with codename of EPSG:4326 we need to convert the beaches to match the beaches (because we’re going to be using feet as a  measuring distance instead of degrees).
  4. Right-click the layer and select “Save As…” and choose the format “ESRI Shapefile”. Then click the top Browse button and select a location on your hard drive for the converted file.
  5. For “CRS” choose “Selected CRS”. Then click the bottom Browse button and search for the EPSG with the codename 3435. Select the checkbox named “Add saved file to map” so the new layer will be immediately added to our map.

Fourth, select all the parking lots near a beach

This task will select all the parking lots near the beaches. I chose 2,000 feet but you could easily choose a different distance. You might want to measure on Google Earth some minimum and maximum distances between beaches and their respective, associated parking lots.

(This task is easier using PostGIS which has a ST_DWithin function to find objects within a certain distance because we can avoid having to create the buffer in QGIS.)

  1. Create a 2,000 feet buffer. Select Vector>Geoprocessing tools>Buffer.
  2. In the Buffer(s) dialog box, select ParkFacilities (which has your beaches) as the “Input vector layer”. Choose a distance of 2000 (the units are pre-chosen by the projection and since we’re using a projection that’s in feet, the distance unit will be feet).
  3. Browse to your project folder’s “data” folder and save the “Output shapefile” as “beaches buffer 2000ft.shp”.
  4. Click “Add results to canvas” and then click OK.
  5. Double check that 2,000 feet was enough to select the parking lots. In my case, I see that the point representing Montrose beach was further than 2,000 feet away from a parking lot.
  6. Let’s do it again but with 3,000 feet this time, and saving the “Output shapefile” as “beaches buffer 3000ft.shp”.
  7. This time it worked and the nearest parking lots are now in the 3,000 feet radius buffer. You can see in Image XXX how the two concentric circles stretch out from the beach point towards the parking lots.

We’re not done. We’re next going to use our newly created 3,000 feet buffers to tell us which parking lots are in them. These will be presumed to be our beach parking lots.

  1. Use the “Select by location” tool to find the beaches that intersect our 3,000 feet buffers. Select Vector>Research Tools>Select by location.
  2. Follow me: we want to select features in parking 3435 [our parking lots] that intersect features in beaches buffer 3000ft [our beaches]. We’ll modify the current selection by creating a new selection so that we don’t accidentally include any features previously selected.
  3. You’ll now see a bunch of parking lots turn yellow meaning they are actively selected.
  4. Let’s save our selected parking lots as a new file so it will be easier to analyze just them. Right-click “parking 3435″ and select “Save Selection As…” (it’s important to choose “Save Selection As” instead of “Save As” because the former will save just the parking lots we’ve selected).
  5. Save it as “selected parking 3435.shp” in your “data” folder. The CRS should be EPSG:3435 (NAD83 Illinois StatePlane East Feet). Check off “Add saved file to map” and click OK.
  6. Turn off all other layers except ParkFacilities to see what we’re left with and you’ll see what I show in Image XXX.

Fifth, let’s calculate

Calculating the area is probably the easiest part of this tutorial.

  1. Close all attribute tables you may have opened.
  2. Select Vector>Geometry Tools>Export/Add geometry columns and choose “selected parking 3435″ as your input vector layer.
  3. Leave all other options as-is and press OK. When told about how QGIS can’t access something simultaneously, choose “Yes”.
  4. QGIS should have told you that “selected parking 3435″ has been updated. Right-click the layer and choose “Open Attribute Table”.
  5. Scroll to the far right and you’ll see a new column called AREA. This represents the parking lot’s area in square feet.
  6. Click on the AREA column heading to sort it from smallest to largest. Scroll to the bottom of the list and you’ll find the parking lot with the largest area. Double check – is it near a beach?

Conclusion

With my analysis, and with the data available from OpenStreetMap when I created this tutorial, there are three abnormally large parking lots:

  1. A linear lot near the Lincoln Park Zoo and North Avenue beach (6.8 acres)
  2. A curving lot near Montrose Beach (4.75 acres)
  3. An irregularly shaped lot near Montrose Beach (4.5 acres)

There’s one major caveat in this analysis and that’s the missing parking lots on beaches south of Navy Pier. This means that no one has drawn them into OpenStreetMap so it’s time to start editing!

Mapping a campground that doesn’t exist: a before and after view of OpenStreetMap

Pretty soon there will be a campground shown in OpenStreetMap, and added to its geocoding database, when I’m done adding it.

I temporarily become addicted to mapping places on OpenStreetMap. In my quest to find and map all campgrounds in Chicagoland – in order to publish them in the Chicago Bike Guide – I came across a campground that was constructed this year and opened in August 2013. This is the story of figuring out how to map the Big Rock Forest Preserve campground in Big Rock, Illinois.

I found on the Kane County Forest Preserve District website that the organization operated a campground at Big Rock Forest Preserve. I couldn’t locate the campground in Google Maps by the address the website gave. I couldn’t find it in OpenStreetMap, either, because no one had mapped it, but it’s there now.

When I searched for the park by name, Google Maps zoomed me to the main entrance of the park, but I still couldn’t see a campground. I downloaded the forest preserve district’s park map (always as a PDF) and followed the roads in Google Maps until I came across the campgrounds approximate position. There was a new road here so I followed that to find a campground under construction.

Google Maps shows the campground and artificial lake under construction.

Google’s imagery of the under-construction campground was taken on May 23, 2013 (get the date from Google Earth). This was great because now I could open JOSM, a powerful desktop OpenStreetMap editor, and locate the site, load Bing’s imagery and start tracing the campground to upload to OSM.

Bing’s imagery in JOSM, the OpenStreetMap-editing app, doesn’t show the campground.

The problem was that Bing’s imagery – and this is typical – was outdated. I could easily compare the imagery side-by-side and based on other landscape features (like the forest edge) guess where to trace the campground, but OSM needs better quality data. Enter MapWarper.

Read the rest of this post on Web Map Academy.

Compiling and mapping Chicago-area campgrounds

I’m adding Chicago-area campgrounds to the Chicago Bike Guide to entice new users and to espouse the enjoyment of medium-distance bike camping (which I’ve now done officially once, earlier this year).

<The Chicago Bike Guide is available for Android and iOS.>

I’m taking a systematic approach to finding all the publicly-owned campgrounds in the area by looking at primary sources.

First, though, I’ve used Overpass Turbo to create a list of all existing campgrounds in OpenStreetMap. You can see a gist of these places.

Camp sites at Greene Valley forest preserve I mapped.

Camp sites at Greene Valley forest preserve I mapped.

The next method is to find out which campgrounds are operated by the county forest preserves, which are usually well-documented on their respective websites. Then I will look at state parks in Illinois, Indiana, and Wisconsin, operated by states’ respective Departments of Natural Resources (DNR). Next I will look at national parks and finally commercial campgrounds.

The app will display campground information such as alcohol rules, if cabins or lodging is available, and how you can get there (which trails or train lines).

I’ve so far mapped the campgrounds in two ways, as nodes and as areas. At the Greene Valley forest preserve in DuPage County, for example, I’ve mapped the 11 individual camp sites (see map), but at Blackwell forest preserve in the same county, I’ve mapped the area as the camp site (see map).

Blackwell has over 50 sites in a discrete area and it’s more efficient to map them as a single node, while Greene Valley had far fewer sites but scattered over a couple areas.

Cross-posted to Web Map Academy.

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

http://goo.gl/maps/BlIZF

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.)

 

San Francisco is an expensive place to get around

$8.15 if you want to exit the San Francisco airport via public transit.

In June I visited friends in San Francisco and attended the State of the Map US conference. I spent a lot of money on transit and bicycle rentals. This doesn’t exclude the cost of driving to Davis, California.

BART

Airport to 16th/Mission: $8.15
Union City to North Berkeley: $4.10
16th/Mission to Berkeley (roundtrip): $7.60
16th/Mission to airport: $8.15

I needed to travel from Stanford University (where my friend Stefano does research) to Berkeley (to visit Rock The Bike) and the cheapest and soonest way to get there was to take the Dumbarton Express bus across the lower San Francisco Bay to the Union City BART station. 

Dumbarton Express
Bus from Stanford to Union City BART: $2.10

Caltrain
22nd Street to Stanford (Mountain View): $7.00 (Google Maps says it would cost $21.99 to drive this trip)
Stanford (Mountain View) to 4th/King: $7.00

Total for 8 transit trips: $44.10

In Chicago, if I had taken all trips individually (no transfers), my cost would be about $31.75. To compare Caltrain to Metra, I calculated the cost of a trip from downtown Chicago to Geneva, which is $6.75 each way. This includes the $5.00 trip cost to get out of O’Hare airport, significantly less than BART’s $8.15.

I didn’t ride Muni trains (they’re kind of slow compared to bicycling) but I took a lot of photos of them arriving at Duboce Park. 

Bicycling

Bike rental in Davis, California for 3 hours: $10
Bike rental via Spinlister for 4 days: $72

This is the Surly Long Haul Trucker I rented via Spinlister, seen on the BART train in the roomy bike spot. For the most part, the bike can rest here without any securement. 

This is the charge I’m least concerned with, except that Spinlister charges me a 12.5% service fee). I also picked it up in Stanford because that’s where the bike owner lived; it was the best alternative of the available bikes for people my height as it was a bike I liked (Surly Long Haul Trucker) and it was $16 per day, the cheapest by $9 per day!

Part of the OpenStreetMap conference included a trip to the California Academy of Sciences on the Friday before the meetings started. The SCUBA diver on the left is cleaning the glass while the diver on the right is talking to the museum worker outside the pool. 

Not having a bicycle in a place I visit makes me feel naked. Having the bicycle reduced my potential fees on getting around. I had to move from my friend’s house to the OpenStreetMap conference (which would have required two transit trips or a taxi), between the conference and downtown for the World Naked Bike Ride, and between the conference and Sunday Streets in Dog Patch and Mission Bay. I also biked to Golden Gate Park to visit the California Academy of Sciences, pedaled over to see the Aether shop made with three shipping containers, joined SF Bike Party on Friday night, and biked around Berkeley to see Paul Freedman at Rock The Bike.

I left the OpenStreetMap conference during Sunday’s lunch to check out Sunday Streets. Even though I sold my Yuba Mundo for a WorkCycles Fr8, I love seeing families on cargo bikes.

Creating a bike map for Richmond, Indiana

A cycle map of Richmond, Indiana, before I added the city’s signed routes as a “relation”.

I visited Richmond, Indiana, in early August with my friend who grew up there. There isn’t much to do there, but there are a lot of neat places to bike to. Richmond had more features mapped than I expected, but I was happy to contribute via Pushpin and JOSM. With Pushpin OSM, an app for iOS, I added a couple of venues I visited, including Firehouse BBQ & Blues.

With JOSM, though, I wanted to add the city’s bike routes so they would appear in OpenCycleMap and could then be immediately embedded as a (somewhat) interactive map on the Bike Richmond website. I asked a city planner for a bike map and he gave me a GIS printout that showed the “recommended routes” (which are unsigned) and then he drew on the signed route that augment the recommended routes. The signed route essentially creates a loop.

I tagged all of the recommended routes as “bicycle=designated”. After the tiles in OpenCycleMap updated to include my work in Richmond I realized that OCM doesn’t symbolize “bicycle=designated” unless they’re in a relation. I created a relation, calling it the “City of Richmond Signed Bike Route“.

The new cycle map of Richmond, Indiana. 

This was cross-posted to my OpenStreetMap diary. My next project for OSM in Richmond is to map all the murals with the tag “tourism=artwork”. The mural below was designed by my friend, Ryan Lakes. There are murals painted on the sides of many buildings. One motif is to paint realistically, so it appears that the building really has the Wright brothers bicycle shop.

Mural in two-point perspective. 

A painted fire on the side of Firehouse BBQ & Blues. 

Video of the South Shore Line train at Chicago Botanic Garden

I took the UP-North Metra train to Braeside and biked ~1 mile (less than that on city roads) to the Chicago Botanic Garden. I saw a sign for “Model Railroad Garden”, asked a staffer where it was, and immediately made my way there to pay $6 to see the most wonderful garden in the region.

I was here for four hours. Four of my friends then showed up halfway through (they biked from Chicago and had equipment troubles). Afterward, we biked on the Green Bay Trail and Robert McClory Bike Path north to Lake Bluff, Illinois, to eat at Pasta Palooza and drink three growlers from Lake Bluff Brewing Company next door (I added it to OSM today). Their beer is good and it only costs $15 to fill up a growler! (Don’t forget to bring more beer for the Metra ride home.)

The state of bike path signage in Illinois is pretty abysmal and that was made very clear when the RMBP transitioned from the southeast side of an intersection to the northwest side of an intersection (see it on OpenStreetMap). What happened? Well, we were traveling northbound and a sign said “Robert McClory Bike Path; Ends”. This is patently false. The named path keeps going north. There was barely enough visibility to see that there was a “Bike Route [this way>]” sign on the opposite corner of the intersection. Google Maps for iOS verified that this kept us going to our destination.

View more photos from the Model Railroad Garden.

Amtrak “speeding” down the track. This was an interesting model: it’s articulated and electric, a trainset type that Amtrak doesn’t run. 

N.B. This trip is telling me to expand the Chicago Bike Guide map to include at least this far north. The map currently extends to Wilmette. However, there’s a tradeoff: when I extend the map, the file size increases.

Just in case you’re new here

Welcome to Steven Can Plan. Here’s some stuff I’ve posted recently around the interwebs…

On my other blog, Streetsblog Chicago, I wrote about how we need to do a better job counting bicyclists.

In Copenhagen, a permanently installed device counts cyclists all day, every day. 

And a guy from Brooklyn was visiting his friend in Chicago and was struck by a car whose driver escaped – he spent the night in the hospital for cranial bleeding and went back home on Sunday. The Chicago Police Department is its slow self in getting the lawyer the crash report and witness information.

The scene of the crash. 

I issued two updates to the Chicago Bike Guide app for iOS (formerly called Chicago Bike Map) and talked about its new features here and here. Head over to iTunes to buy and download it.

The Chicago Bike Guide includes my burrito recommendations. 

Lastly, on this blog, I boasted about how cool it is that anyone can improve OpenStreetMap: I showed you how much I drew to make Willow Creek Community Church appear in South Barrington, Illinois. It was previously an empty space! If you want something changed on OpenStreetMap, I’ll do it for you.

A screenshot shows what I added: parking lots, parking aisles, driveways, retention ponds, and the church building. 

That’s the kind of stuff you can expect from me; my tone isn’t always so negative. I also post a lot of articles about GIS, QGIS, and geocoding, but I haven’t in a while.

Results of my personal #editathon this weekend

I added a lot of parking lots to OpenStreetMap this weekend, but I also added the Willow Creek Community Church (South Barrington, Illinois) parking lots, driveways, buildings, and retention ponds. I’ll let my before and after screenshots show you what I did. Ian Dees, local organizer for Chicagoland OSM data – he has other roles, too – said there’s an application that can generate these images automatically.

View in OpenStreetMap now.

I’m also writing a draft tutorial on how to convert GIS data stored as a shapefile to a format you can import into AutoCAD. GRASS will take a .shp and convert it to .dxf (a geo-aware CAD file).

© 2014 Steven Can Plan

Theme by Anders NorenUp ↑