-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial draft for the new CivilSpatial schema. (#392)
- Loading branch information
1 parent
e0c94ca
commit 8a46690
Showing
11 changed files
with
267 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
156 changes: 156 additions & 0 deletions
156
Domains/2-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.ecschema.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- ================================================================================== | ||
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved. | ||
| * See LICENSE.md in the project root for license terms and full copyright notice. | ||
======================================================================================= --> | ||
<ECSchema schemaName="CivilSpatial" alias="cvsp" version="01.00.00" description="Schema modeling the spatial breakdown of concepts common across Civil domains such as Road, Rail or Site." xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2"> | ||
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/> | ||
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/> | ||
<ECSchemaReference name="BisCore" version="01.00.13" alias="bis"/> | ||
<ECSchemaReference name="LinearReferencing" version="02.00.03" alias="lr"/> | ||
<ECSchemaReference name="SpatialComposition" version="01.00.01" alias="spcomp"/> | ||
<ECSchemaReference name="RoadRailUnits" version="01.00.02" alias="rru"/> | ||
|
||
<ECCustomAttributes> | ||
<ProductionStatus xmlns="CoreCustomAttributes.01.00.00"> | ||
<SupportedUse>NotForProduction</SupportedUse> | ||
</ProductionStatus> | ||
<SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00"> | ||
<Value>DisciplinePhysical</Value> | ||
</SchemaLayerInfo> | ||
</ECCustomAttributes> | ||
|
||
<ECEntityClass typeName="Site" modifier="None" description="The spatial location of a geographic site on which Facilities are situated. Its geometry is typically provided as a 2D/Plan-projected boundary."> | ||
<BaseClass>spcomp:Site</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="SiteType" modifier="None" displayLabel="Site Type" description="Further specializes a particular subclass of a Site by associating a custom Type that can be defined by users."> | ||
<BaseClass>spcomp:SiteType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="SiteIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:Site is an instance of the defined cvsp:SiteType."> | ||
<BaseClass>spcomp:SiteIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="Site" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="SiteType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="Space" displayLabel="Space" modifier="Abstract" description="A spcomp:Space modeling an Area bounded either physically or virtually that provides for some function within a Site, Road or Rail."> | ||
<BaseClass>spcomp:Space</BaseClass> | ||
<ECProperty propertyName="FootprintArea" displayLabel="Footprint Area" typeName="double" readOnly="true" kindOfQuantity="rru:AREA" /> | ||
<ECProperty propertyName="SlopedTopArea" displayLabel="Sloped Top Area" typeName="double" readOnly="true" kindOfQuantity="rru:AREA" /> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="ParkingArea" modifier="None" description="A cvsp:Space whose are is dedicated for use as a parking spot for vehicles, including access, such as a parking aisle."> | ||
<BaseClass>Space</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="ParkingAreaType" modifier="None" displayLabel="Parking Area Type" description="Defines a shared set of properties whose values vary per-type of cvsp:ParkingArea rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="ParkingAreaIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:ParkingArea is an instance of the defined cvsp:ParkingAreaType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="ParkingArea" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="ParkingAreaType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="ParkingIsland" modifier="None" displayLabel="Parking Island" description="A cvsp:Space modeling a subsidiary area raised or marked on a cvsp:ParkingArea, shaped and placed so as to direct traffic movement and/or provide refuge for pedestrians."> | ||
<BaseClass>Space</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="ParkingIslandType" modifier="None" displayLabel="Parking Island Type" description="Defines a shared set of properties whose values vary per-type of cvsp:ParkingIsland rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="IslandAreaIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:ParkingIsland is an instance of the defined cvsp:ParkingIslandType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="ParkingIsland" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="ParkingIslandType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="ParkingRow" modifier="None" displayLabel="Parking-Row" description="A cvsp:Space modeling a location that is designated for parking of one or more vehicles."> | ||
<BaseClass>Space</BaseClass> | ||
<ECProperty propertyName="ParkingSpaceCount" typeName="int" displayLabel="Parking-Space Count" description="Number of parking-spaces in this Parking-Row"/> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="ParkingRowType" displayLabel="Parking-Row Type" description="Defines a shared set of properties whose values vary per-type of cvsp:ParkingRow rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="ParkingRowIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:ParkingRow is an instance of the defined cvsp:ParkingRowType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="ParkingRow" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="ParkingRowType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="Sidewalk" modifier="None" displayLabel="Sidewalk" description="A cvsp:Space modeling a footpath for pedestrians."> | ||
<BaseClass>Space</BaseClass> | ||
<BaseClass>lr:ILinearLocationElement</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="SidewalkType" modifier="None" displayLabel="Sidewalk Type" description="Defines a shared set of properties whose values vary per-type of cvsp:Sidewalk rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="SidewalkIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:Sidewalk is an instance of the defined cvsp:SidewalkType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="Sidewalk" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="SidewalkType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="PondArea" displayLabel="Pond Area" modifier="None" description="A cvsp:Space modeling the Area of land reserved for the storage of water temporarily after a storm, or permanently for different purposes."> | ||
<BaseClass>Space</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="PondAreaType" displayLabel="Pond Area Type" modifier="None" description="Defines a shared set of properties whose values vary per-type of cvsp:PondArea rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="PondAreaIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific cvsp:PondArea is an instance of the defined cvsp:PondAreaType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true"> | ||
<Class class="PondArea" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true"> | ||
<Class class="PondAreaType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
|
||
<ECEntityClass typeName="GenericArea" displayLabel="Generic Space" modifier="Sealed" description="A cvsp:Space modeling Site-Areas which cannot be further classified. More-specific cvsp:Space subclasses should be used wherever possible."> | ||
<BaseClass>Space</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECEntityClass typeName="GenericAreaType" displayLabel="Generic Space Type" modifier="Sealed" description="Defines a shared set of properties whose values vary per-type of cvsp:GenericArea rather than per-instance."> | ||
<BaseClass>spcomp:SpaceType</BaseClass> | ||
</ECEntityClass> | ||
|
||
<ECRelationshipClass typeName="GenericAreaIsOfType" strength="referencing" modifier="Sealed" description="A type-instance relation; one that indicates that the specific cvsp:GenericArea is an instance of the defined cvsp:GenericAreaType."> | ||
<BaseClass>spcomp:SpaceIsOfType</BaseClass> | ||
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="false"> | ||
<Class class="GenericArea" /> | ||
</Source> | ||
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="false"> | ||
<Class class="GenericAreaType"/> | ||
</Target> | ||
</ECRelationshipClass> | ||
</ECSchema> |
96 changes: 96 additions & 0 deletions
96
...isciplinePhysical/Civil/SpatialComposition/CivilSpatial/CivilSpatial.remarks.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
|
||
 | ||
|
||
The following class diagram depicts the main classes in the CivilSpatial schema that extend the _Space_-related concepts from the `SpatialComposition` schema. | ||
|
||
 | ||
|
||
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. | ||
|
||
 | ||
|
||
## 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. |
Binary file added
BIN
+12.3 KB
...ciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial - instances.cmap
Binary file not shown.
Binary file added
BIN
+29.1 KB
...-DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-classes.cmap
Binary file not shown.
Binary file added
BIN
+21.3 KB
...Physical/Civil/SpatialComposition/CivilSpatial/media/CivilSpatial-instances.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+5.05 KB
...DisciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Site-classes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+28.9 KB
...isciplinePhysical/Civil/SpatialComposition/CivilSpatial/media/Space-classes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters