IfcSpatialZone and IfcExternalSpatialElement confusion about low to high levels in spatial tree

The documentation states:

4.4.1.4 Spatial Composition
The order of spatial structure elements being included in the concept for builing projects are from high to low level: IfcProject, IfcSite, IfcBuilding, IfcBuildingStorey, and IfcSpace with IfcSite, IfcBuildingStorey and IfcSpace being optional levels. Therefore an spatial structure element can only be part of an element at the same or higher level.

In addition a more general hierarchical tree of spatial elements can be created by using IfcSpatialZone, from high to low: IfcProject, IfcSite, and IfcSpatialZone with IfcSite being an optional level.

Two questions:

  1. Can someone clarify the intention for IfcSpatialZone? Does this mean that IfcSpatialZone must either belong to an IfcSite or an IfcProject and nothing else? What does the second paragraph mean?
  2. Why is IfcExternalSpatialElement not mentioned at all? Where does it fit in the hierarchy? Is it hierarchical? I assume it is, as I haven’t read otherwise. Is it an optional level? I also assume it is. Common sense tells me it is an optional level that must either belong to an IfcSite or IfcProject, but I cannot find anything about this in the spec.

Thoughts?

I’m trying to work with IfcSpatialZone, in relation to modelling fire compartments. This is not widely supported in software. I was partially able to generate them from Revit (but have problems with property sets and custom quantities) and trying but failing with Archicad which doesn’t support this entity, so we need to parse the IFC exported afterwards.

From my understanding of the above, there doesn’t seem to be a way to relate an IfcSpatialZone directly to an IfcBuildingStorey, at least not using the aggregation structure foreseen from the Spatial Composition concept. However, since IfcSpatialZone is effectively an IfcSpatialElement, this relation seems valid.

Can you aggregate an IfcSpatialZone into a building storey? Would that be valid IFC?
Do you believe we should rather use the Referenced in Spatial Structure relation?

Aggregating objects inside an IfcSpatialZone is problematic, as that would prevent these objects from being aggregated into another spatial element, such as IfcSpace.