Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recharging point & plan revisions #793

Open
wants to merge 6 commits into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
236 changes: 138 additions & 98 deletions examples/standards/vdv452/timetable/NeTEx VDV Example.xml
Copy link
Collaborator

@Ulf9 Ulf9 Nov 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nick has added support for charging cars at dedicated recharging bays, but these bays are related to the general parking concept, implying that the public can recharge their Teslas etc. at these recharging bays.
The added recharging bays and recharging stations seems fine. But for public use...

The actual VDV need is something else. VDV indicates that they need to model support for opportunity-charging during the time a bus in operation is exchanging passengers at a stop.

They wish to indicate that a certain physical bus stop ( that reads Quay in NeTEx) has an overhead pantograph and also to which recharging station the pantograph is linked.

So forget about recharging bay, which is irrelevant in this case. I also suggest linking the physical Vehicle Recharging-Equipment to the Quay it is serving.

In the example file create a Quay for each relevant physical bus stop. Thus one Quay per VDV - Scheduled Stop Point. Then assign that Quay to the Scheduled Stop Point. This can easliy be automated as nothing hinders using aligned Ids for Quay, Scheduled Stop Point and Passenger Stop Assignment.

Here is the extended StopPlace:
image

And the additional stop assignment:
image

And a simplified recharging point assignment:

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ulf, I understand your criticism of using the parkingbay element. However, from a VDV452 / VDV462 perspective, we would not like to use the Quay element and we need the RechargingStation element. I agree on the use of VehicleChargingEquipment though. Could we not just have the VehicleChargingEquipments below RechargingStation, like so:
image

Then we can assign the ScheduledStopPoint elements to the VehicleChargingEquipments without using Quay and without using Parkingbay:
image

The RechargingStation Element does not need to be below "parkings", it could also have an own enclosing element "rechargingStations"

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions xsd/NeTEx_publication.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -9210,6 +9210,48 @@
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====RechargingStation===(NM)===================== -->
<!-- =====RechargingStation unique========================== -->
<xsd:unique name="RechargingStation_UniqueBy_Id">
<xsd:annotation>
<xsd:documentation>Every [RechargingStation Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:RechargingStation"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====RechargingStation Key ========================== -->
<xsd:keyref name="RechargingStation_KeyRef" refer="netex:RechargingStation_AnyVersionedKey">
<xsd:selector xpath=".//netex:RechargingStationRef"/>
<xsd:field xpath="@ref"/>
<xsd:field xpath="@version"/>
</xsd:keyref>
<xsd:key name="RechargingStation_AnyVersionedKey">
<xsd:selector xpath=".//netex:RechargingStation"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====RechargingBay===(NM)===================== -->
<!-- =====RechargingBay unique========================== -->
<xsd:unique name="RechargingBay_UniqueBy_Id">
<xsd:annotation>
<xsd:documentation>Every [RechargingBay Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:RechargingBay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====RechargingBay Key ========================== -->
<xsd:keyref name="RechargingBay_KeyRef" refer="netex:RechargingBay_AnyVersionedKey">
<xsd:selector xpath=".//netex:RechargingBayRef"/>
<xsd:field xpath="@ref"/>
<xsd:field xpath="@version"/>
</xsd:keyref>
<xsd:key name="RechargingBay_AnyVersionedKey">
<xsd:selector xpath=".//netex:RechargingBay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====RechargingPointAssignment===(NM)===================== -->
<!-- =====RechargingPointAssignment unique========================== -->
<xsd:unique name="RechargingPointAssignment_UniqueBy_Id">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Rail transport, Roads and Road transport
</xsd:simpleType>
<xsd:element name="RechargingEquipmentProfileRef" type="RechargingEquipmentProfileRefStructure" substitutionGroup="VehicleEquipmentProfileRef">
<xsd:annotation>
<xsd:documentation>Identifier of an RECHARGING EQUIPMENT PROFILE. +v1.2.2</xsd:documentation>
<xsd:documentation>Reference to a RECHARGING EQUIPMENT PROFILE. +v1.2.2</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RechargingEquipmentProfileRefStructure">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,11 @@ Rail transport, Roads and Road transport
<xsd:documentation>Normal time to decouple after charging.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="compatibleWith" type="compatibleEquipmentRefs_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Compatible equipment. +V2.0</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ======================================================================= -->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.2" id="netex_nm_equipmentEnergy_support">
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_nm_equipmentEnergy_support">
<xsd:include schemaLocation="netex_equipment_support.xsd"/>
<!-- ======================================================================= -->
<xsd:annotation>
Expand All @@ -18,6 +18,8 @@
</Date>
<Date><Modified>2023-11-21</Modified>CR0545 CouplingTypeEnumeration: deprecated pantographAbove.
</Date>
<Date><Modified>2024-10-24</Modified>Add Compatible with rel.
</Date>
<Description>
<p>NeTEx - Network Exchange. This subschema defines ENERGY EQUIPMENT types for Place access.</p>
</Description>
Expand All @@ -30,7 +32,7 @@
<Language>[ISO 639-2/B] ENG</Language>
<Publisher>CEN TC278 WG3 SG9</Publisher>
<Rights>Unclassified
<Copyright>CEN, Crown Copyright 2009-2021</Copyright>
<Copyright>CEN, Crown Copyright 2009-2024</Copyright>
</Rights>
<Source>
<ul>
Expand All @@ -55,6 +57,20 @@ Rail transport, Roads and Road transport
</xsd:appinfo>
<xsd:documentation>ENERGY EQUIPMENT identifier types for NeTEx.</xsd:documentation>
</xsd:annotation>
<xsd:complexType name="compatibleEquipmentRefs_RelStructure">
<xsd:annotation>
<xsd:documentation>List of VEHICLE CHarging or REFUELLING EQUIPMENT with which is compatible.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="containmentAggregationStructure">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="VehicleChargingEquipmentRef"/>
<xsd:element ref="RefuellingEquipmentRef"/>
<xsd:element ref="BatteryEquipmentRef"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- ==== VEHICLE CHARGING EQUIPMENT =========================================== -->
<xsd:simpleType name="VehicleChargingEquipmentIdType">
<xsd:annotation>
Expand Down Expand Up @@ -186,6 +202,38 @@ Rail transport, Roads and Road transport
</xsd:simpleContent>
</xsd:complexType>
<!-- ======================================================================= -->
<xsd:simpleType name="FuelTypeListOfEnumerations">
<xsd:annotation>
<xsd:documentation>List of allowed values for file type.</xsd:documentation>
</xsd:annotation>
<xsd:list itemType="FuelTypeEnumeration"/>
</xsd:simpleType>
<xsd:simpleType name="FuelTypeEnumeration">
<xsd:annotation>
<xsd:documentation>Allowed values for type of fuel.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:normalizedString">
<xsd:enumeration value="battery"/>
<xsd:enumeration value="biodiesel"/>
<xsd:enumeration value="diesel"/>
<xsd:enumeration value="dieselBatteryHybrid"/>
<xsd:enumeration value="electricContact"/>
<xsd:enumeration value="electricity"/>
<xsd:enumeration value="ethanol"/>
<xsd:enumeration value="hydrogen"/>
<xsd:enumeration value="liquidGas"/>
<xsd:enumeration value="tpg"/>
<xsd:enumeration value="methane"/>
<xsd:enumeration value="naturalGas"/>
<xsd:enumeration value="petrol"/>
<xsd:enumeration value="petrolBatteryHybrid"/>
<xsd:enumeration value="petrolLeaded"/>
<xsd:enumeration value="petrolUnleaded"/>
<xsd:enumeration value="none"/>
<xsd:enumeration value="other"/>
</xsd:restriction>
</xsd:simpleType>
<!-- ======================================================================= -->
<xsd:simpleType name="PlugTypeEnumeration">
<xsd:annotation>
<xsd:documentation>Values for Plug Types +v1.2.2</xsd:documentation>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.2" id="netex_nm_equipmentEnergy_version">
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_nm_equipmentEnergy_version">
<xsd:include schemaLocation="../netex_utility/netex_units.xsd"/>
<xsd:include schemaLocation="netex_vehicleType_support.xsd"/>
<xsd:include schemaLocation="netex_nm_equipmentEnergy_support.xsd"/>
<xsd:include schemaLocation="netex_equipmentPlace_version.xsd"/>
<xsd:include schemaLocation="netex_equipment_version.xsd"/>
<!-- ======================================================================= -->
<xsd:annotation>
<xsd:appinfo>
Expand All @@ -25,6 +24,8 @@
</Date>
<Date><Modified>2021-09-02</Modified>Add Battery and TypeOfBatteryChemistry
</Date>
<Date><Modified>2024-10-26</Modified>Plug Type and TypeofPlug )open) to Recharging Equipment
</Date>
<Description>
<p>NeTEx - Network Exchange. This subschema defines ENERGY EQUIPMENT base types.</p>
</Description>
Expand Down Expand Up @@ -125,6 +126,12 @@ Rail transport, Roads and Road transport
<xsd:documentation>Type of storage.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PlugType" type="PlugTypeEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Type of Plug supported (Fixed choice).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="TypeOfPlugRef" minOccurs="0"/>
<xsd:element name="MaximumPower" type="WattageType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Maximum charging power of the grid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
</Date>
<Date><Modified>2024-01-17</Modified>TM CR: Enhancement Add PASSENGER VEHICLE CAPACITY
</Date>
<Date><Modified>2024-10-26</Modified>Move Type of Fuel to Energy Equipmenyt Support
</Date>
<Description>
<p>NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.</p>
<p>This sub-schema describes the VEHICLE TYPE identifier Types.</p>
Expand Down Expand Up @@ -414,37 +416,6 @@ Rail transport, Roads and Road transport
</xsd:simpleContent>
</xsd:complexType>
<!-- ======================================================================= -->
<xsd:simpleType name="FuelTypeListOfEnumerations">
<xsd:annotation>
<xsd:documentation>List of allowed values for file type.</xsd:documentation>
</xsd:annotation>
<xsd:list itemType="FuelTypeEnumeration"/>
</xsd:simpleType>
<xsd:simpleType name="FuelTypeEnumeration">
<xsd:annotation>
<xsd:documentation>Allowed values for type of fuel.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:normalizedString">
<xsd:enumeration value="battery"/>
<xsd:enumeration value="biodiesel"/>
<xsd:enumeration value="diesel"/>
<xsd:enumeration value="dieselBatteryHybrid"/>
<xsd:enumeration value="electricContact"/>
<xsd:enumeration value="electricity"/>
<xsd:enumeration value="ethanol"/>
<xsd:enumeration value="hydrogen"/>
<xsd:enumeration value="liquidGas"/>
<xsd:enumeration value="tpg"/>
<xsd:enumeration value="methane"/>
<xsd:enumeration value="naturalGas"/>
<xsd:enumeration value="petrol"/>
<xsd:enumeration value="petrolBatteryHybrid"/>
<xsd:enumeration value="petrolLeaded"/>
<xsd:enumeration value="petrolUnleaded"/>
<xsd:enumeration value="none"/>
<xsd:enumeration value="other"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PropulsionTypeListOfEnumerations">
<xsd:annotation>
<xsd:documentation>List of allowed values for propulsion type.</xsd:documentation>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:netex="http://www.netex.org.uk/netex" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_vehicleType_version">
<xsd:include schemaLocation="netex_vehicleType_support.xsd"/>
<xsd:include schemaLocation="netex_nm_fleetEquipment_support.xsd"/>
<xsd:include schemaLocation="netex_nm_equipmentEnergy_support.xsd"/>
<xsd:include schemaLocation="netex_nm_fleet_support.xsd"/>
<xsd:include schemaLocation="netex_mode_support.xsd"/>
<xsd:include schemaLocation="netex_transportOrganisation_support.xsd"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,11 @@ Rail transport, Roads and Road transport
<xsd:documentation>Length of Area.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Height" type="LengthType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Height of Area.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="StepFree" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether area is step free.</xsd:documentation>
Expand Down
4 changes: 2 additions & 2 deletions xsd/netex_part_1/part1_ifopt/netex_ifopt_parking_version.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Rail transport, Roads and Road transport
<xsd:complexContent>
<xsd:extension base="containmentAggregationStructure">
<xsd:sequence>
<xsd:element ref="Parking" maxOccurs="unbounded">
<xsd:element ref="Parking_" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>A designated path between two PLACEs. May include an Ordered sequence of references to PATH LINKS.</xsd:documentation>
</xsd:annotation>
Expand All @@ -93,7 +93,7 @@ Rail transport, Roads and Road transport
</xsd:complexContent>
</xsd:complexType>
<!-- ======================================================================= -->
<xsd:element name="Parking" substitutionGroup="Site">
<xsd:element name="Parking" substitutionGroup="Parking_">
<xsd:annotation>
<xsd:documentation>A named place where Parking may be accessed. May be a building complex (e.g. a station) or an on-street location.</xsd:documentation>
</xsd:annotation>
Expand Down
7 changes: 6 additions & 1 deletion xsd/netex_part_1/part1_ifopt/netex_ifopt_site_version.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
</Date>
<Date><Modified>2011-02-05</Modified>Name Space changes
</Date>
<Date><Modified>2020-10-10</Modified>New Modes : Add PRESENTATGION To Site ELement
<Date><Modified>2020-10-10</Modified>New Modes : Add PRESENTATION To Site ELement
</Date>
<Date><Modified>2023-12-10</Modified>Enhancement TM v6.2: Add GROUP OF SITES, SITE STRUCTURE and LEVEL IN STRUCTURE
</Date>
Expand Down Expand Up @@ -964,4 +964,9 @@ Rail transport, Roads and Road transport
<xsd:documentation>Dummy Type to get round SG limitations</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Parking_" type="Site_VersionStructure" abstract="true" substitutionGroup="Site">
<xsd:annotation>
<xsd:documentation>Dummy Type to get round SG limitations</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_rechargingPointAssignment_support">
<xsd:include schemaLocation="netex_ifopt_parking_support.xsd"/>
<xsd:include schemaLocation="../../netex_framework/netex_genericFramework/netex_assignment_support.xsd"/>
<!-- ======================================================================= -->
<xsd:annotation>
Expand All @@ -12,8 +13,7 @@
<Creator>First drafted for NeTEx version 1.0 CEN TC278 WG3 SG9 Editor Nicholas Knowles.</Creator>
<Date><Created>2024-02-28</Created>YM Extension
</Date>
<Date>
<Modified>201402-28</Modified>
<Date><Modified>2024-10-25</Modified>And RECHARGING BAY, RECHARGING STATION
</Date>
<Description>
<p>NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.</p>
Expand Down Expand Up @@ -56,6 +56,58 @@ Rail transport, Roads and Road transport
</xsd:appinfo>
<xsd:documentation>NeTEX: RECHARGING POINT ASSIGNMENT identifier types.</xsd:documentation>
</xsd:annotation>
<!-- ===== RECHARGING BAY======================================================= -->
<xsd:simpleType name="RechargingBayIdType">
<xsd:annotation>
<xsd:documentation>Identifier for a RECHARGING BAY.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="ParkingBayIdType"/>
</xsd:simpleType>
<xsd:element name="RechargingBayRef" type="RechargingBayRefStructure" substitutionGroup="ParkingBayRef">
<xsd:annotation>
<xsd:documentation>Reference to a RECHARGING BAY.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RechargingBayRefStructure">
<xsd:annotation>
<xsd:documentation>Type for reference to a RECHARGING BAY.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ParkingBayRefStructure">
<xsd:attribute name="ref" type="RechargingBayIdType" use="required">
<xsd:annotation>
<xsd:documentation>Identifier of a RECHARGING BAY.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== RECHARGING BAY======================================================= -->
<xsd:simpleType name="RechargingStationIdType">
<xsd:annotation>
<xsd:documentation>Identifier for a RECHARGING STATION.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="ParkingIdType"/>
</xsd:simpleType>
<xsd:element name="RechargingStationRef" type="RechargingStationRefStructure" substitutionGroup="ParkingRef">
<xsd:annotation>
<xsd:documentation>Reference to a RECHARGING STATION.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RechargingStationRefStructure">
<xsd:annotation>
<xsd:documentation>Type for reference to a RECHARGING STATION.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ParkingRefStructure">
<xsd:attribute name="ref" type="RechargingStationIdType" use="required">
<xsd:annotation>
<xsd:documentation>Identifier of a RECHARGING STATION.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== RECHARGING POINT ASSIGNMENT======================================================= -->
<xsd:simpleType name="RechargingPointAssignmentIdType">
<xsd:annotation>
Expand Down
Loading