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

implementing MODES OF OPERATION from FU 44 #379

Merged
merged 112 commits into from
Oct 17, 2023
Merged

Conversation

ue71603
Copy link
Contributor

@ue71603 ue71603 commented Jul 3, 2023

image

image

Additionally, The association from NAVIGATION PATH to ACCESS MODE should be removed and replaced with an association between NAVIGATION PATH and PERSONAL MODE.

Maybe:
NAVIGATION PATH --> traversable by --> PERSONAL MODE
PERSONAL MODE --> suitable for --> NAVIGATION PATH
image

Current state of affairs

MODE OJP

List in Transmodel
dynamicCarPooling
longDistanceCarPooling
stationlessVehicleSharing
peerToPeerCarSharing
taxicab
sharedTaxi
commercialCarSharing
carSharingClub
cycleSharing
chauffeuredCar
taxi

netex_modeOfOperation_support

Modes of Operation:
scheduled
flexible
alternative
vehicleRental
vehicleSharing
vehiclePooling
personal
other

Enums of SubModesOfOperation:

flexible
<xsd:enumeration value="flexibleRoute"/>
<xsd:enumeration value="flexibleArea"/>
<xsd:enumeration value="demandResponsive"/>
rental:
<xsd:enumeration value="vehicleHire"/>
<xsd:enumeration value="vehicleLease"/>
sharing:
<xsd:enumeration value="carSharingClub"/>
<xsd:enumeration value="peerToPeerCarSharing"/>
<xsd:enumeration value="vehicleSharing"/>
pooling
<xsd:enumeration value="taxi"/>
<xsd:enumeration value="appBookedTaxi"/>
<xsd:enumeration value="sharedTaxi"/>
<xsd:enumeration value="prebookedTaxi"/>
<xsd:enumeration value="chaffeuredVehicle"/>
<xsd:enumeration value="dynamicCarPooling"/>
<xsd:enumeration value="longDistanceCarPooling"/>
personal
<xsd:enumeration value="commuterCarPooling"/>
<xsd:enumeration value="ownCar"/>
<xsd:enumeration value="privateLift"/>
scheduled
<xsd:enumeration value="scheduledService"/>
<xsd:enumeration value="eventBasedService"/>

@ue71603 ue71603 requested a review from skinkie July 3, 2023 22:01
@ue71603 ue71603 requested a review from Aurige July 4, 2023 07:46
@ue71603
Copy link
Contributor Author

ue71603 commented Jul 8, 2023

Things we don't want to do are now in: #380

@ue71603 ue71603 added this to the v2.1 milestone Jul 24, 2023
@skinkie skinkie self-assigned this Aug 23, 2023
@skinkie skinkie requested a review from herlitze August 23, 2023 07:50
Copy link
Contributor

@herlitze herlitze left a comment

Choose a reason for hiding this comment

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

We have to wait for our discussion and the solution for demandResponsive

Copy link
Contributor

@Aurige Aurige left a comment

Choose a reason for hiding this comment

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

Sorry I'm late to this discussion, and try to catch-up

To Malte: demandResponsive is not always Continuous; for example Virtual Lines are demandResponsive and have schedules. You can't really link them as both situation occur. And to me that sounds really weird to mess the category just because the attribute we need (GeoPosition) is only in one of these categories.

One other thing I find a bit confusing is that IndividualModesOfOperationEnumeration and PrivateModesEnumeration ere in fact compbinations of (vehicle)mode and mode of operation. Also in PrivateModesEnumeration we have things like taxi/appBookedTaxi/sharedTaxi/prebookedTaxi but a single taxi service (mode of operation) can offer all these services (plus hailed taxi, but I guess that this is the "taxi" value), so we are mixing the mode of operation and the booking&service description.

I know that the NeTEx MODEs are far from perfect and often blurry, but I have the feeling that we are replacing a blurry sition by another blurry one.

</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="walk"/>
<xs:enumeration value="commuterCarPooling">
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this Continuous: there is most often a scheduled pick up time !

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@Aurige comes with the pickup being a PLACE and not a SITE ELEMENT. We don't have the tools for that in OJP. So perhaps you want to weight in on that. Perhaps we need to have some enum values in both enumerations "demandresponsive" for TimedLeg (line based) and ContinuousLeg (for area non-stop based). This might also be true for commutercarPooling. Should I update accordingly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated

@ue71603
Copy link
Contributor Author

ue71603 commented Sep 15, 2023

@trurlurl @herlitze @normanoffel @Aurige :
What we need to do next week:

  • Check that we added the things from Transmodel FU44 to the definitions in OJP. Christophe/Matthias
  • Make clear that we will only have SITE ELEMENTS in TimedLegs => area based door-2-door demand responsive buses are ContinuousLegs
  • Cleanup the enums (I think they are currently not clear cut)

@ue71603
Copy link
Contributor Author

ue71603 commented Sep 19, 2023

MODE_OF_OPERATION.xlsx
@skinkie @herlitze @normanoffel @Aurige @sgrossberndt @trurlurl
I tried to map MODE OF OPERATION, MODE and all the rest into one consistent picture:

  • We keep TimedLeg, TransferLeg, ContinuousLeg
  • We have a ModeOfOperation (which bases on xxxService currently). There are many and they may affect, which MODE / SUBMODE can then be used. But we don't explicitly model that.
  • I suggest we remove the current different types of xxxModeOfOperation for TimedLeg (Service covers this just fine)
  • As TransferLeg has no Service I will have to tweak TransferMode (there are some strange modes in there), ContinousMode will be integrated in the TransferMode. I think TransferModeOfOperation is not needed explicitly.
  • and ContinuousLeg, if possible and only keep it for the TransferlegI suggest we remove the current different types of xxxModeOfOperation for TimedLeg and ContinuousLeg, if possible and only keep it for the Transferleg
  • In the ConinuousServiceStructure, I will have to twak things: ContinousMode/IndividualMode will be merged. ModeOfOperation needs to be added and how to handle the DatedVehicleJourney vs SharingService will need to be checked

Can you pls check quickly and give me your input on that part?

@trurlurl
Copy link
Contributor

Can you pls check quickly and give me your input on that part?

The plan sounds good to me, as far as I understand it:

  • TimedLeg would have no xxxModes. From TimedModes, flexibleArea would move to ContinuousModes, I think.
  • TransferLeg would have TransferModes, perhaps complemented with items from ContinuousModes (would car or motorcycle make sense, or would such a motorised transfer be modelled as ContinuousLeg?)
  • ContinuousLeg would have ContinuousModes that includes flexibleArea and items from IndividualModes. And an additional ContinuousModeOfOperation or similar.

@ue71603
Copy link
Contributor Author

ue71603 commented Sep 20, 2023

Can you pls check quickly and give me your input on that part?

The plan sounds good to me, as far as I understand it:

  • TimedLeg would have no xxxModes. From TimedModes, flexibleArea would move to ContinuousModes, I think.
  • TransferLeg would have TransferModes, perhaps complemented with items from ContinuousModes (would car or motorcycle make sense, or would such a motorised transfer be modelled as ContinuousLeg?)
  • ContinuousLeg would have ContinuousModes that includes flexibleArea and items from IndividualModes. And an additional ContinuousModeOfOperation or similar.

Yes, that's about it.

<xs:annotation>
<xs:documentation>Contains the Vehicle reference of the vehicle. In Transmodel this may be the VEHICLE Id.</xs:documentation>
<xs:documentation>Reference to an Operating Day.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to do OPERATING DAY here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated

@ue71603
Copy link
Contributor Author

ue71603 commented Oct 16, 2023

Mapping OJP 1.0 modes to OJP 2.0
MODE_mapping.xlsx

trurlurl
trurlurl previously approved these changes Oct 16, 2023
Copy link
Contributor

@trurlurl trurlurl left a comment

Choose a reason for hiding this comment

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

!

<xs:documentation>ALTERNATIVE MODE OF OPERATION for SINGLE JOURNEY with a paid driver. Often more than a single SINGLE JOURNEY.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="privateLift">
Copy link
Contributor

Choose a reason for hiding this comment

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

did you check this one with a native English speaker ... all the searches I did are connecting PrivateLift to a privately owned lift in your own apartment !!
Also shouldn't this be in PERSONAL MODE OF OPERATION ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

asked native English speakers. No response yet. Moved it to PERSONAL MODE OF OPERATION.

<xs:documentation>Specialisation of the demand responsive ALTERNATIVE MODE OF OPERATION for AREA related offers.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="school">
Copy link
Contributor

Choose a reason for hiding this comment

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

School services are in CONVENTIONAL MODES in TM (in fact demand responsive and flexible services too, but these ones are both in CONVENTIONAL and ALTERNATIVE in OJP) ... but that is not a big deal ! (but maybe worth mentioning it somewhere).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved "school" to ConventionalModeOfOperation.
Updated comments on enum to clarify which might occur in both CONVENTIONAL and ALTERNATIVE MODE OF OERATION:

</xs:annotation>
</xs:element>
<xs:group ref="siri:PtModeChoiceGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PrivateModeFilterStructure">
<xs:complexType name="ModeAndModeAndOperationFilterStructure">
Copy link
Contributor

Choose a reason for hiding this comment

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

ModeAndModeAndOperationFilterStructure or ModeAndModeOfOperationFilterStructure

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

- ModeAndModeOfOperationFilterStructure misspelling
- privateLift to PersonalModeOfOperation
- Improved comments on some MODE OF OPERATION. Especially when they can be used for ALTERNATIVE MODE OF OPERATION and CONVENTIONAL.
herlitze
herlitze previously approved these changes Oct 17, 2023
@ue71603
Copy link
Contributor Author

ue71603 commented Oct 17, 2023

@Aurige privateLift seems ok to the native English speakers. They also want it in AlternativeMode. What do you think? Move it back there? And then it is usage of a different driver that is the main criterion to have something in Alternative and not in Personal.

@skinkie skinkie merged commit bade553 into changes_for_v1.1 Oct 17, 2023
@skinkie skinkie deleted the ModeOfOperation branch October 17, 2023 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants