Sprint 115

All our products have been updated on Sep 2, 2024 with the releases associated to this Sprint 115.

Chouette

Regroup Journey Patterns into Route in GTFS import

When the user imports a GTFS file, Chouette regroups Journey Patterns (and associated GTFS Trips / Vehicle Journeys) in a same Route, when GTFS Trips have the same:

  • GTFS Route

  • GTFS Direction

  • a compatible subset of stops

A conservative criterion is applied to avoid any artificial Route: one of the Journey Patterns Stop Sequence can handle all other Journey Patterns. This Stop Sequence is used to define the parent Route.

Example

GTFS Trips are defined in the same GTFS Route and direction with the following stops:

  • A,B,C,D

  • A,D

  • A,B,C

  • B,C

  • C,D

  • A,B,E,D

  • A,E

The GTFS import creates the following Routes:

  • Route A,B,C,D with Journey Patterns

    • A,B,C,D

    • A,B,C

    • B,C

    • C,D

    • A,D (see below)

  • Route A,B,E,D with Journey Patterns

    • A,B,E,D

    • A,E

Note: The A,D Journey Pattern could be handled by the both Routes. The GTFS import tries to handle this kind of Journey Pattern with the Route including already the most of Journey Patterns. So Route A,B,C,D will be preferred to Route A,B,E,D.

Chouette-AEROPORT-10-01-2024_10_07_AM.png
Journeys Patterns regrouped into a same Route by GTFS import

Define Route name / direction with a Macro

The user can force Routes name or direction name by using a pattern name. This pattern can include:

  • %{direction}: the localised direction ( Outbound / Inbound, Aller / Retour)

  • %{departure.name}: the name of the departure Stop Area

  • %{arrival.name}: the name of the departure Stop Area

Chouette-Define-Route-Name-10-02-2024_09_02_AM.png
Define Route Name from arrival Stop Area and a specified format

The user can compute Name or Direction Name with this macro. The existing Route attribute value is replaced.

Use French “Base Adresse Nationale” as Provider for “Define Postal Address”

The user can change the Provider used by Define Postal Address Macro to retrieve the postal address and select French Base Adresse Nationale (cf https://adresse.data.gouv.fr/base-adresse-nationale#4.4/46.9/1.7).

In this case, the models will be updated with the information returned by the French BAN (including postal region defined with the INSEE code).

Import/export Line with NeTEx cableway transport mode

When the user defines a Line with telecabin transport mode, the associated NeTEx transport mode is cableway.

When the user imports/exports a Chouette Line with telecabin transport mode, the NeTEx Line should use TransportMode cableway and TelecabinSubmode.

<Line> <TransportMode>cableway</TransportMode> <TransportSubmode> <TelecabinSubmode>cableCar</TelecabinSubmode> </TransportSubmode> </Line>

Ara

Improve Subscription response handling

When a Subscription response is received by an Ara subscription collector (for any service, Vehicle Monitoring, Stop Monitoring, etc), this response is managed with this logic:

  • if only a Subscription has been requested in the request, if a single ResponseStatus is present, its content is used to confirm (or not) the pending Subscription

  • if several Subscriptions have been requested:

    • the ResponseStatus is matched first by SubscriptionRef

    • the ResponseStatus is matched as fallback, by RequestMessageRef

This Ara behaviour allows a better compatibility with various SIRI implementations.

Single ResponseStatus

<SubscriptionResponse> <ResponseStatus> <ResponseTimestamp>2024-02-22T04:08:09+01:00</ResponseTimestamp> <Status>true</Status> <ValidUntil>2024-02-26T00:00:00+01:00</ValidUntil> </ResponseStatus> <SubscriptionResponse>

Match by RequestMessageRef (expected/nominal case)

<SubscriptionResponse> <ResponseStatus> <ResponseTimestamp>2024-02-22T04:08:09+01:00</ResponseTimestamp> <RequestMessageRef>af2eea7c-e74f-4aee-b5a5-49ce9d2d620f</RequestMessageRef> <Status>true</Status> <ValidUntil>2024-02-26T00:00:00+01:00</ValidUntil> </ResponseStatus> <ResponseStatus> <ResponseTimestamp>2024-02-22T04:08:09+01:00</ResponseTimestamp> <RequestMessageRef>af2eea7c-e74f-4aee-b5a5-49ce9d2d620f</RequestMessageRef> <Status>true</Status> <ValidUntil>2024-02-26T00:00:00+01:00</ValidUntil> </ResponseStatus> </SubscriptionResponse>

Match by SubscriptionRef (expected/nominal case)

Manage Situation Translated Strings

When Ara collects or broadcasts Situations (through SIRI Situation Exchange, SIRI General Message or GTFS-RT), Situation attributes (like Summary or Description) which can translated must be collected, and broadcasted.

Display translations for Situations

When viewing a Situation, the user can see the Summary & description translations:

  • When the language tag is defined, the country flag is displayed

  • When the language tag does not match a country flag, the language is display “as is”

  • For default value and/or without any language tag, no information is display and only the associated text is shown

Display Line Numbers when creating and viewing a Situation

When a User creates a Situation, or view a Situation, the list of affected Lines should include if it exists:

  • Line Number (if available)

  • Line Name

  • Short Id

Chouette Valid

Returns validation message when an XML file is invalid

When the user submits a NeTEx file with an invalid XML content, the Validation fails and provides a message about this XML file. The other XML files (in case of a ZIP file) are validated.

Skip NeTEx XML schema check

The user can start a Validation by using the option include_schema: false. In this case, the XSD validation is skipping. Only the selected ruleset is validated.

On production / stable workflow, skipping the XSD validation is a performance benefit.

Ensure XSD validation is possible on "big" XML files

The user can validate the NeTEx XML schema conformity of individual XML files up to 512 MB. The required resources are available in Chouette Valid infrastructure to support a such operation.