Skip to content

Issue: OMA IDS Parser – Mapping Geometry, Occupancy, and Journeys #45

@chraibi

Description

@chraibi

Description

To fully automate the transition from BIM (IFC) to JuPedSim, we need a parser that not only extracts geometry and occupancy data but also automatically constructs the Navigation Graph (Journeys). By utilizing the OMA IDS connectivity requirements, we can infer the logical path an agent should take through the doors (Checkpoints) we've created.

What is IDS

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

1. Geometry Layer (The "Where")

  • IfcDoor: Converted to thin Polygon Checkpoints.
  • IfcSpace: Converted to Walkable Areas.
  • IfcStair/Ramp: Converted to Transition Zones.

2. Occupancy Layer (The "Who")

  • Agent Profiles: Defined by OccupancyType (e.g., "Elderly," "Staff," "Visitor").
  • Source Terms: Generated based on the OccupantLoad or AreaFactor defined in the OMA IDS for each IfcSpace.

3. Journey Layer (The "How" - Navigation Graph)

This layer connects the previous two using the topological relationships in the IFC file.

  • Automatic Journey Generation: * Use IfcRelSpaceBoundary to identify which doors connect which spaces.

  • Construct a Journey for each agent source that sequences through the necessary Checkpoints to reach a "Final Exit" (IsExternal=True).

  • Exit Strategy: * Map IfcDoor egress functions (e.g., "Exit Discharge") as the final destination in a JuPedSim Journey.

  • Dynamic Pathfinding: * Ensure the Journey allows for multiple exits if the OMA IDS specifies multiple egress paths for a single space.

Technical Implementation

  • Connectivity Mapping: The parser must build an adjacency matrix of IfcSpace -> IfcDoor -> IfcSpace.
  • Journey Injection: For every IfcSpace containing agents, a Journey object must be created in the JSON:
"journeys": [
  {
    "id": "exit_path_room_101",
    "steps": ["checkpoint_door_A", "checkpoint_stair_1", "final_exit_gate"]
  }
]

Acceptance Criteria

  1. Importing an IFC file generates a valid Navigation Graph without manual "linking."
  2. Agents spawned in a room automatically follow a Journey through the parsed Checkpoints toward the nearest exit.
  3. The UI displays the logical "Journey" path when a specific Room or Agent Source is selected.

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