diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 998be2902..b40760cc1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,6 +45,7 @@ snapshotInformation.json /Domains/2-DisciplinePhysical/Civil/CivilPhysical/ @iTwin/bis-civil-core /Domains/2-DisciplinePhysical/Civil/LinearlyLocatedAttributions/RoadAttributions/ @iTwin/bis-civil-roads /Domains/2-DisciplinePhysical/Civil/SpatialComposition/BridgeSpatial/ @iTwin/bis-civil-bridge +/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/ @iTwin/bis-civil-core /Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/ @iTwin/bis-civil-roads /Domains/2-DisciplinePhysical/Civil/RoadRailAlignment/ @iTwin/bis-civil-core /Domains/2-DisciplinePhysical/Civil/RoadRailUnits/ @iTwin/bis-civil-core diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.ecschema.xml b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.ecschema.xml new file mode 100644 index 000000000..ca99f1688 --- /dev/null +++ b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.ecschema.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + NotForProduction + + + DisciplinePhysical + + + + + spcomp:Site + + + + spcomp:SiteType + + + + spcomp:SiteIsOfType + + + + + + + + + + spcomp:Space + + + + + + Space + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + + + Space + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + + + Space + + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + + + Space + lr:ILinearLocationElement + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + + + Space + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + + + Space + + + + spcomp:SpaceType + + + + spcomp:SpaceIsOfType + + + + + + + + \ No newline at end of file diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.remarks.md b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.remarks.md new file mode 100644 index 000000000..e31428bed --- /dev/null +++ b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.remarks.md @@ -0,0 +1,96 @@ +--- +noEditThisPage: true +remarksTarget: CivilSpatial.ecschema.md +--- + +# CivilSpatial + +This schema contains the main classes to capture the Spatial Structure of Site projects. + +NOTE: Currently under development. This schema should not be used for production workflows. Data created using this schema is not supported and may not be upgradable. + +The following class diagram depicts the main classes in the CivilSpatial schema that extend the _Site_-related concepts from the `SpatialComposition` schema. + +![Site classes](./media/Site-classes.png) + +The following class diagram depicts the main classes in the CivilSpatial schema that extend the _Space_-related concepts from the `SpatialComposition` schema. + +![Space classes](./media/Space-classes.png) + +The following instance diagram depicts a simplified spatial hierarchy of a sample of a "Shopping Plaza", involving not only concepts defined in the `CivilSpatial` schema, but also the `BuildingSpatial` and `RoadSpatial` schemas - all of which are based on common rules and patterns defined in the `SpatialComposition` schema. + +![Shopping Plaza](./media/CivilSpatial-instances.png) + +## Entity Classes + +### Site + +`Site`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +### ParkingArea + +`ParkingArea`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +Equivalent to [IfcSpace](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSpace.htm) with a PredefinedType attribute set to [IfcSpaceTypeEnum.PARKING](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSpaceTypeEnum.htm). + +### ParkingIsland + +Instances of `ParkingIsland` are typically aggregated by instances of `ParkingArea` by using the `spcomp:SpatialStructureElementAggregatesElements` relationship. + +`ParkingIsland`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +### ParkingRow + +The number of Parking-spaces modeled in a single instance of `ParkingRow` is captured by its `ParkingSpaceCount` property. + +`ParkingRow`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +### PondArea + +Uses of permanent `PondArea`s include: to manage stormwater runoff, for protection against flooding, for erosion control, and to serve as an artificial wetland and improve the water quality in adjacent bodies of water. + +When needed, a `PondArea` may aggregate smaller areas within their boundary, modeled as instances of `GenericArea`. + +`PondArea`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +### Sidewalk + +A `Sidewalk` instance may be aggregated by a `RoadwayPlateau` when defined as part of a `rdsp:Road`, or may be defined parallel to other `spcomp:Facility` instances. + +When defined as part of a `rdsp:Road`, a sidewalk may accommodate moderate changes in grade (elevation) and is normally separated from the vehicular section by a curb. There may be a central reserve between the sidewalk and traffic lanes. + +`Sidewalk`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s and can be linearly located, typically along an *Alignment*. An instance of `Sidewalk` typically holds the `bis:PhysicalElement`s (e.g. *Course*s) comprising its *pavement* structure. + +Equivalent to [IfcFacilityPart](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcFacilityPart.htm) with its PredefinedType attribute set to [IfcRoadPartTypeEnum.SIDEWALK](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcRoadPartTypeEnum.htm). + +### GenericArea + +`GenericArea`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s. + +### SiteType + +Instances of `SiteType` provide an additional classification that can be applied to `Site`s. + +### ParkingAreaType + +Instances of `ParkingAreaType` provide an additional classification that can be applied to `ParkingArea`s. + +### ParkingIslandType + +Instances of `ParkingIslandType` provide an additional classification that can be applied to `ParkingIsland`s. + +### ParkingRowType + +Instances of `ParkingRowType` provide an additional classification that can be applied to `ParkingRow`s. + +### PondAreaType + +Instances of `PondAreaType` provide an additional classification that can be applied to `PondArea`s. + +### SidewalkType + +Instances of `SidewalkType` provide an additional classification that can be applied to `Sidewalk`s. + +### GenericAreaType + +Instances of `GenericAreaType` provide an additional classification that can be applied to `GenericArea`s. diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial - instances.cmap b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial - instances.cmap new file mode 100644 index 000000000..09f80c5e9 Binary files /dev/null and b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial - instances.cmap differ diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-classes.cmap b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-classes.cmap new file mode 100644 index 000000000..1e78997e0 Binary files /dev/null and b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-classes.cmap differ diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-instances.png b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-instances.png new file mode 100644 index 000000000..75d629ec5 Binary files /dev/null and b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-instances.png differ diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Site-classes.png b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Site-classes.png new file mode 100644 index 000000000..1a36e7de4 Binary files /dev/null and b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Site-classes.png differ diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Space-classes.png b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Space-classes.png new file mode 100644 index 000000000..49d329997 Binary files /dev/null and b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Space-classes.png differ diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.ecschema.xml b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.ecschema.xml index 5366931a4..80f71f8c1 100644 --- a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.ecschema.xml +++ b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.ecschema.xml @@ -56,10 +56,6 @@ RoadPart lr:ILinearLocationElement - - RoadPart - lr:ILinearLocationElement - RoadPart diff --git a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.remarks.md b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.remarks.md index ecc0a8fcb..2d827bf86 100644 --- a/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.remarks.md +++ b/Domains/2-DisciplinePhysical/Civil/SpatialComposition/RoadSpatial/RoadSpatial.remarks.md @@ -85,16 +85,6 @@ Instances of `Shoulder` are typically aggregated by an instance of `RoadwayPlate Equivalent to [IfcFacilityPart](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcFacilityPart.htm) with its PredefinedType attribute set to [IfcRoadPartTypeEnum.SHOULDER](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcRoadPartTypeEnum.htm). -### Sidewalk - -A sidewalk may accommodate moderate changes in grade (elevation) and is normally separated from the vehicular section by a curb. There may be a central reserve between the sidewalk and traffic lanes. - -A `RoadwayPlateau` instance typically aggregates zero or more instances of `Sidewalk`. - -`Sidewalk`s must be contained in `SpatialLocationModel`s or `PhysicalModel`s and can be linearly located, typically along an *Alignment*. An instance of `Sidewalk` typically holds the `bis:PhysicalElement`s (e.g. *Course*s) comprising its *pavement* structure. - -Equivalent to [IfcFacilityPart](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcFacilityPart.htm) with its PredefinedType attribute set to [IfcRoadPartTypeEnum.SIDEWALK](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcRoadPartTypeEnum.htm). - ### JunctionElement Only one instance of `Road` can aggregate an instance of `JunctionElement`. Other `Road`s meeting or crossing the same `JunctionElement` shall use the `RoadIncludesJunctions` relationship to indicate association with it. diff --git a/SchemaInventory.json b/SchemaInventory.json index 39fe77588..e690e79d7 100644 --- a/SchemaInventory.json +++ b/SchemaInventory.json @@ -5497,5 +5497,19 @@ "dynamic": "No", "approved": "Yes" } + ], + "CivilSpatial": [ + { + "name": "CivilSpatial", + "path": "Domains\\2-DisciplinePhysical\\Civil\\SpatialComposition\\CivilSpatial\\CivilSpatial.ecschema.xml", + "released": false, + "version": "01.00.00", + "comment": "Working Copy", + "sha1": "", + "author": "", + "approved": "No", + "date": "Unknown", + "dynamic": "No" + } ] } \ No newline at end of file