Skip to content

Commit 21bca48

Browse files
added OpenDRIVE 1.8.1 schemas
1 parent 3c9bd19 commit 21bca48

File tree

7 files changed

+5382
-0
lines changed

7 files changed

+5382
-0
lines changed

rtron-readerwriter/src/main/resources/schemas/opendrive18/OpenDRIVE_Core.xsd

Lines changed: 528 additions & 0 deletions
Large diffs are not rendered by default.

rtron-readerwriter/src/main/resources/schemas/opendrive18/OpenDRIVE_Junction.xsd

Lines changed: 739 additions & 0 deletions
Large diffs are not rendered by default.

rtron-readerwriter/src/main/resources/schemas/opendrive18/OpenDRIVE_Lane.xsd

Lines changed: 1065 additions & 0 deletions
Large diffs are not rendered by default.

rtron-readerwriter/src/main/resources/schemas/opendrive18/OpenDRIVE_Object.xsd

Lines changed: 1065 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
2+
<!--ASAM OpenDRIVE V1.8.0
3+
4+
© by ASAM e.V., 2024
5+
6+
ASAM OpenDRIVE defines a file format for the precise analytical description of road networks
7+
8+
9+
Any use is limited to the scope described in the ASAM license terms.
10+
This file is distributable in accordance with the ASAM license terms.
11+
See www.asam.net/license.html for further details.
12+
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
13+
<xs:include schemaLocation="OpenDRIVE_Junction.xsd"/>
14+
<xs:include schemaLocation="OpenDRIVE_Core.xsd"/>
15+
<xs:simpleType name="e_road_railroad_switch_position">
16+
<xs:restriction base="xs:string">
17+
<xs:enumeration value="dynamic"/>
18+
<xs:enumeration value="straight"/>
19+
<xs:enumeration value="turn"/>
20+
</xs:restriction>
21+
</xs:simpleType>
22+
<xs:simpleType name="e_station_platform_segment_side">
23+
<xs:restriction base="xs:string">
24+
<xs:enumeration value="left"/>
25+
<xs:enumeration value="right"/>
26+
</xs:restriction>
27+
</xs:simpleType>
28+
<xs:simpleType name="e_station_type">
29+
<xs:restriction base="xs:string">
30+
<xs:enumeration value="small"/>
31+
<xs:enumeration value="medium"/>
32+
<xs:enumeration value="large"/>
33+
</xs:restriction>
34+
</xs:simpleType>
35+
<xs:complexType name="t_road_railroad">
36+
<xs:annotation>
37+
<xs:documentation>Container for all railroad definitions that shall be applied along a road.
38+
The available set of railroad elements is currently limited to the definition of switches. All other entries shall be covered with the existing elements, for example, track definition by &lt;road&gt;, signal definition by &lt;signal&gt;, etc. Railroad-specific elements are defined against the background of streetcar applications.</xs:documentation>
39+
</xs:annotation>
40+
<xs:complexContent>
41+
<xs:extension base="_OpenDriveElement">
42+
<xs:sequence>
43+
<xs:element maxOccurs="unbounded" minOccurs="0" name="switch" type="t_road_railroad_switch"/>
44+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
45+
</xs:sequence>
46+
</xs:extension>
47+
</xs:complexContent>
48+
</xs:complexType>
49+
<xs:complexType name="t_road_railroad_switch">
50+
<xs:annotation>
51+
<xs:documentation>Switches change the tracks for rail-bound vehicles. Switches guide the vehicles into two directions only.</xs:documentation>
52+
</xs:annotation>
53+
<xs:complexContent>
54+
<xs:extension base="_OpenDriveElement">
55+
<xs:sequence>
56+
<xs:element maxOccurs="1" minOccurs="1" name="mainTrack" type="t_road_railroad_switch_mainTrack"/>
57+
<xs:element maxOccurs="1" minOccurs="1" name="sideTrack" type="t_road_railroad_switch_sideTrack"/>
58+
<xs:element maxOccurs="1" minOccurs="0" name="partner" type="t_road_railroad_switch_partner"/>
59+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
60+
</xs:sequence>
61+
<xs:attribute name="id" type="xs:string" use="required">
62+
<xs:annotation>
63+
<xs:documentation>Unique ID of the switch; preferably an integer number, see uint32_t</xs:documentation>
64+
</xs:annotation>
65+
</xs:attribute>
66+
<xs:attribute name="name" type="xs:string" use="required">
67+
<xs:annotation>
68+
<xs:documentation>Unique name of the switch</xs:documentation>
69+
</xs:annotation>
70+
</xs:attribute>
71+
<xs:attribute name="position" type="e_road_railroad_switch_position" use="required">
72+
<xs:annotation>
73+
<xs:documentation>Either a switch can be operated (dynamic) or it is in a static position</xs:documentation>
74+
</xs:annotation>
75+
</xs:attribute>
76+
</xs:extension>
77+
</xs:complexContent>
78+
</xs:complexType>
79+
<xs:complexType name="t_road_railroad_switch_mainTrack">
80+
<xs:annotation>
81+
<xs:documentation>Main tracks form the primary course for rail bound traffic.</xs:documentation>
82+
</xs:annotation>
83+
<xs:complexContent>
84+
<xs:extension base="_OpenDriveElement">
85+
<xs:sequence>
86+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
87+
</xs:sequence>
88+
<xs:attribute name="dir" type="e_elementDir" use="required">
89+
<xs:annotation>
90+
<xs:documentation>direction, relative to the s-direction, on the main track for entering the side track via the switch</xs:documentation>
91+
</xs:annotation>
92+
</xs:attribute>
93+
<xs:attribute name="id" type="xs:string" use="required">
94+
<xs:annotation>
95+
<xs:documentation>Unique ID of the main track, that is, the &lt;road&gt; element. Must be consistent with parent containing this &lt;railroad&gt; element.</xs:documentation>
96+
</xs:annotation>
97+
</xs:attribute>
98+
<xs:attribute name="s" type="t_grEqZero" use="required">
99+
<xs:annotation>
100+
<xs:documentation>s-coordinate of the switch, that is, the point where main track and side track meet</xs:documentation>
101+
</xs:annotation>
102+
</xs:attribute>
103+
</xs:extension>
104+
</xs:complexContent>
105+
</xs:complexType>
106+
<xs:complexType name="t_road_railroad_switch_partner">
107+
<xs:annotation>
108+
<xs:documentation>Partner switches are two consistently set switches linked by a side track.</xs:documentation>
109+
</xs:annotation>
110+
<xs:complexContent>
111+
<xs:extension base="_OpenDriveElement">
112+
<xs:sequence>
113+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
114+
</xs:sequence>
115+
<xs:attribute name="id" type="xs:string" use="required">
116+
<xs:annotation>
117+
<xs:documentation>Unique ID of the partner switch</xs:documentation>
118+
</xs:annotation>
119+
</xs:attribute>
120+
<xs:attribute name="name" type="xs:string" use="optional">
121+
<xs:annotation>
122+
<xs:documentation>Unique name of the partner switch</xs:documentation>
123+
</xs:annotation>
124+
</xs:attribute>
125+
</xs:extension>
126+
</xs:complexContent>
127+
</xs:complexType>
128+
<xs:complexType name="t_road_railroad_switch_sideTrack">
129+
<xs:annotation>
130+
<xs:documentation>Side tracks connect two switches that are placed on main tracks.</xs:documentation>
131+
</xs:annotation>
132+
<xs:complexContent>
133+
<xs:extension base="_OpenDriveElement">
134+
<xs:sequence>
135+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
136+
</xs:sequence>
137+
<xs:attribute name="dir" type="e_elementDir" use="required">
138+
<xs:annotation>
139+
<xs:documentation>direction, relative to the s-direction, on the side track for after entering it via the switch</xs:documentation>
140+
</xs:annotation>
141+
</xs:attribute>
142+
<xs:attribute name="id" type="xs:string" use="required">
143+
<xs:annotation>
144+
<xs:documentation>Unique ID of the side track, that is, the &lt;road&gt; element</xs:documentation>
145+
</xs:annotation>
146+
</xs:attribute>
147+
<xs:attribute name="s" type="t_grEqZero" use="required">
148+
<xs:annotation>
149+
<xs:documentation>s-coordinate of the switch on the side track </xs:documentation>
150+
</xs:annotation>
151+
</xs:attribute>
152+
</xs:extension>
153+
</xs:complexContent>
154+
</xs:complexType>
155+
<xs:complexType name="t_station">
156+
<xs:annotation>
157+
<xs:documentation>Stations are places on the rail network where passengers enter and leave rail-bound vehicles at platforms.
158+
May refer to multiple tracks and is therefore defined on the same level as junctions.</xs:documentation>
159+
</xs:annotation>
160+
<xs:complexContent>
161+
<xs:extension base="_OpenDriveElement">
162+
<xs:sequence>
163+
<xs:element maxOccurs="unbounded" minOccurs="1" name="platform" type="t_station_platform"/>
164+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
165+
</xs:sequence>
166+
<xs:attribute name="id" type="xs:string" use="required">
167+
<xs:annotation>
168+
<xs:documentation>Unique ID within database</xs:documentation>
169+
</xs:annotation>
170+
</xs:attribute>
171+
<xs:attribute name="name" type="xs:string" use="required">
172+
<xs:annotation>
173+
<xs:documentation>Unique name of the station</xs:documentation>
174+
</xs:annotation>
175+
</xs:attribute>
176+
<xs:attribute name="type" type="e_station_type" use="optional">
177+
<xs:annotation>
178+
<xs:documentation>Type of station. Free text, depending on the application.
179+
e.g.: small, medium, large</xs:documentation>
180+
</xs:annotation>
181+
</xs:attribute>
182+
</xs:extension>
183+
</xs:complexContent>
184+
</xs:complexType>
185+
<xs:complexType name="t_station_platform">
186+
<xs:annotation>
187+
<xs:documentation>Platforms are essential parts of stations for passengers to enter and leave rail-bound vehicles. One or more railroad tracks reference one platform.</xs:documentation>
188+
</xs:annotation>
189+
<xs:complexContent>
190+
<xs:extension base="_OpenDriveElement">
191+
<xs:sequence>
192+
<xs:element maxOccurs="unbounded" minOccurs="1" name="segment" type="t_station_platform_segment"/>
193+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
194+
</xs:sequence>
195+
<xs:attribute name="id" type="xs:string" use="required">
196+
<xs:annotation>
197+
<xs:documentation>Unique ID within database</xs:documentation>
198+
</xs:annotation>
199+
</xs:attribute>
200+
<xs:attribute name="name" type="xs:string" use="optional">
201+
<xs:annotation>
202+
<xs:documentation>Name of the platform. May be chosen freely.</xs:documentation>
203+
</xs:annotation>
204+
</xs:attribute>
205+
</xs:extension>
206+
</xs:complexContent>
207+
</xs:complexType>
208+
<xs:complexType name="t_station_platform_segment">
209+
<xs:annotation>
210+
<xs:documentation>Segments are parts of platforms.
211+
Each &lt;platform&gt; element is valid on one or more track segments. The &lt;segment&gt; element must be specified.</xs:documentation>
212+
</xs:annotation>
213+
<xs:complexContent>
214+
<xs:extension base="_OpenDriveElement">
215+
<xs:sequence>
216+
<xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/>
217+
</xs:sequence>
218+
<xs:attribute name="roadId" type="xs:string" use="required">
219+
<xs:annotation>
220+
<xs:documentation>Unique ID of the &lt;road&gt; element (track) that accompanies the platform</xs:documentation>
221+
</xs:annotation>
222+
</xs:attribute>
223+
<xs:attribute name="sEnd" type="t_grEqZero" use="required">
224+
<xs:annotation>
225+
<xs:documentation>Maximum s-coordiante on &lt;road&gt; element that has an adjacent platform</xs:documentation>
226+
</xs:annotation>
227+
</xs:attribute>
228+
<xs:attribute name="side" type="e_station_platform_segment_side" use="required">
229+
<xs:annotation>
230+
<xs:documentation>Side of track on which the platform is situated when going from sStart to sEnd</xs:documentation>
231+
</xs:annotation>
232+
</xs:attribute>
233+
<xs:attribute name="sStart" type="t_grEqZero" use="required">
234+
<xs:annotation>
235+
<xs:documentation>Minimum s-coordinate on &lt;road&gt; element that has an adjacent platform</xs:documentation>
236+
</xs:annotation>
237+
</xs:attribute>
238+
</xs:extension>
239+
</xs:complexContent>
240+
</xs:complexType>
241+
</xs:schema>

0 commit comments

Comments
 (0)