Denne siden inneholder eksempler og beskrivelse av This page contains examples and descriptions of best-practice for hvordan man ønsker at data i SIRI-formatet skal være satt opp ved innsending til nasjonal hub for sanntidsdata for bruk i Nasjonal reiseplanlegger (webapplikasjon), for å sikre korrekte data på ensartet format i henhold til Norwegian SIRI profile.
Innhold
Table of Contents |
---|
Meldingsformat
Alle sanntids-datasett skal leveres i henhold til en av de tre støttede leveransemåtene (se beskrivelse av utvekslingsprotokoll) som en XML-fil med rotnode "ServiceDelivery
", meldingscontaineren definert i SIRI for å innholde relevante meldingsobjekter (se beskrivelse av støttede meldingstyper). Eksemplene under vil gi en kort innføring i hvordan disse komponentene og deres innholdelementer skal modelleres opp.
Eksempler
Modellerte eksempler er ment å brukes som en veiledning ved spesifisering av output fra operatørenes systemer.
Eksempel-repository
Prosjektets offisielle koderepository ligger på GitHub, og XML-filer for alle våre eksempelmodeller ligger under:
how to structure data in the SIRI format in accordance with the Norwegian SIRI profile. The catalogue is openly available and is meant to cover the most common use cases. Suggestions for additional examples to the catalogue are welcome.
Content
Table of Contents |
---|
Message format
All real-time datasets must be in one of the three supported formats (SIRI-ET, SIRI-SX, SIRI-VM), and sent as a single XML-file (per format) with the root node "ServiceDelivery
".
GitHub repository
The XML examples can all be found on GitHub at https://github.com/entur/profile-norway-examples/tree/master/siri
Alle eksemplene er publisert åpent, slik at operatører og andre som skal levere data kan bruke disse som utgangspunkt for datauttrekkene. Katalogen er ment å dekke de mest vanlige brukstilfellene, men dersom operatører eller andre brukere gjør andre uttrekk som kan være nyttig å vise i eksempelkatalogen tar vi gjerne imot innspill (se mer informasjon nederst på denne siden).
Service Delivery
- Skjelett (kan brukes som utgangspunkt til å lage XML for innsending) Skeleton (can be used as a starting point to generate the XML data)
- Komplett leveranse (filen inneholder alle relevante elementer for en innsending)
- [foreløpig ikke opprettet]
Datasett
...
- Complete dataset (contains all relevant elements for a complete dataset)
- [Not yet available]
Dataset
All examples are linked to XML-files in GitHub. Some examples have been more extensively described on a separate page.
SIRI-ET
Eksempel | XML | Beskrivelse | Kommentar | ||||||
---|---|---|---|---|---|---|---|---|---|
Kjøretøy før avgangVehicle before departure | GitHub | Sanntidsdata for en betjent avgang | Delinstilling (siste delstrekning Real-time data for a departure. | ||||||
Partial cancellation (last leg) | GitHub (før avgangbefore departure) GitHub (underveisunderway) | Se eget dokument | Både eksempler på sanntidsdata før avgang og sanntidsdata underveis | Delinstilling (første delstrekningSee own document | Examples of real-time data before departure, and real-time data underway. | ||||
Partial cancellation (first leg) | GitHub | Se eget dokument | Datainnsending illustrert etter avgang | Kjøretøy innstilt midt i ruta før avgang | GitHub | Se eget dokument | Kjøretøy innstilt før avgang | GitHub | Sanntidsdata for en kansellert avgang |
Erstatningsavgang | Sanntidsdata for en erstatningsavgang | Både eksempler på sanntidsdata før avgang og sanntidsdata underveis | |||||||
Platformendring | GitHub (før endring) GitHub (etter endring) | Se eget dokumentSee own document | Example of cancellation after departing. | ||||||
Cancelled in the middle of the route before departure | GitHub | See own document | |||||||
Cancelled before departure | GitHub | Real-time data for a cancelled departure | |||||||
Replacement departure | Examples of real-time data before departure, and real-time data underway. | ||||||||
Changed platform | GitHub (before change) GitHub (after change) | See own document |
SIRI-SX
Eksempel | XML | Beskrivelse | Kommentar |
---|
Message on a Line | GitHub |
Meldingen vil legges på alle kjøretøy i nettverket, og vises ved alle søk som inneholder et av nettverkets kjøretøy i svaret
GitHub (påstigning)
GitHub (passering)
GitHub (av/på/passering)
GitHub (åpen)
GitHub (lukking)
See own document | |||
Message on a leg for multiple Vehicles | GitHub | See own document | |
Message on a Network | GitHub | Applies to all departures (Vehicles) in a Network | |
Message on a Stop | GitHub | See own document | |
Message on a Stop for specific Lines | GitHub | See own document | |
Message with stopCondition on a Vehicle | GitHub (boarding/alighting) GitHub (boarding) GitHub (passing) GitHub (board./alight./pass.) | See own document | |
Message on a Vehicle | See own document | ||
Message on multiple Vehicles and multiple Dates | GitHub | See own document | |
Validity of a message | GitHub (set validity time) GitHub (open) GitHub (closing) | See own document |
SIRI-VM
Eksempel | XML | Beskrivelse | Kommentar | Melding for kjøretøy før ankomst på nærmeste stopp | GitHub | Sanntidsdata for kjøretøy underveis til monitorert stoppested | Melding for kjøretøy ved betjening av stopp | GitHub | Sanntidsdata for kjøretøy som har stoppet ved det monitorerte stoppestedet |
---|---|---|---|---|---|---|---|---|---|
Melding med kjøretøyets koordinater | GitHub | Sanntidsdata som angir kjøretøyets posisjon | Dette minimums-eksempelet angir kun kjøretøyets posisjon, men sier ikke hvor langt det har kommet på en rute. |
Utvikling av eksempler
Ved ønske om å utvide eksemplene eller legge til nye, f.eks. ved behov for å modellere spesielle tilfeller som ikke allerede er dekket, anbefales følgende fremgangsmåte:
...
Message on a Vehicle before arriving the next Stop | GitHub | A vehicle underway to monitored stop | |
Message on a Vehicle while serving a Stop | GitHub | A vehicle which has stopped at a monitored stop | |
Message with the coordinates of a Vehicle | GitHub | Minimum-example with position, but does not indicate the progress of the trip |
Creating new examples
If you want to expand the samples or add new ones in GitHub, eg. the need for modelling special cases not already covered follow these guidelines.
- Create a fork (your local copy) of the catalogue.
- Create a branch (your local branch of the code) and make your changes to the code there.
- Test all changes/new files.
(XML-documents must validate against the NeTEx official Schema, see https://www.vdv.de/siri.aspx for
...
- the last version of XSD'
...
- s.)
...
- Make a pull request into the repository to "save" the changes.
Further information about the use of pull request in GitHub is located at https://help.github.com/articles/using-pull-requests/.
Verktøy
...
Tools
It is recommended to use tools which support automatic validation of the data structure while working with XML files, eg. Notepad++ with XML Tools plugin (
...
free, the XML-
...
plugin could be installed automatically in Notepad++
...
or downloaded separate) or licensed tools like Oxygen or XMLspy.