Parking bay counts generate two ways depending on how they are drawn.
Likewise, parking required calculates differently depending on the properties used.
Parking Bay Counts
Massing/Area
When drawing parking using the Parking usages, the parkingBayCount is calculated by multiplying grossArea*parkingProvided. For multi-deck and underground parking, grossArea is the footprint area times Levels, so every level adds its own bays.
Generative (Flows)
When a geometry has a parking flow, the Parking Lots node lays out whole bays on one level. Giraffe multiplies that count by the geometry's Levels to get the total. The bay lines are drawn once, on the top deck, so a 4-level carpark shows one level of bays and counts four times as many.
The size, spacing, and arrangement of bays is controlled using the algorithm settings.
Want to use a parking flow but forgot to start with one? Just click the "add parking bays" button in properties after drawing with any parking usage:
Does Giraffe count the roof of a multi-deck carpark?
Giraffe counts one deck of parking for each level of a multi-deck carpark, and it doesn't add an extra deck for the roof. A multi-deck carpark shows a floor slab at the bottom of each level, with nothing above the top one. That top slab is the open roof deck, and it is already one of the counted levels. Set Levels to the total number of parking decks, including the roof deck.
When you stack several multi-deck geometries, each one counts its own levels. The top level of the highest geometry is the roof deck, and Giraffe doesn't add another deck above it.
Parking Required Counts
Required parking is calculated based on properties on geometries. It is not a live read of local zoning requirements; rather, you have control over your goals. Typically, it's a calculation based on either parking spaces per unit, or parking ratio based on gross area.
Massing with parkingRequired
When drawing a geometry with the Parking Required property enabled, the required parking bays for that mass are calculated as grossArea*parkingRequired
Massing with visitorParkingRequired
The visitorParkingRequired property adds additional required bays to the overall required count for each feature.
Dwellings with Cars per Unit
When drawing a dwelling unit, there is a special property to count parking spaces required per unit. The calculation of parking required for dwellings is dwellingCars*dwellingCount, summed for the entire feature. This calculation results in the dwellingTotalParkingRequired calculated value.
You can also pull the parking required for each unit type with dwelling-{{dwelling name}}-parkingRequiredPer. This takes the dwellingCars*dwellingCount for each unit type individually (i.e. - counting the required parking for only1 bedroom units).
Calculations
Parking Required
Parking required for the project is calculated as dwellingTotalParkingRequired+(parkingRequired*grossArea)+visitorParkingRequired
Bays Per Level
Bays per level (_baysPerLevel) is the number of bays a parking flow lays out on one level. Giraffe sets it on any geometry with a parking flow, whatever its number of levels. Parking drawn with a parking usage and no flow has no bays per level. Its total comes from grossArea*parkingProvided.
Parking Bay Count
The parking bay count (parkingBayCount) is the total bays on one geometry, across all its levels. With a parking usage alone, it is grossArea*parkingProvided. With a parking flow, it is bays per level times Levels. The project total adds up the counts from every geometry.
Reviewing Parking Counts
In urban, mouse over the parking count to see a breakdown of features.


