Open Data RATP/SNCF

R.I.B.A.J Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
R.I.B.A.J Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Souhaitant réaliser un programme de calcul d'itinéraire type RATP/SNCF avec l'algorithme de Dijkstra, j'ai besoin du temps de parcours entre chaque station afin d'avoir un résultat précis.

J'ai donc jeter un coup d'oeil sur l'open data de la RATP et je n'ai rien trouvé de tel. Ma question est alors, ces données sont-elles publiques ou bien je ne sais pas les lire dans le fichiers donnés.

J'ai un fichier "stop_time.txt" mais celui-ci n'est pas clair concernant les horaires.

Je vous remercie infiniment d'avance pour votre aide, car je sais que la question est un peu compliquée.
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

La RATP met à disposition pas mal d'informations via son web service :
http://www.ratp.fr/wsiv/services/Wsiv?wsdl

Tu peux utiliser SoapUI pour manipuler les services.

Par exemple
getStations
te permet d'obtenir les infos sur les stations (leur nom, leur position x,y sur une carte, etc.)
0
R.I.B.A.J Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour ta réponse.
J'ai pu utiliser la méthode getStations mais je ne comprends pas trop les données.
Voici ce que j'obtiens
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsiv="http://wsiv.ratp.fr" xmlns:xsd="http://wsiv.ratp.fr/xsd">
<soapenv:Header/>
<soapenv:Body>
<wsiv:getStations>
<!--Optional:-->
<wsiv:station>
<!--Optional:-->
<xsd:direction>
<!--Optional:-->
<xsd:line>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:codeStif>?</xsd:codeStif>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:realm>?</xsd:realm>
<!--Optional:-->
<xsd:reseau>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
</xsd:reseau>
</xsd:line>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:sens>?</xsd:sens>
<!--Zero or more repetitions:-->
<xsd:stationsEndLine/>
</xsd:direction>
<!--Optional:-->
<xsd:geoPointA>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:nameSuffix>?</xsd:nameSuffix>
<!--Optional:-->
<xsd:type>?</xsd:type>
<!--Optional:-->
<xsd:x>?</xsd:x>
<!--Optional:-->
<xsd:y>?</xsd:y>
</xsd:geoPointA>
<!--Optional:-->
<xsd:geoPointR>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:nameSuffix>?</xsd:nameSuffix>
<!--Optional:-->
<xsd:type>?</xsd:type>
<!--Optional:-->
<xsd:x>?</xsd:x>
<!--Optional:-->
<xsd:y>?</xsd:y>
</xsd:geoPointR>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Zero or more repetitions:-->
<xsd:idsNextA>?</xsd:idsNextA>
<!--Zero or more repetitions:-->
<xsd:idsNextR>?</xsd:idsNextR>
<!--Optional:-->
<xsd:line>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:codeStif>?</xsd:codeStif>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:realm>?</xsd:realm>
<!--Optional:-->
<xsd:reseau>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
</xsd:reseau>
</xsd:line>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:stationArea>
<!--Zero or more repetitions:-->
<xsd:access>
<!--Optional:-->
<xsd:address>?</xsd:address>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:index>?</xsd:index>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:timeDaysLabel>?</xsd:timeDaysLabel>
<!--Optional:-->
<xsd:timeDaysStatus>?</xsd:timeDaysStatus>
<!--Optional:-->
<xsd:timeEnd>?</xsd:timeEnd>
<!--Optional:-->
<xsd:timeStart>?</xsd:timeStart>
<!--Optional:-->
<xsd:x>?</xsd:x>
<!--Optional:-->
<xsd:y>?</xsd:y>
</xsd:access>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Zero or more repetitions:-->
<xsd:stations/>
<!--Zero or more repetitions:-->
<xsd:tarifsToParis>
<!--Optional:-->
<xsd:demiTarif>?</xsd:demiTarif>
<!--Optional:-->
<xsd:pleinTarif>?</xsd:pleinTarif>
<!--Optional:-->
<xsd:viaLine>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:codeStif>?</xsd:codeStif>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:realm>?</xsd:realm>
<!--Optional:-->
<xsd:reseau>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
</xsd:reseau>
</xsd:viaLine>
<!--Optional:-->
<xsd:viaReseau>
<!--Optional:-->
<xsd:code>?</xsd:code>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:image>?</xsd:image>
<!--Optional:-->
<xsd:name>?</xsd:name>
</xsd:viaReseau>
</xsd:tarifsToParis>
<!--Optional:-->
<xsd:zoneCarteOrange>?</xsd:zoneCarteOrange>
</xsd:stationArea>
</wsiv:station>
<!--Optional:-->
<wsiv:gp>
<!--Optional:-->
<xsd:id>?</xsd:id>
<!--Optional:-->
<xsd:name>?</xsd:name>
<!--Optional:-->
<xsd:nameSuffix>?</xsd:nameSuffix>
<!--Optional:-->
<xsd:type>?</xsd:type>
<!--Optional:-->
<xsd:x>?</xsd:x>
<!--Optional:-->
<xsd:y>?</xsd:y>
</wsiv:gp>
<!--Zero or more repetitions:-->
<wsiv:distances>?</wsiv:distances>
<!--Optional:-->
<wsiv:limit>?</wsiv:limit>
<!--Optional:-->
<wsiv:sortAlpha>?</wsiv:sortAlpha>
</wsiv:getStations>
</soapenv:Body>
</soapenv:Envelope>


Peux-tu m'expliquer s'il te plait?

Merci d'avance
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Dans SoapUI je ne connais que deux ou trois fonctionnalités, mais en gros :

Tu créés un nouveau project avec File > New Project (Ctrl+N)

Cela interprète le wsdl et lit les différentes méthodes disponibles.
Si par exemple tu cliques sur getStations > Request1, une requête pré remplie s'affiche :
[http://static.commentcamarche.net/www.commentcamarche.net/pictures/epBfFKp4UKw2JDhMco1zU0WNXancuaB4ZPM68YY4UQl5DasAuIxxXEgTL0DcdA3b-soap-get-stations.png [image:http://static.commentcamarche.net/www.commentcamarche.net/pictures/epBfFKp4UKw2JDhMco1zU0WNXancuaB4ZPM68YY4UQl5DasAuIxxXEgTL0DcdA3b-soap-get-stations.png|773px||center]|fancy]
Il faut remplacer les valeurs
?
si nécessaire, sachant qu'il y a beaucoup d'options qui peuvent ne jamais te servir et que tu peux donc supprimer de la requête.

Une fois la requête remplie, tu appuies sur le bouton vert pour envoyer la requête au serveur de la ratp qui va te répondre ce que tu lui as demandé. Exemple :

Après faut un peu décortiquer pour comprendre le résultat, mais sur l'image on peut voir par exemple la station Argentine, ses identifiants, la ligne à laquelle elle appartient (ligne 1), etc.
Toutes ces données, notamment les identifiants, permettent d'interroger les autres méthodes du web service. Tu peux bien sûr l'interroger avec un programme via le protocole SOAP
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Dans SoapUI je ne connais que deux ou trois fonctionnalités, mais en gros :

Tu créés un nouveau project avec File > New Project (Ctrl+N)

Cela interprète le wsdl et lit les différentes méthodes disponibles.
Si par exemple tu cliques sur getStations > Request1, une requête pré remplie s'affiche :

Il faut remplacer les valeurs
?
si nécessaire, sachant qu'il y a beaucoup d'options qui peuvent ne jamais te servir et que tu peux donc supprimer de la requête.

Une fois la requête remplie, tu appuies sur le bouton vert pour envoyer la requête au serveur de la ratp qui va te répondre ce que tu lui as demandé. Exemple :

Après faut un peu décortiquer pour comprendre le résultat, mais sur l'image on peut voir par exemple la station Argentine, ses identifiants, la ligne à laquelle elle appartient (ligne 1), etc.
Toutes ces données, notamment les identifiants, permettent d'interroger les autres méthodes du web service. Tu peux bien sûr l'interroger avec un programme via le protocole SOAP
0
R.I.B.A.J Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   1 > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
Je te remercie pour le tuto que tu as réalisé. J'ai en effet, pu comprendre ce dont tu parlais.
Je vais essayer maintenant de trouver les données dont j'avais besoin.

Merci énormément pour tout.
0