Skip to content

Issue: Implementation of OMA IDS Compliant IFC Parser (Geometry vs. Occupancy) #46

@chraibi

Description

@chraibi

Description

To support the Occupant Movement Analysis (OMA) framework, we need to bifurcate our IFC parsing logic. The engine must distinguish between Static Geometry (navigation surfaces) and Occupancy Data (population parameters) as defined by the OMA IDS schema.

What is IDS

https://www.buildingsmart.org/standards/bsi-standards/information-delivery-specification-ids/#what-is-IDS

1. Geometry & Topology Layer

This layer defines the "Navigation Graph" using IFC entities for physical pathfinding.

  • IfcDoor / IfcWindow: Extract OverallWidth and Location to generate JuPedSim Checkpoint polygons.
  • IfcSpace Connectivity: Use IfcRelSpaceBoundary to infer the topological links between rooms.
  • Vertical Circulation: Map IfcStair and IfcRamp as specific circulation zones with rise/run attributes.

2. Occupancy & Behavioral Layer

This layer populates the geometry with simulation-ready data based on the OMA IDS classification.

  • Space-Level Attributes: - Occupancy Type: Map usage (e.g., "Office," "Assembly") to define agent behavioral profiles.

  • Design Load: Extract the "Occupant Load Factor" (persons/) or "Design Occupant Load" to automatically spawn agent populations.

  • Egress Classification: Identify spaces as "Egress Paths," "Refuge Areas," or "Final Exits".

  • Door Constraints: Map "Egress Function" (e.g., normally locked, emergency exit only) to determine if a Checkpoint is available in the navigation graph.

Technical Tasks

  • XML Parser Integration: Utilize the OMA IDS XML to validate that every IfcSpace has a required occupancy count before simulation start.

  • JuPedSim Mapping:

  • Geometry maps to Thin Polygons (Checkpoints) and Boundaries.

  • Occupancy maps to Agent Source Terms (spawners).

  • Validation Log: Generate a report if geometry exists without corresponding occupancy data (e.g., an empty room).

Acceptance Criteria

  1. Loading an IFC file creates the full 2D/3D geometry and automatically populates it with agents based on the OccupantLoad property.
  2. The user can toggle between "Geometric View" and "Occupancy Heatmap" (showing intended densities per OMA IDS).
  3. Checkpoints correctly inherit "Egress Function" metadata from their parent IfcDoor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions