I do map these as buildings, specifically building=parking. You’re right that it isn’t enclosed like most buildings, but neither are some other popular building=* values, such as building=carport and building=roof.

If you get into this level of detail, it gets intricate fast. I’m not sure if there are other popular ways of doing it, but here are some parking lots you might use as a model:

Some tips based on how I’ve been micromapping parking garages (others may have different styles):

  • Each entrance to the parking garage continues to be tagged amenity=parking_entrance but connects to a service road inside the garage. Remember that this tag is also for parking garage exits.
  • Inside the garage, each service road is tagged layer=*, and level=* for good measure.
  • I’ve been using indoor=yes and tunnel=building_passage on all the levels below the roof deck, but arguably these aren’t building passages, just covered.
  • The ramp between each level is tagged incline=up/down. In some parking garages, half of the ramp is marked as belonging to the lower floor and the other half is marked as the upper floor, so I split the ramp in two and assign a different level. But if it isn’t clear, I tag the whole ramp as one of the adjacent levels; just be internally consistent.
  • I try to keep the service roads tidy and aligned even when they overlap in reality, but it’s more important to only connect service roads where they physically connect. To avoid snapping service roads together in iD, hold down Alt (Option on a Mac) while adding a node.
  • Since it’s really difficult to keep track of the intricately connected ways, I start from the basement and work my way up to the roof deck.

Hope this helps!

3 Likes