Define `Floor` as a `Place` and decoupling of floorplan-data
What needs to be remodelled?
Hierarchical structure of places. (Building [1]-[n] Floor [1]-[n] Room)
Decoupling of FloorPlan (Data object, where Rooms are shown on a graphical map. Currently stored as plan: SCFloorFeatureCollectionWithPlaces<LineString, any>; in SCFloorWithoutReferences) from Floor.
How is the current model not sufficient?
In the current modeling, the floor name (floor-attribute) is carried as an attribute individually in the rooms or buildings without using the separate classes SCFloor/WithoutReferences, in which the attribute also exists. The current modelling increases the maintenance effort of the individual room and building instances within the database, cause every floorname is stored individually in every instance. Also the objective of the floor is reduced to providing a floor plan without referencing room- or building-instances.
Which changes are necessary?
- Let
SCFloorWithoutReferenceextendSCThingInPlace. - Add
SCFloorWithoutReferenceto the union types ofSCThingInPlace.inPlace - Since
Floorare huge data objects in themselves (probably through the FloorPlan), create the FloorPlan as a separate interface and store it as a reference inSCFloor. - Move the
floors: String[]attribute inSCBuildingWithoutReferencestoSCBuildingasfloor: SCFloor[].
Do the proposed changes impact current use cases?
I don't know, please add @All