17 mai 2013

Intégration ArcGIS OpenData/Vélib - 1. Intégration au niveau API


Cet article inaugure une série qui aura pour thème l'intégration de données OpenData et temps réel sur la plateforme ArcGIS.

Pour ce faire, j'ai choisi d'utiliser les données du réseau Vélib, publiées par JC Decaux en Open Data depuis 2 semaines sur le site developer.jcdecaux.com.

Cet article présentera une stratégie pour intégrer le flux de données temps réel de capacité des stations Vélib en vélos et en emplacements libres sur ArcGIS Online à des fins de cartographie temps réel des disponibilités.

L'intégration est réalisée avec un script Python, environnement tout à fait adapté à l'input (REST/Json) et à l'output (REST/Json) du process.

Le script Python (velib_arcgis_online.py) est disponible sur le tout nouveau site Github Esri France, dans le repo arcOrama-Velib. Vous y retrouverez aussi de quoi mettre en place les données cartographiques des stations Vélib, qui seront ensuites mises à jours par le script Python (cf. le README du repo).



Stratégie d'implémentation :

- Récupérer l'état courant des stations Velib sur l'API JCDecaux. celle se présentent sous la forme d'un flux Json du type :


Les données en jaunes sont celles qui nous intérressent pour une mise à jour en temps réel dans la base cartographique. Last_update correspond à la date/heure de la mise à jour en nb de millisecondes depuis "Epoch" (01/01/1970 à 00:00:00,000). Ce mode de gestion de la date est parfaitement adapté à une utilisation dans un contexte Json/JavaScript.

- Se connecter à ArcGIS Online via le processus d'authentification à base de token pour accéder au service d'entités des stations. Celui-ci est public, mais éditable uniquement par un utilisateur authentifié particulier (en général le propriétaire des données au sens ArcGIS Online).
- Récupérer via l'API REST ArcGIS les données des stations dans leur état actuel sur ArcGIS Online
- Mettre à jour ces données dans le contexte du script Python avec les dernières infos récupérées de l'API JC Decaux.
- Effectuer la mise en à jour en une fois sur ArcGIS Online avec une requête Post HTTP sur l'API Rest ArcGIS.

Commentaires du script Python velib_arcgis_online.py :

Ces modules permettent :
- requests : d'emettre des requêtes HTTP dans le script Python
- Json : d'encoder et décoder de données vers/de Json

Récupération des données temps réel à partir de l'API JC Decaux. Si vous implémentez ce script, vous devrez remplacer les "xxxxx" par votre API Key JC Decaux.


Ce bloc de code permet de récupérer le jeton (token) qui vous identifie sur la plateforme ArcGIS Online lorsque vous accéderez aux données à mettre à jour. Pour utiliser ce code dans votre contexte, substituez par votre nom d'utilisateur ArcGIS Online et son mot de passe...

Ce code permet l'interrogation du service ArcGIS Online des stations pour récupérer, à travers un flux Json, une liste Python des stations et de leurs caractéristiques ("features"). Pour l'implémenter vous même, vous devrez remplacer les "xxxxx" de l'URL du service par votre propre URL.

Ce bloc de code est la boucle principale : pour chaque station, on recherche ses données mises à jour, on vérifie que ces données ont bien évolué depuis la dernière mise à jour, et si c'est le cas, on empile les données modifiées dans une nouvelle liste Python.

Enfin, l'étape finale du script envoie une requête HTTP Post sur l'URL de mise à jour du service ArcGIS Online avec la version Json de la liste des stations mises à jour précédemment.

Ce script peut facilement être exécuté régulièrement par un planificateur de tâches. Il s'exécute en une dizaine de secondes et dans notre cas, nous l'avons planifié pour une exécution toutes les minutes.

Vous pouvez consulter les données à l'aide de l'application Web ArcGIS Online suivante dans laquelle vous pouvez facilement rechercher une station par son nom et obtenir les infos de disponibilité en cliquant sur la station.



Cet exemple montre combien l'intégration de données du Web (Json) est simple dans ArcGIS Online, notamment grâce à l'API Rest ArcGIS, candidate actuellement à la normalisation coté OGC.

Dans les prochains jours, nous poursuivrons la série en regardant comme ces données, désormais (pseudo) temps réel sur ArcGIS Online, peuvent s'intégrer dans un tableau de bord dynamique de l'offre Vélib.

01 mai 2013

ArcGIS Online : nouveau modèle applicatif avec recherche simple



Avec la légère évolution de la semaine dernière, ArcGIS Online propose désormais un nouveau modèle applicatif permettant la recherche simple et assistée sur la carte.

Pour mettre en oeuvre ce modèle applicatif, il vous faut :

- Un service d'entités hébergé sur ArcGIS Online ou ArcGIS for Server. Ce service servira de base à la recherche. Un ou plusieurs champs peuvent être utilisés pour la recherche "full-text". Pour cet article, j'utiliserai ce service : il expose les 3065 gares SNCF du jeu de données OpenData de la SNCF. Il est hébergé sur ArcGIS Online et dispose d'un champ "NOM_GARE".

- Une carte Web intégrant les données que vous souhaitez présenter dans l'application y compris bien sur le service d'entités support de la recherche tel que décrit ci-dessus.

Une fois la carte Web partagée avec au moins un groupe de votre organisation (ou plus largement...), vous allez pouvoir créer une application en utilisant le nouveau modèle "Visionneuse de Parcelles". Ne faites pas attention au nom, ce modèle s'applique bien sur à tous types de données !

Création de l'application Web :

- Ouvrir la carte Web dans la visionneuse et cliquer sur "Partager"
- Cliquer sur "Créer une application Web". Si ce bouton est grisé, c'est que vous devez partager votre carte avec au moins un groupe, toute votre organisation ou le monde entier...


- Aller ensuite dans la 3ème page de modèles applicatif et choisissez "Visionneuse de parcelles" et cliquer sur "Publier"

- Vous devez ensuite choisir un nom et quelques métadonnées pour votre carte, puis cliquer "Enregistrer et publier". Sur l'écran suivant, cliquer sur "Accéder à l'élément maintenant" pour pouvoir paramétrer l'application.

- Pour ce faire, cliquer sur "Configurer l'application"

- L'application s'ouvre alors avec un panneau de configuration à gauche, vous pouvez désormais configurer les paramètres de fonctionnement et d'affichage de l'application. Les paramètres les plus importants sont le nom de la couche point vers le service d'entités ("Search layer name") et la liste des champs à rechercher ("Search layer field(s)"), attention l'application est sensible à la casse des noms de champs...



Une fois la configuration réalisée, vous cliquez sur "Enregistrer" pour appliquer les changements. L'application créée ressemblera à celle-ci : http://esrifrance.maps.arcgis.com/apps/Solutions/s1.html?appid=1220b9fb35c24dcfb410761a7417a635

Pour rechercher un élément sur la carte, cliquer sur la loupe et entrer un nom ou quelques lettres et choisissez l'élément à retrouver sur la carte :


Bien sur, comme tous les modèles applicatifs, le code source peut être téléchargé pour l'adapter ou s'en inspirer pour mettre en place votre propre application Web. Cela se fait à l'étape où vous avez choisi le modèle "visionneuse de parcelle" : cliquer sur Télécharger au lieu de "Publier" et vous téléchargerez les sources JavaScript de l'application et de sa page de configuration.

29 avril 2013

Evolution mineure pour ArcGIS Online

Le 28 avril dernier, la plateforme ArcGIS Online a subi une légère mise à jour complétant ainsi l'évolution importante de mars dernier.

Voila quelques unes des nouveautés présentes depuis cette mise à jour :

- Calcul d'itinéraire : une nouvelle option est disponible pour calculer un itinéraire qui revient à son point de départ.



- Couches WMS : possibilité de visualiser la légende des services WMS qui en disposent dans la visionneuse ArcGIS.com

Légende composée sur plusieurs couches WMS issues des géoservices du BRGM
- Gestion des services de cartes dynamiques ArcGIS for Server 10.1 : l'utilisateur de la visionneuse ArcGIS.com peut désormais renommer et supprimer des couches au sein d'un services de cartes dynamique, il peut aussi activer et désactiver l'affichage de ces couches.

- Nouveau modèle applicatif de visite cartographique (Map Tour) : ce nouveau modèle permet de construire un application mêlant carte interactive, photos et textes. L'application est très largement personnalisable dans une interface puissante de configuration.


Plus de détails dans l'aide en ligne d'ArcGIS Online : http://resources.arcgis.com/en/help/arcgisonline/#/na/010q00000006000000

16 avril 2013

Nouveau module d'intégration Drupal / ArcGIS Online

Esri vient de mettre en ligne sur Github un module Drupal permettant l'intégration de ressources ArcGIS Online sur un site Drupal.

Ce module permet :

- d'intégrer sur un site Drupal une galerie ou un carrousel présentant le contenu d'un groupe ArcGIS Online sous forme de vignettes et permettant aux utilisateurs du site de choisir un contenu.

- d'intégrer une carte Web ArcGIS dans un site Drupal.

Ce module est disponible en open source, sous licence MIT, sur le site GitHib d'Esri. Il supporte Drupal 7.x avec ArcGIS Online ainsi que Portal for ArcGIS.

Vous pouvez accéder au repo GitHub en suivant ce lien : https://github.com/Esri/drupal-map-gallery-webmaps

Et pendant que vous y êtes, jetez un coup d'oeil aux 82 repos désormais publiés par Esri sur GitHub !




08 avril 2013

Esri Developer Summit 2013 : la perspective de David Jonglez



Une fois n'est pas coutume, arcOrama va donner la parole à un invité pour le temps d'un article. David Jonglez (@djonglez) vient de rejoindre Esri France et il a pu se joindre aux 15 personnes du staff Esri France et aux 35 clients et partenaires présents à Palm Springs il y a 2 semaines pour le Developer Summit Esri 2013. Il y a pire pour entamer une collaboration... David a plus de 10 ans d'expérience dans le domaine de l'Information Géographique et était jusqu'il y a peu Directeur du Centre d'Excellence SIG de CapGemini. Il rejoint Esri France pour prendre en charge le Business Development de l'entreprise. David nous donne dans cet article sa vision synthétique du Developer Summit, des annonces d'Esri ainsi que de la stratégie de l'éditeur, une vision pas tout à fait de l'intérieur mais plus seulement extérieure...



"Le Developer Summit Esri vient de se terminer. Le temps de l’analyse et de la synthèse est ainsi venu.
Cette édition 2013 a été particulièrement riche et marque sans aucun doute un tournant majeur pour Esri. Sans pour autant parler de révolution, puisque ces évolutions s’inscrivent dans la durée et ont été soigneusement préparées et régulièrement promues auprès des partenaires et utilisateurs d’ArcGIS, 2013 est néanmoins marqués par un « shift » majeur sur un triptyque technologique, économique et culturel.

“ArcGIS as a plateform”

Dans la continuité des annonces réalisées aux Developer Summit 2011 et 2012, la plateforme ArcGIS Online et son offre jumelle “sur site”, Portal for ArcGIS, s’étoffent en fonctionnalités et sont devenues l’un des axes principaux de la stratégie produit d'Esri.

Pour ce faire, Esri a entrepris depuis quelques années une urbanisation de ses solutions (version 10 et 10.1, Runtime, APIs, sécurité …) pour donner naissance à une plateforme robuste, performante et ouverte, intégrant progressivement de nouvelles briques répondant à de nouveaux usages (Location Intelligence, BigData, GeoEvent/GeoTrigger, …). Esri complète ainsi sa gamme avec notamment de nouveaux connecteurs pour les principaux produits de Business Intelligence du marché. Après Cognos, c’est au tour de Microstrategy d’IBM et de Business Object (SAP) de bénéficier de connecteurs à la plateforme ArcGIS. Côté Big Data, Esri a développé un ensemble de composants logiciels libres pour Hadoop permettant à la plateforme ArcGIS d’intégrer des traitements Hadoop dans des géotraitements, mais aussi d’étendre Hadoop en apportant la capacité de requête spatiale à Hives. Notons enfin, la toute prochaine intégration dans ArcGIS des technologies de la start-up Geoloqi acquise par Esri au printemps 2012. GeoEvent et GeoTrigger permettent de gérer des flux massif de données de localisation temps réel.

Au-delà de ces évolutions importantes de l’aspect logiciel/fonctionnel de la plateforme ArcGIS, Esri poursuit ses investissements dans les contenus (données images, météorologiques ou encore démographiques mondiales) et a initié une importante démarche autour du développement de solutions métiers (Templates applicatifs) notamment sur les thématiques : collectivités locales, réseaux d’eau/assainissement et défense/sécurité intérieure.

Un nouveau modèle économique pour de nouveaux usages

Suivant cette stratégie produits autour de l’offre ArcGIS Online », Esri propose un modèle de Licence alternatif, basé sur la consommation de crédits, les clients ne payant que pour l’usage qui est fait de la plateforme (Pay per use). La consommation de crédits dépend de deux paramètres, à savoir le nombre d’utilisateurs et la consommation des services exposés sur la plateforme.

Esri lance également un Marketplace pour dynamiser l’offre en solutions applicatives (Apps) autour de sa plateforme. Cette place de marché des applications devrait non seulement faciliter l’accès à des applications métiers « prêtes à l’emploi » par les utilisateurs de la plateforme, mais également fortement dynamiser l’écosystème existant de partenaires Esri, en leur donnant accès à un marché mondial.

Ouverture et agilité, moteurs de l’innovation

L’une des évolutions les plus marquantes est sans aucun doute l’évolution culturelle des équipes Produit d’Esri.

Ce changement s’opère notamment par l’avènement du Social Development au sein des équipes d’Esri ou avec des parties prenantes externes. Le déploiement de Github comme plateforme de développement collaboratif, le développement et la diffusion de composants Open Sources connexes au cœur de la solution ArcGIS (GIS tools for Hadoop par exemple), ou encore l’usage de composants OpenSource pour étendre ses solutions illustrent la volonté de l’éditeur à s’inscrire pleinement dans cette dynamique d’ouverture et d’agilité qu’offre le Social Development.

Un deuxième aspect important de l’évolution culturelle de l’éditeur s’illustre parfaitement à travers l’équipe Geoloqi qui a récemment rejoint Esri et qui est spécialisée dans la conception d’interfaces utilisateur efficaces et performantes. Au-delà de l’innovation portée par leurs concepts de GeoEvent et GeoTrigger, cette équipe prône la simplicité et l’intelligence des interfaces clientes pour faciliter l’usage des applications cartographiques.


Le Developer Summit 2013 aura sans aucun doute marqué la communauté des développeurs et partenaires d’Esri. Esri affirme clairement sa stratégie « Cloud » et confirme son indéniable leadership en complétant son offre d’un grand nombre de nouveautés. Le lancement de sa place de marché d’applications, l’ouverture des composants connexes à son offre et l’enrichissement de ses contenus accentuent ce leadership et l’attractivité de son offre sur un marché qui attire de plus en plus l’intérêt des plus grands éditeurs de l’IT."

David Jonglez