Format jSon

Sujets relatifs aux données accessibles en temps réel sur la plateforme

Format jSon

Messagepar Bruno » 07 Septembre 2015, 16:47

Bonjour,

Est-il envisagé un export jSon pour les données "Temps réel" ?

Je viens par exemple de consulter les disponibilités des VCub, et je vois une possibilité d'export en CSV mais pas un webservice jSon qui serait pourtant bien pratique pour des données simples du genre 'nb_places' et 'nb_vélos' .
Mais comme je découvre le service, peut-être que quelque chose m'a échappé ;-) ?
Bruno
 
Messages: 4
Inscrit le: 07 Septembre 2015, 16:40

Re: Format jSon

Messagepar Sébastien Cart-Lamy » 07 Septembre 2015, 16:55

Bonjour,
Le CSV, et plus généralement les formats de fichiers diffusés sur le site, ne sont *PAS* utilisables que sur les données non temps réel. Cela pour la simple raison que les fichiers ne sont rafraîchis qu'une fois par jour (la nuit).

Pour utiliser les données temps réel, il faut utiliser les WebServices WMS / WFS / WPS. Ceux-ci sont normalisés et fonctionnent sur du XML.

Il y a sur le forum pas mal d'exemples d'utilisation de ces WebServices, notamment le WFS sur a couche CI_VCUB_P.

Autre point, nous avons mis en ligne un "générateur de requêtes WFS / WPS", qui permet d'élaborer des filtres sur les WebServices, et d'obtenir la requête HTTP à utiliser : http://sig.bordeaux-metropole.fr/apicub/wxsquery/
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
 
Messages: 264
Inscrit le: 23 Juin 2011, 17:16

Re: Format jSon

Messagepar Bruno » 08 Septembre 2015, 17:11

Bonjour,

J'ai regardé avec intérêt les exemples fournis (notamment "Export d'entités" - export.php).
Il apparaît que la classe CUB.Layer.Dynamic au travers de la méthode "getEntities"permet de récupérer des données non géographiques d'un élément (en l’occurrence pour les VCUB - 'CI_VCUB_P' : le nombre de places et de vélos disponibles).
Mon problème est que je voudrais récupérer ces information sans passer par l'affichage d'un layer (et 'CUB.Layer.Dynamic' affiche un fond de carte et un layer).

Existe-t-il un autre moyen de procéder ?
Peut-on par exemple récupérer une entity au moyen de ses attributs ( GID ou IDENT) ?

Bien cordialement
Bruno
 
Messages: 4
Inscrit le: 07 Septembre 2015, 16:40

Re: Format jSon

Messagepar Sébastien Cart-Lamy » 09 Septembre 2015, 10:03

Voici une solution qui pourrait résoudre votre problème.

Si vous souhaitez récupérer les infos d'un objet VCUB donné, à partir de son GID ou IDENT, il faut créer une couche dynamique "temporaire" sur le WFS CI_VCUB_P avec les paramètres suivants (voir la doc de l'APICUB pour plus de détails) :
  • Filtre sur le GID ou l'IDENT
  • Mettre LoadAllAtOnce pour qu'il charge sans restriction géographique
  • Fonction onLoadEnd (appelée à la fin de chargement de la couche), qui va récupérer les infos attributaires de la station que l'on recherche et qui va supprimer la couche (afin qu'elle n'apparaisse pas sur la carte).

Voici ce que ça donne pour récupérer les infos de la station d'IDENT 125 :

Code: Tout sélectionner
new CUB.Layer.Dynamic('', 'http://data.bordeaux-metropole.fr/wfs?key=[VOTRECLE]', {
  layerName: 'CI_VCUB_P',
  loadAllAtOnce: true,
  filter: '<PropertyIsEqualTo><PropertyName>IDENT</PropertyName><Literal>125</Literal></PropertyIsEqualTo>',
  onLoadEnd: function() {
    var entities = this.getEntities();
    console.log('Il y a ' + entities[0].attributes.NBVELOS + ' vélos disponibles sur la station ' + entities[0].attributes.NOM);
    this.destroy();
  }
})


Pour générer le filtre WFS, j'ai utilisé WXSQuery (comme évoqué dans mon message précédent).
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
 
Messages: 264
Inscrit le: 23 Juin 2011, 17:16

Re: Format jSon

Messagepar Bruno » 09 Septembre 2015, 14:43

Tout semble maintenant OK

Votre générateur de requête (http://sig.bordeaux-metropole.fr/apicub/wxsquery) répond parfaitement à mes besoins !

Merci :-)
Bruno
 
Messages: 4
Inscrit le: 07 Septembre 2015, 16:40


Retour vers Données Temps Réel

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron