Location Information Service
Le Location Service répond à une requête en indiquant un lieu. Les principales données d’entrée sont les suivantes:
- Texte
- Types d’objets autorisés
- Pondération/restrictions géographiques
- Autres restrictions
Le résultat fourni est une liste d’objets comportant un nom, une position géographique, des attributs et un degré de probabilité.
Si la LocationInformationRequest est utilisée sans LocationName, mais avec une GeoPosition, un Circle ou un Rectangle, seul le type=“stop“ est supporté. De plus, la GeoPosition avec le type=“address“ permet d’obtenir une adresse précise avec la HausnummerRequest.
Explorateur API
Vous pouvez faire des essais en utilisant vos propres requêtes – lien direct vers l’explorateur de l’API.
Request
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?xml version="1.0" encoding="UTF-8"?> <OJP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.siri.org.uk/siri" version="1.0" xmlns:ojp="http://www.vdv.de/ojp" xsi:schemaLocation="http://www.siri.org.uk/siri ../ojp-xsd-v1.0/OJP.xsd"> <OJPRequest> <ServiceRequest> <RequestTimestamp>2020-01-09T08:00:00Z</RequestTimestamp> <RequestorRef>IRMA</RequestorRef> <ojp:OJPLocationInformationRequest> <RequestTimestamp>2020-01-09T08:00:00Z</RequestTimestamp> <MessageIdentifier>4711</MessageIdentifier> <ojp:InitialInput> <ojp:LocationName>Bern</ojp:LocationName> </ojp:InitialInput> <ojp:Restrictions> <ojp:Type>stop</ojp:Type> <ojp:IncludePtModes>true</ojp:IncludePtModes> </ojp:Restrictions> </ojp:OJPLocationInformationRequest> </ServiceRequest> </OJPRequest> </OJP> |
Élément | Cardialité | Description | Exemple | ||
1:1 | Timestamp de la requête. De préférence, heure UTC |
|
|||
MessageIdentifier | 0:1 | ID explicite du message. Nous vous prions d’utiliser des ID croissants de manière strictement monotone. |
|
||
ojp:InitialInput/ojp:LocationName | 0:1 | Nom de l’objet. Si aucun nom n’est indiqué, la recherche est effectuée à partir d’autres critères.
Lorsque différentes appellations sont courantes, il est possible de réaliser la recherche selon chacune d’elles. P. ex., la recherche fonctionne aussi bien en indiquant «Basel» que «Bâle CFF». Pour les haltes multilingues, la recherche fonctionne même si le nom de l’arrêt est indiqué dans une seule langue. P. ex. «Biel/Bienne» est trouvée aussi bien avec la requête «Biel» qu’avec la requête «Bienne». |
|
||
ojp:InitialInput/ojp:GeoPosition | 0:1 | Position recherchée avec les coordonnées géographiques (WGS84). |
|
||
ojp:InitialInput/GeoRestriction/Circle | 0:1 | Restriction de la recherche à un cercle défini. Cela permet p. ex. d’afficher, à condition de choisir le type approprié, toutes les haltes dans un cercle donné. Coordonnées WGS84. |
|
||
ojp:InitialInput/GeoRestriction/Rectangle | 0:1 | Restriction de la recherche à un rectangle défini. Coordonnées WGS84. |
|
||
ojp:/ojp:PlaceRef | 0:1 | Référence à un lieu. | Cf. tableau distinct | ||
ojp:Restrictions | 0:1 | Restrictions à utiliser. | Cf. tableau distinct |
Restrictions
Élément | Cardialité | Description | Exemple | ||
ojp:Type | 0:* | Type recherché parmi les objets à fournir.
Les différents types sont les suivants:
Les principales utilisations sont stop et lcoord. Le poi deviendra plus important au fil du temps (notamment pour les parkings et les partageurs). Désormais, les véhicules partagés (“sharing” – scooters électriques, vélos, voitures) et les stations de recharge peuvent être consultés en tant que POI (voir sous ojp:PointOfInterestFilter ci-dessous). Pour address, le nom exact du lieu doit d’abord être déterminé à l’aide de données générales. Il faut alors rechercher exactement ce nom et le type “address”. Ce n’est qu’alors que le code d’adresse sera renvoyé. Toutefois, il s’agit d’un cas particulier qui ne devrait normalement pas être utilisé. Ni le code d’adresse ni le TopographicPlaceRef n’ont de sens en dehors des recherches effectuées dans l’OJP. |
|
||
ojp:Usage | 0:* | Indique de quelle manière le lieu (Place) est utilisé.
Les valeurs possibles sont les suivantes:
Cet attribut n’est pas pris en charge. |
n/a | ||
ojp:PtModes | 0:1 | Comporte un élément d’exclusion booléen. Si la valeur est «true», les Modes sont exclus. Dans le cas contraire, ils sont inclus. L’utilisation de cet élément est décrite dans une rubrique distincte.
Cf. également la rubrique sur le PtMode. |
|
||
ojp:OperatorFilter | 0:1 | Filtre par exploitant.
Cet attribut n’est pas pris en charge. |
n/a | ||
ojp:TopographicPlaceRef | 0:1 | Filtre en fonction d’une référence à un lieu. Si au moins une référence est spécifiée, le service ne fournit que des objets dans les localités correspondantes. |
|
||
ojp:PointOfInterestFilter | 0:1 | Depuis août 2022, ce filtre peut être utilisP pour consulter les véhicules partagés (scooters électriques, vélos, voitures) et les stations de recharge dans un périmètre ou un rectangle.
Structure comme le montre l’exemple à droite :
Attention : la requête doit être combinée avec une GeoRestriction (Circle ou Rectangle), et non avec LocationName, GeoPosition ou PlaceRef. |
|
||
ojp:Language | 0:1 | La langue préférée pour les valeurs de retour.
Prévu pour une version ultérieure. |
n/a | ||
ojp: NumberOfResults | 0:1 | Nombre de résultats.
Important : Si un groupe de résultats est coupé avec une probabilité égale (>0,5), le serveur renvoie tous les résultats. C’est-à-dire que le nombre réel de résultats peut s’écarter du résultat souhaité. La raison en est qu’avec NumberOfResults=1 et l’entrée “St. Gallen, Haggen”, 2 arrêts doivent effectivement être retournés : “St. Gallen, Haggen” et “St. Gallen Haggen”. |
|
||
IncludePtModes | 0:1 | Informe le service qu’il doit indiquer les modes disponibles pour chaque arrêt. La valeur par défaut est «false». |
|
PlaceRef
Élément | Cardialité | Description | Exemple | ||
ojp: StopPointRef | 0:1 | Renvoi vers un ScheduledStopPoint.
Il est déconseillé d’utiliser cet élément car on ne sait pas avec certitude quel ID est requis. |
|
||
ojp:StopPlaceRef | 0:1 | Renvoi vers une halte. Repose sur le numéro DiDok. L’utilisation de StopPlaces permet d’obtenir très rapidement des résultats. |
|
||
ojp:GeoPosition | 0:1 | Géoposition sous forme de longitude/latitude. |
|
||
ojp:PlaceRef/ojp:LocationName | 0:1 | Est ignoré. | n/a |
PTMode
Les PTModes sont les modes de transport.
Les valeurs disponibles au niveau des PTModes sont les suivantes (il en existe davantage, mais elles n’apparaissent pas chez nous, et même certaines de celles qui sont énumérées ci-dessous ne sont pas encore utilisées pour l’instant):
- inconnu
- rail
- coach
- suburbanRail
- urbanRail
- metro
- underground
- bus
- trolleyBus
- tram
- water
- air
- telecabin
- funicular
- taxi
- selfDrive
- all
Les SubModes sont les suivants:
AirSubmode
- Non utilisé pour l’instant
BusSubmode
- regionalBus
- expressBus
- localBus
- postBus
- sightseeingbus
- shuttleBus
- railReplacementBus
- demandAndResponseBus
CoachSubmode
- internationalCoachService
- nationalCoachService
- regionalCoachService
- touristCoachService
FunicularSubmode
- funicular
MetroSubmode
- urbanRailway
- metro
TramSubmode
- cityTram
- regionalTram
- localTramService
- sightseeingTram
TelecabinSubmode
- chairLift
- dragLift
- smallTelecabin
- lift
- telecabin
- cableCar
RailSubmode
- hightSpeedRailService
- longDistanceTrain
- interRegionalRailService
- carTransportRailService
- sleeperRailService
- regionalRail
- touristRailway
- railShuttle
- suburbanRailway
- replacementRailService
- local
- interbational (avec un «b» pour l’instant; sera modifié ultérieurement)
WaterSubmode
- internationalCarFerryService
- nationalCarFerryService
- regionalCarFerryService
- localCarFerryService
- internationalPassengerFerry
- regionalPassengerFerry
- localPassengerFerry
- postBoat
- trainFerry
Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<?xml version="1.0" encoding="UTF-8"?> <siri:OJP xmlns:siri="http://www.siri.org.uk/siri" xmlns:ojp="http://www.vdv.de/ojp" version="1.0"> <siri:OJPResponse> <siri:ServiceDelivery> <siri:ResponseTimestamp>2020-03-09T09:12:49Z</siri:ResponseTimestamp> <siri:ProducerRef>OJPCH_test</siri:ProducerRef> <siri:Status>true</siri:Status> <ojp:OJPLocationInformationDelivery> <siri:ResponseTimestamp>2020-03-09T09:12:49Z</siri:ResponseTimestamp> <siri:RequestMessageRef>4711</siri:RequestMessageRef> <siri:Status>true</siri:Status> <ojp:CalcTime>53</ojp:CalcTime> <ojp:Location> <ojp:Location> <ojp:StopPlace> <ojp:StopPlaceRef>8571260</ojp:StopPlaceRef> <ojp:StopPlaceName> <ojp:Text>Aarberg, Bernfeld</ojp:Text> </ojp:StopPlaceName> <ojp:TopographicPlaceRef>23006301:1</ojp:TopographicPlaceRef> </ojp:StopPlace> <ojp:LocationName> <ojp:Text xml:lang="de">Aarberg, Bernfeld (Aarberg)</ojp:Text> </ojp:LocationName> <ojp:GeoPosition> <siri:Longitude>7.28473</siri:Longitude> <siri:Latitude>47.04372</siri:Latitude> </ojp:GeoPosition> </ojp:Location> <ojp:Complete>true</ojp:Complete> <ojp:Probability>0.922999978</ojp:Probability> <ojp:Mode> <ojp:PtMode>bus</ojp:PtMode> <siri:BusSubmode>localBusService</siri:BusSubmode> </ojp:Mode> </ojp:Location> <!---- und so weiter und so weiter --> <ojp:Location> <ojp:Location> <ojp:StopPlace> <ojp:StopPlaceRef>8578094</ojp:StopPlaceRef> <ojp:StopPlaceName> <ojp:Text>Biberist, Bernstrasse</ojp:Text> </ojp:StopPlaceName> <ojp:TopographicPlaceRef>23019513:1</ojp:TopographicPlaceRef> </ojp:StopPlace> <ojp:LocationName> <ojp:Text xml:lang="de">Biberist, Bernstrasse (Biberist)</ojp:Text> </ojp:LocationName> <ojp:GeoPosition> <siri:Longitude>7.55428</siri:Longitude> <siri:Latitude>47.18031</siri:Latitude> </ojp:GeoPosition> </ojp:Location> <ojp:Complete>true</ojp:Complete> <ojp:Probability>0.920000017</ojp:Probability> <ojp:Mode> <ojp:PtMode>bus</ojp:PtMode> <siri:BusSubmode>localBusService</siri:BusSubmode> </ojp:Mode> </ojp:Location> </ojp:OJPLocationInformationDelivery> </siri:ServiceDelivery> </siri:OJPResponse> </siri:OJP> |
La réponse est fournie dans un élément ojp:OJPLocationInformationDelivery.
Élément | Cardialité | Description | Exemple | ||
siri:ResponseTimestamp | 1:1 | Timestamp de la réponse. |
|
||
siri:RequesteMessageRef | 0:1 | C’est ici qu’est référencé le message de requête. |
|
||
siri:Status | 1:1 | Statut de la réponse. «true» signifie que la requête a été traitée. |
|
||
ojp:CalcTime | 1:1 | Temps de calcul en millisecondes. |
|
||
ojp:Location | 1:1 | Comporte les différentes réponses ojp:Location. | |||
ojp:Location/ojp:Location | 1:1 | Réponses. Le fait que deux éléments d’un niveau hiérarchique différent portent le même nom n’est pas très heureux, mais c’est comme ça pour l’instant. |
|
||
ojp:Complete | 1:1 | Indique si la Location actuelle est complète ou si elle doit encore être affinée. En cas de Refinement, elle doit être à nouveau saisie de manière plus précise dans une LocationInformationRequest. |
|
||
ojp:Probability | 1:1 | Probabilité que la Location proposée corresponde à celle qui est recherchée.
Les résultats sont classés par ordre décroissant de probabilité (le plus probable en premier). La sélection des meilleurs candidats pour la liste des résultats est déterminée après avoir fait correspondre le texte d’entrée avec l’ensemble des données. La probabilité est déterminée sur la base du nombre de trigrammes correspondants dans lesquels les termes peuvent être décomposés et le reste qui ne correspond pas. S’il y a une concordance complète, c’est-à-dire qu’il n’y a pas de reste, le candidat est une concordance complète et reçoit la probabilité maximale 1. S’il y a encore un reste, cela entraîne une déduction de points. Les résultats ainsi obtenus peuvent ensuite être influencés par différents critères d’évaluation, de qualité et d’ordre de tri. Les résultats peuvent être modifiés par région (code de la municipalité), par type (arrêt, adresse, ville, POI,…), par moyen de transport ou par une valeur de pertinence. |
|
||
ojp:Mode | 0:* | Modes pertinents pour la Location. |
|
ojp:Location
Une Location peut être l’un des éléments suivants:
- StopPoint: halte ou voie
- StopPlace: halte physique (arrêt, gare)
- TopographicPlace: lieu
- PointOfInterest: point d’intérêt (POI). Attention: actuellement, aucun POI n’est disponible.
- Address: adresse
Élément | Cardialité | Description | Exemple | ||
ojp:StopPlace | 0:1 | Halte physique (arrêt, gare) |
|
||
ojp:StopPoint | 0:1 | Halte ou voie
Pour l’instant, aucun StopPlace ne devrait apparaître. Cet attribut n’est pas pris en charge actuellement. |
|||
ojp:TopographicPlace | 0:1 | Lieu |
|
||
ojp:PointOfInterest | 0:1 | Point d’intérêt (POI). Attention: actuellement, aucun POI n’est disponible.
Cet attribut n’est pas pris en charge actuellement. |
|||
ojp:Address | 0:1 | Adresse |
|
||
ojp:LocationName | 0:1 | Nom du lieu |
|
||
ojp:GeoPosition | 0:1 | Coordonnées géographiques
L’exemple montre ce qui revient si aucune coordonnée n’est disponible. La précision est alors réglée sur la moitié de la circonférence du monde. Bien sûr, nous essayons d’éviter de tels cas. |
|
ojp:Location/ojp:StopPoint
Cet attribut n’est pas pris en charge actuellement.
ojp:Location/ojp:StopPlace
Élément | Cardialité | Description | Exemple | ||
ojp:StopPlaceRef | 1:1 | Référence de la halte. Actuellement: numéro DiDok | |||
ojp:StopPlaceName | 1:1 | Nom de la halte |
|
||
ojp:TopographicPlaceRef | 1:1 | Référence du lieu |
|
ojp:Location/ojp:TopographicPlace
Élément | Cardialité | Description | Exemple | ||
ojp:TopographicPlaceRef | 1:1 | Référence du lieu |
|
||
ojp:TopographicPlaceName | 1:1 | Nom du lieu |
|