Format jSon

Sujets relatifs aux données accessibles en temps réel sur la plateforme
Répondre
Bruno
Messages : 4
Enregistré le : 07 septembre 2015, 15:40

Format jSon

Message par Bruno »

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é ;-) ?
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
Messages : 352
Enregistré le : 23 juin 2011, 16:16

Re: Format jSon

Message par Sébastien Cart-Lamy »

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/
Bruno
Messages : 4
Enregistré le : 07 septembre 2015, 15:40

Re: Format jSon

Message par Bruno »

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
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
Messages : 352
Enregistré le : 23 juin 2011, 16:16

Re: Format jSon

Message par Sébastien Cart-Lamy »

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).
Bruno
Messages : 4
Enregistré le : 07 septembre 2015, 15:40

Re: Format jSon

Message par Bruno »

Tout semble maintenant OK

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

Merci :-)
Répondre