Add a Park to OpenStreetMap

rweait's picture

a sunny day at the park, and some shade

Let's go to the park, and put the park on the map.

So how do we add a park to OpenStreetMap? In part, that depends on the park. Let's begin with a suburban park with a playground, sport fields and other amenities. I started with a site survey on foot, with a GPS and a camera. Here's what the gps track file looked like.

gpx trace from foot survey

From this we can see the outline of the park, some baseball diamonds and other amenities. Let's get the current OSM data in the park and surrounding area. Pressing the shortcut key [ctrl]-[shift]-D or the download button will fetch the data from the OpenStreetMap server. We can see that the park has no data yet, and that the surrounding streets are in place.

gpx trace and existing data

JOSM reminds us of the extent of the area that we have downloaded with the diagonal lines. If you wish to edit in the area with diagonal lines, remember to download that area first.

Park outline and location

You'll notice that the GPS track file is a bit wobbly. Part of that is the natural wobbliness of the GPS data and part is the wobbliness of the surveyor. But part of the wobbliness is that I didn't walk into each of the corners of the park to make a sharp corner. Parts of the perimeter of this park are covered in trees and brush, so I walked along the tree line to provide an indication of that. Given that, let's draw the outline of the park.

estimating the perimeter of the park

I've added the rough outline of the park and added the basic tags. I've only placed a rough area, so that the park nodes do not snap to the surrounding roads or other objects.

k:leisure v:park
k:name v:Victoria Park

Now I'll refine the corner locations by moving the corners, one at a time, to likely locations. Here is a look at the south west corner of the park after refinement.

detail of the southwest corner of the park and gpx trace

I've moved the corner from the rough location, west, to within a few metres of the road center line. That's a good enough approximation. I've also adjusted the southiness of the point by checking the portion where I was able to walk by the fence. I've made similar adjustments to the other corners as well.

Park address

The park also has an address, as seen in the photo at the top of this article. Let's add that as well, using the Karlsruhe addressing schema. This is an ordered way of putting address information into OpenStreetMap so that it can be extracted and used by other services. Typically addresses are applied to buildings. There are several small buildings in the park, but which one, or which combination of buildings share the address is not clear to this surveyor. I'll place the address as a point where the sign is located.

placing the address at the signboard

Here you see the address node on the north side of the park, between the road and baseball diamonds. The addressing tags added are addr:street, for the street name portion of the address and addr:housenumber for the numeric portion of the street address.

k: addr:street v: Fisher Mills Road
k: addr:housenumber v: 66

Add the softball diamonds

locating three small ball diamonds

The three smaller softball diamonds on the north side of the park have no lights for night games. In the screen shot above you see the three diamonds, outlined by loops in the GPS track file, each represented by a single node. I've used the following tagging for softball diamonds.

k:leisure v:pitch
k:sport v:baseball
k: baseball v:softball
k:lit v:no

I've tagged them as baseball diamonds, then as the softball sub-category of baseball. I've added lit=no for the diamonds without lights. Adding the tags once for one diamond, then using »Edit »Copy or [ctrl]-c, then »Edit »Paste tags or [ctrl]-[shift]-v to paste the tags to the node for the next diamond will save some keystrokes. I've also added the node for the fourth, southernmost diamond, but used lit=yes for this diamond that is suitable for night games.


The roughly rectilinear blob on the west side of the park is a parking lot. Let's add it now.

estimate the parking lot perimeter

Trace the outline of the parking lot as shown on the GPS track file. We'll take the opportunity to straighten the lines a bit as the GPS (or wobbly surveyor) aren't giving us a great impression of the engineering talents of the city workers who built the parking lot. Tag the parking lot as amenity=parking.

Now we have to connect the parking lot to the road network. There is a driveway for this.

the driveway connects that parking lot to the road network

Tagging a driveway isn't much more complicated than a road or parking lot. A driveway is a class of service road.

k:highway v:service
k:service v:driveway

It is important to connect the driveway to both the parking lot boundary and the adjacent road. Okay, perhaps important is over-stating it a little, but this practice of good connectivity will be helpful when you are working on road junctions and waterways.

Other amenities

There are toilets, a playground and a splash pad at the north side of the park. Let's add those.

more amenities

Here we see the icons for the three features. The tags for amenity=toilets and leisure=playground are both straightforward. The splash pad is a small sprayer on a concrete drainage area. A visitor, often a parent, can start the sprayer with a button so a child can play in the water. The sprayer will shut off after a short time. For the splash pad, I've used amenity=fountain and fountain=splash_pad.

The last amenity to place is a fire hydrant. I circled it on my survey so the node is placed at that point on the track file.

add the fire hydrant

The tag for a fire hydrant is

k:amenity v:fire_hydrant

Upload and enjoy

With the editing complete we upload the park data to the OpenStreetMap server to share with the rest of the world. Each upload session will request a changeset comment. Include a changeset comment that describes your edits to other mappers. In this case I've used Cambridge, Ontario, Canada, Victoria Park, sport fields and amenities. From survey. For tutorial.

compare before and after

Above is the park, before and after editing. You'll notice the boundary of the park, and parking lot are visible as well as the toilets and address. Not shown are the softball diamonds, fountain and playground. That's okay. The layer shown above is only one way of looking at the map data. Some things that we add to the map will only appear in specialty renderings, not on general purpose maps.

a different rendering style after our edits

The Osmarender layer does show an icon for the baseball diamonds, playground and fountain. Both the Mapnik layer and the Osmarender layer shown on the OpenStreetMap web site are general purpose maps, designed as a compromise to suit many, but not all, needs.

Mapnik?, Osmarender? What are those?

Definitions of Mapnik and Osmarender and why they can be confusing.

Get out and map your local park!

References and credits

Victoria Park, 66 Fisher Mills Road, Cambridge, Ontario, Canada

GPS track file


Map images and data © 2010 CCBYSA OpenStreetMap and contributors.


This article was orignally published on Thu, 08/26/2010 - 18:50.