Skip to content

Pedestrian Flow Heatmap

The pedestrian flow heatmap simulates how visitors move through an event floor plan. It highlights aisles and corridors that are likely to become congested, helping you evaluate and optimise a layout before the event takes place.

What It Does

Given a set of pedestrian markers (entrances, toilets, food courts, conference rooms, custom anchors) and a drawing that contains stands with stand numbers, the heatmap engine:

  1. Converts your entities into an occupancy grid — a raster representation of the floor where blocked cells are walls and free cells are walkable space.
  2. Runs a congestion-aware pathfinding simulation from each marker to every stand, weighted by marker priority.
  3. Accumulates visit counts on the grid cells along each route.
  4. Renders the result as a colour overlay on the canvas, ranging from cool (low traffic) to hot (high traffic).

The output tells you which corridors carry the most foot traffic given the layout and where bottlenecks are likely to form.

Requirements

Before running the heatmap:

  • Every stand you want included in the simulation must have a stand number set on its entity (via the Properties panel or imported from PlanExpo). Entities without a stand number are treated as obstacles, not destinations.
  • At least one pedestrian marker must be placed on the drawing. Markers represent visitor anchors — entry points, services, attractions — that drive traffic patterns.
  • The drawing must have visible, closed entities that define the stand footprints (rectangles, closed polylines, hatches, or circles).

Pedestrian Markers

PlanCAD ships with five marker kinds. Each carries a default weight, a colour, and an icon; you can change the weight per marker after placement.

KindDefault weightColourTypical use
EntranceHighBlueDoors and main visitor entry points
ToiletMediumPurpleRestroom blocks
FoodMediumOrangeCatering, bars, food courts
ConferenceHighRedStages, conference rooms, popular attractions
CustomMediumGreyAny other anchor you want to model

Weight values translate to: low = 1, medium = 3, high = 10. A high-weight marker therefore contributes ten times more traffic than a low-weight one. Use this to model, for example, a main entrance versus a side door, or a popular keynote stage versus a quiet meeting room.

Placing Markers

  1. Open Analyse > Pedestrian Flow Heatmap from the menu bar — this clears any previous heatmap and enters marker placement mode.
  2. Choose the active marker kind from the on-canvas toolbar (entrance is the default).
  3. Click on the canvas to place markers. Place as many as the venue requires.
  4. The Pedestrian Markers Panel appears as a floating panel listing every marker you have placed. For each marker you can:
    • Change its kind (entrance → toilet, etc.).
    • Change its weight (low / medium / high).
    • Remove it individually with the × button.
    • Clear them all with Clear all.
  5. Press Compute heatmap in the panel to run the simulation, or close the panel to keep editing markers without computing.

The marker list and weights are persisted inside the .plancad file, so reopening the project preserves your traffic model.

Running the Heatmap

Once markers are placed:

  1. Press Compute heatmap in the Pedestrian Markers Panel, or re-open Analyse > Pedestrian Flow Heatmap if it was dismissed.
  2. PlanCAD computes the heatmap in the background. For large plans the computation may take a few seconds; the UI remains responsive during processing.
  3. The heatmap overlay appears on the canvas when computation completes.

Controlling the Overlay

When the heatmap is active, a Visualizations section appears at the bottom of the Layers panel with a row for the heatmap. The row contains:

  • Visibility toggle — show or hide the overlay without recomputing.
  • Opacity slider — fade the overlay from 0 % to 100 % to compare it against the bare drawing.
  • Remove button (×) — clears the heatmap and the marker set.

The same row also appears in 3D view, where the heatmap is projected as a texture on the floor plane.

To remove the overlay, open Analyse > Clear Heatmap or click the × button in the Visualizations row.

How It Works

Occupancy grid

PlanCAD rasterises all visible entities into a binary grid at a fixed cell size (in drawing units). Each cell is either blocked (occupied by a wall or stand body) or free (walkable):

  • Rectangles and closed polylines are filled using a scanline polygon fill.
  • Open polylines and lines are rasterised as wall segments using Bresenham's line algorithm.
  • Arcs are sampled at intervals proportional to arc length.
  • Circles and hatches are filled.
  • Invisible entities (hidden layers or individually hidden) are ignored.

Congestion weighting

After the occupancy grid is built, PlanCAD computes a distance-to-wall transform for every free cell using two sweep passes (top-left then bottom-right, Chebyshev distance). This gives each free cell a value representing how far it is from the nearest obstacle.

A cost multiplier is then derived: costFactor = 1 + 3 / max(wallDist, 1). Cells near walls are up to four times more expensive to traverse than cells in open space. This makes the pathfinder prefer wide aisles over narrow gaps — the same preference a real visitor has.

Pathfinding

PlanCAD runs a Dijkstra shortest-path search from each marker outward across the entire grid, using the congestion-weighted cost. A single Dijkstra pass produces the optimal path from that marker to every reachable cell simultaneously, so one pass covers all stands.

For stand-to-stand traffic (visitors moving between stands after entering), additional Dijkstra passes are run from a sample of stands. For large plans, up to 50 stand sources are used; stands beyond 30 % of the plan diagonal apart are skipped to limit computation time.

Two factors scale the traffic that a path receives:

  • Marker weightlow = 1, medium = 3, high = 10. Multiplies every path that originates from that marker.
  • Stand size — larger stands attract proportionally more traffic. The weight assigned to each stand is proportional to its area relative to the smallest stand on the floor, rounded to the nearest integer. A 10 m² stand attracts roughly twice the traffic of a 5 m² stand.

Heatmap accumulation

For each (marker, stand) pair, PlanCAD traces the path from the Dijkstra result and adds a weighted visit count to every cell along the route. The contribution to each cell is:

density_weight = markerWeight * standWeight * 4 / local_aisle_width

where local_aisle_width is the wall-distance at that cell. A narrow corridor (wall distance 1) receives four times the density weight of a wide open area, reflecting how congestion density rises when the same flow passes through a smaller cross-section.

Neighbouring cells (a 3x3 kernel centred on the path cell) also receive half the density weight, which smooths the visual output and avoids single-pixel-wide heat traces.

Visit counts are stored as 16-bit integers per cell (maximum 65535). The final heatmap is normalised to the maximum value before rendering.

Interpreting the Results

The overlay uses a colour gradient from blue (low) through yellow to red (high):

ColourMeaning
Blue / coolLow pedestrian traffic — underused corridors
YellowModerate traffic
Red / hotHigh traffic — potential congestion points

Hot spots in main aisles are expected and normal for popular zones of the floor. A bright red corridor that is also narrow is a genuine congestion risk; consider widening it, downgrading a nearby marker's weight, or relocating stands that force visitors to funnel through it. The companion Aisle Width Validation tool will tell you whether the corridor itself is below your minimum width.

Hot spots near entrances are also normal — all visitor paths from that marker start there. If a single entrance is much hotter than others, consider lowering its weight (if it really is a side door), adding more entrances, or distributing stands more evenly across the floor.

Cool areas far from any hot spot may indicate dead ends or poorly accessible zones. Stands in these areas may receive less footfall than intended. Adding a service marker (toilet, food) nearby can simulate a "draw" and reveal whether new circulation would emerge.

Stand-to-stand paths contribute to the heatmap in addition to marker-to-stand paths. An aisle that sits between two clusters of popular stands will show elevated traffic even if it is not near a marker.

Performance Notes

  • The maximum grid size is 4,000,000 cells (e.g. a 2000 x 2000 grid). Plans that exceed this limit do not produce a heatmap. Reduce the cell size or simplify the drawing if you hit this limit.
  • Computation yields to the UI between each marker pass, so PlanCAD remains interactive during processing.
  • The heatmap is computed once and cached. Re-opening the overlay without changing the drawing reuses the cached result. Modifying the drawing (adding entities, changing stand numbers, moving or reweighting markers) requires re-running the analysis.
  • Adding a marker or changing its weight invalidates the cache implicitly — pressing Compute heatmap will rebuild it.