Skip to content

Commit

Permalink
Releases for OpenSite, CivilSpatial, RoadSpatial Schemas (#428)
Browse files Browse the repository at this point in the history
* release new version of opensite

* initial release of civil spatial schema

* change CivilSpatial to field testing

* initial release of roadspatial

---------

Co-authored-by: Diego Diaz <46930149+diegoalexdiaz@users.noreply.github.com>
  • Loading branch information
dlew72 and diegoalexdiaz authored Feb 6, 2025
1 parent 81eaaac commit 8725ce4
Show file tree
Hide file tree
Showing 7 changed files with 1,219 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
| * 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">
<ECSchema schemaName="CivilSpatial" alias="cvsp" version="01.00.01" 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"/>
Expand Down
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>FieldTesting</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>
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?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="RoadSpatial" alias="rdsp" version="01.00.00" description="Schema modeling the spatial breakdown of a Road." 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="SpatialComposition" version="01.00.01" alias="spcomp"/>
<ECSchemaReference name="LinearReferencing" version="02.00.03" alias="lr"/>

<ECCustomAttributes>
<ProductionStatus xmlns="CoreCustomAttributes.01.00.00">
<SupportedUse>FieldTesting</SupportedUse>
</ProductionStatus>
<SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00">
<Value>DisciplinePhysical</Value>
</SchemaLayerInfo>
</ECCustomAttributes>

<ECEntityClass typeName="Road" displayLabel="Road" description="A spcomp:Facility modeling a route built on land to allow travel from one location to another, including highways, streets, cycle and foot paths, but excluding railways.">
<BaseClass>spcomp:Facility</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="RoadPart" modifier="Abstract" description="A spcomp:FacilityPart serving as the base class for classes modeling parts of a Road.">
<BaseClass>spcomp:FacilityPart</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="RoadwayPlateau" displayLabel="Roadway Plateau" description="Strip of a Road comprising the roadway(s), shoulders, curbs and medians.">
<BaseClass>RoadPart</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="CentralReserve" displayLabel="Central Reserve" description="Strip of a Road separating two of its Roadways or separating traffic lanes and sidewalk.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="CentralReservePart" displayLabel="Central Reserve Part" description="A general concept for various parts of a CentralReserve.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="RoadSide" displayLabel="Road Side" description="A lateral strip along the Road, comprising the areas outside its RoadwayPlateau not intended for vehicles.">
<BaseClass>RoadPart</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="RoadSidePart" displayLabel="Road Side Part" description="A general concept for various parts of a RoadSide.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="Roadway" displayLabel="Roadway" description="Strip of a Road constructed for use by vehicular traffic, including auxiliary traffic lanes, passing places, and lay-bys.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="TrafficLane" displayLabel="Lane" description="Strip of a Roadway intended to accommodate a single line of moving vehicles, frequently defined by road markings.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="Shoulder" displayLabel="Shoulder" description="A lateral strip of a Road adjacent to, and usually at the same level as the Roadway, exclusive of embankment or cutting slopes.">
<BaseClass>RoadPart</BaseClass>
<BaseClass>lr:ILinearLocationElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="JunctionElement" modifier="Abstract" description="A spcomp:FacilityPart providing a base class for concepts modeling an at-grade junction where two or more roads meet or cross.">
<BaseClass>RoadPart</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="Intersection" displayLabel="Intersection" modifier="None" description="General kind of JunctionElement modeling an at-grade junction where two or more roads meet or cross.">
<BaseClass>JunctionElement</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="RoadIncludesJunctions" modifier="None" strength="referencing" displayLabel="Road includes Junctions" description="Relates Roads with Intersections connected to them, but not directly aggregated by them.">
<BaseClass>spcomp:SpatialOrganizerReferencesSpatialElements</BaseClass>
<Source multiplicity="(0..*)" roleLabel="includes" polymorphic="true">
<Class class="Road"/>
</Source>
<Target multiplicity="(0..*)" roleLabel="is included by" polymorphic="true">
<Class class="JunctionElement"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
| * See LICENSE.md in the project root for license terms and full copyright notice.
======================================================================================= -->
<ECSchema schemaName="RoadSpatial" alias="rdsp" version="01.00.00" description="Schema modeling the spatial breakdown of a Road." xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<ECSchema schemaName="RoadSpatial" alias="rdsp" version="01.00.01" description="Schema modeling the spatial breakdown of a Road." 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"/>
Expand Down
2 changes: 1 addition & 1 deletion Domains/4-Application/OpenSite/OpenSite.ecschema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
| * See LICENSE.md in the project root for license terms and full copyright notice.
======================================================================================= -->
<ECSchema schemaName="OpenSite" alias="opnsite" version="01.00.03" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2" displayLabel="OpenSite" description="OpenSite+ application schema.">
<ECSchema schemaName="OpenSite" alias="opnsite" version="01.00.04" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2" displayLabel="OpenSite" description="OpenSite+ application schema.">
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA" />
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
<ECSchemaReference name="BisCore" version="01.00.10" alias="bis" />
Expand Down
Loading

0 comments on commit 8725ce4

Please sign in to comment.