Location Hierarchy
Meridian VMS organises cameras into a hierarchical location tree. This tree drives the sidebar navigation, access control scoping, dashboard statistics, and multi-site management.
Locations are managed from Settings > Cameras & Sites > Locations in the web interface.
Location Types
Section titled “Location Types”The hierarchy has four fixed levels, from broadest to most specific:
| Level | Type | Purpose | Example |
|---|---|---|---|
| 1 | region | Geographical region or country | ”Gauteng”, “Western Cape” |
| 2 | city | City or metropolitan area | ”Johannesburg”, “Cape Town” |
| 3 | area | District, campus, or neighbourhood | ”Sandton”, “Waterfall” |
| 4 | site | A specific physical location | ”Building A”, “Gate 1” |
Building the Tree
Section titled “Building the Tree”Creating Locations
Section titled “Creating Locations”- Navigate to Settings > Locations.
- The location tree is displayed in an interactive tree view.
- To add a location, right-click on a parent node or use the Add button.
- Select the appropriate type (the type must be one level below its parent).
- Enter a name and save.
Hierarchy Rules
Section titled “Hierarchy Rules”- A
regionhas no parent (it is a root node). - A
citymust be a child of aregion. - An
areamust be a child of acity. - A
sitemust be a child of anarea. - You can have multiple root regions and any number of children at each level.
Deleting Locations
Section titled “Deleting Locations”A location cannot be deleted if it has:
- Child locations — you must delete or move all children first
- Assigned cameras — you must reassign or delete all cameras at that site first
This prevents accidental orphaning of cameras or subtrees.
Subtree Queries
Section titled “Subtree Queries”When you select a location in the sidebar, the system automatically finds every camera at every site within that location’s subtree. For example, selecting a region will show all cameras across all cities, areas, and sites beneath it.
This subtree expansion is used throughout the system:
| Feature | What it queries |
|---|---|
| Sidebar camera list | All cameras under the selected location |
| Dashboard statistics | Camera count, online ratio, storage used for a subtree |
| Live View | Available cameras when a location is selected |
| Playback | Camera list filtered to the selected location |
| Access control | Expanding role location roots into the full set of accessible location IDs |
Location Tree in the UI
Section titled “Location Tree in the UI”The location tree appears in the left sidebar of the main application pages (Dashboard, Live View, Playback, Events). It provides:
- Expandable/collapsible nodes — click to expand a region and see its cities, areas, and sites
- Camera counts — each node shows the number of cameras in its subtree
- Online status — visual indicators show how many cameras are recording vs offline
- Quick navigation — clicking a site filters the main view to cameras at that site; clicking a higher level shows all cameras in the subtree
Filtering by Location
Section titled “Filtering by Location”When a location is selected in the sidebar:
- Live View shows camera grids for all cameras in the subtree
- Playback filters the camera selector to the subtree
- Events filters to events from cameras in the subtree
- Dashboard shows aggregate statistics for the subtree
Moving Cameras Between Sites
Section titled “Moving Cameras Between Sites”Cameras can be reassigned to a different site by editing the camera and changing its location_id. This is done from:
- Settings > Cameras — edit the camera and select a new location from the dropdown
- Settings > Cameras — drag and drop interface (when available) for bulk reassignment
Access Control Integration
Section titled “Access Control Integration”The location tree is tightly integrated with the role-based access control system. Each role can be scoped to specific locations:
- A role with no location restrictions has access to all cameras
- A role scoped to a specific region only sees cameras within that region’s subtree
- Multiple location roots can be assigned to a single role
The system expands role location roots into full subtrees using the same approach. See Users & Roles for details.