Depuis toujours la dimension temporelle est essentielle dans la collecte, le traitement et l’analyse de données géographiques. Depuis longtemps, ArcGIS intègre la dimension temporelle à tous les niveaux de la plateforme, du stockage dans la base de données aux rendus cartographiques en passant par tout l’écosystème d’outils de traitement et d’analyse d’ArcGIS qui exploitent cette 4ème dimension.
Aujourd’hui, la multiplication des flux de données temps réel (GPS, capteurs, simulateurs, réseaux sociaux, …) change totalement les méthodes de collecte, d’intégration, d’archivage, d’analyse et de restitution de ces nouvelles sources de données dans les SI des organisations.
Pour prendre en compte ces nouveaux challenges, Esri propose une nouvelle solution dans ArcGIS 10.2 pour fédérer, gérer, traiter et diffuser ces nouveaux flux d’information qui enrichissent en temps réel votre SIG l’ouvre ainsi à des usages toujours plus opérationnels et critiques. Cette solution se nomme "GeoEvent Processor" et se présente sous la forme d’une extension d’ArcGIS for Server. Je vous propose une présentation des principales caractéristiques de cette nouvelle composante de la plateforme ArcGIS.
L'information géolocalisée en temps-réel, un besoin dans de nombreux domaines
L'intégration de données temps réel dans le SI et leur diffusion auprès d'applications clients est une problématique qui concerne de nombreux métiers. On peut en citer quelques uns:
- Défense et Intelligence (gestion opérationnel des ressources, suivi d'indicateurs stratégiques, ...)
|
Supervision de ressources sur un théâtre d'opération militaire |
- Santé (épidémiologie, équipement hospitalier, crises humanitaires...)
|
Supervision d'équipements hospitaliers |
- Forêt, Agriculture, Géologie, Environnement (capteurs atmosphériques, capteurs sous-sols, capteurs et mesures sous-marines, activité sismique...)
- Mines/Pétrole (transport, plateforme d'extraction, supervision industrielle, ...)
|
Gestion des équipements et des agents sur un site pétro-chimique |
- Météorologie (températures, pressions, vents, pluviométries, impacts de foudre, ...)
|
Cartographie temps-réel des vents |
- Hydrologie (suivi des débits, hauteurs d'eau, qualité de l'eau, ...)
|
Gestion des débits, hauteurs et qualité de l'eau
sur un réseau hydrographique |
- Sécurité publique (comptages de population, effectifs/répartition des agents, traitements d'alertes, ...)
- Surveillance d'équipements industriels (capteurs, surveillances vidéo, ...)
|
Surveillance de site d'extraction minière |
- Gestion de réseaux d'énergie (gaz, électricité, eau, chauffage, ...)
|
Suivi des impacts de foudre sur un réseau électrique |
- Gestion d'infrastructures de transports (signalisation, équipement, régulation du trafic, comptage passagers...)
|
Suivi en temp-réel d'un réseaux ferroviaire en Finlande |
|
Supervision du trafic routier à partir de boucles de comptage |
- Gestion de réseaux télécom (qualité de l'infrastructure, localisation des incidents, suivi des capacités, gestion des opérateurs terrain, suivi des consommations, géolocalisation des abonnés...)
|
Suivi des pannes et alertes dans SharePoint sur un réseau de fibre optique |
- Gestion des eaux usées (qualité de l'infrastructure, localisation des incidents, gestion des opérateurs terrain, ...)
- Suivi d'opérateurs sur le terrain (techniciens de maintenance, enquêteurs, collecte de données, ...)
- Suivi de flottes véhicules (transporteur, auto-partage, vélo-partage, taxi, trains, avions, navires, ...)
|
Suivi de taxi médicaux à Boulogne-Billancourt |
|
Suivi de flottes de pétroliers |
- Analyse sociale, analyse comportementale, détection d'événements, suivi de l'e-réputation (messages géolocalisés des réseaux sociaux: twitter, flickr, instagram, foursquare, facebook, ...)
|
Suivi de réseaux sociaux lors du passage de l'ouragan Sandy aux Etats-Unis |
Qu'est ce que GeoEvent Processor ?
GeoEvent Processor est une solution qui permet d'intégrer des flux de données reçus en temps réel, de les traiter, puis de les rediffuser avec de la valeur ajoutée. Les flux de données sont reçus en temps réel via des protocoles et dans des formats très variés grâce la notion de "input connector". Ces messages (GeoEvents) sont généralement géolocalisés (directement ou indirectement) mais ce n'est pas une obligation. Les messages sont ensuite interprétés et traités grâce à des "processors" (filtrage attributaire, filtrage spatial, enrichissement, décomposition, recomposition,…), tout cela à la volée. Enfin, les messages sont ensuite archivés ou diffusés selon différents protocoles et dans différents formats grâce à la notion de "output connector".
Un service GeoEvent Processor peut combiner plusieurs flux de messages en entrée (fichiers, serveur Rest, flux JSON, trames GPS NMEA, ...) et reconstituer des messages unifiés pour les rediffuser sous la forme d'un canal unique. A l'inverse, vous pouvez diffuser informations d'un flux unique en entrée vers plusieurs canaux en sortie (base de données, fichier, service web, socket, SMS, email, tweets, ...).
Par exemple, vous pouvez recevoir un flux de positions de véhicules selon le protocole GPS/AVL, déterminer à la volée la destination de ce véhicule (grâce à la table des livraisons par exemple) afin d'envoyer une alerte SMS au client à livrer dès lors que ce véhicule est en retard de plus de 15 minutes par rapport à l'heure de livraison annoncée. Je peux également, en même temps, mettre à jour la position courante de chaque véhicule dans mon SIG (via un service d'entité ArcGIS par exemple) et écrire parallèlement toutes les informations concernant le véhicule dans un système de fichier Hadoop pour des traitements BigData ultérieurs.
GeoEvent Processor, une solution innovante
Plusieurs points clés font de GeoEvent Processor une solution novatrice comparée aux plateformes de LBS (Location Based Services), de FMS (Fleet Managment System) ou de MRM (Mobile Resource Managment) existant aujourd'hui sur le marché.
Le premier point important réside dans la capacité de GeoEvent Processor à fédérer des flux de données de nature très différentes grâce à des connecteurs prêts à l'emploi. En effet, les services de GeoEvent Processor peuvent être alimentés par des flux de données via TCP/IP ou UDP, par requêtes régulières sur des services d'entités ArcGIS (feature services) mais aussi par le contenu de fichiers dont GeoEvent Processor est capable de tester l'apparition dans un répertoire (ou une arborescence de répertoires) sur un serveur. Cette variété de connecteurs en entrée permet de croiser des informations d'origines diverses comme par exemple: la combinaison d'informations issues de capteurs fixés sur des équipements avec des informations mesurées par des techniciens se déplaçant sur le terrain, et de corréler tout cela avec des retours de clients exprimés via des réseaux sociaux.
Le second point innovant de cette nouvelle technologie c'est la puissance offerte par les fonctionnalités de traitement à la volée. Elles permettent d'appliquer aux messages reçus des transformations simple comme le filtrage conditionnel sur certains attributs du message jusqu'à des traitements plus avancés faisant intervenir la position géographique de l'événement par rapport à d'autres entités de votre base de données. Ceci permet par exemple de qualifier un événement en fonction de sa position ou encore d'utiliser des contraintes géographiques pour déclencher des alertes (notion de GeoTagging et de GeoFencing).
Autre point fort, la variété des types de connecteurs en sortie. Ils permettent d'envisager une diffusion simultanée d'information vers différentes applications clientes ou vers différents composants du SI de votre organisation. Par exemple, imaginons que l'on combine le suivi d'une flotte aéronautique combiné au suivi d'informations météorologiques. On peut alors déclencher des alertes pour les équipes en charge du trafic aérien (par un flux json normalisé), en même temps informer les services techniques des compagnies aériennes (par l'archivage des fichiers de log) tout en informant également (par SMS) les passagers des vols concernés par ces perturbations.
Une attention particulière a été portée à l'interface utilisateur de GeoEvent Processor (sous Windows ou sous Linux) pour rendre la conception des services et leur administration vraiment très simple et entièrement graphique. La conception se fait au travers d'une application locale permettant de combiner interactivement les connecteurs et les processus de traitement de chaque service. L'administration des services se fait au travers d'une application web (GeoEvent Processor Manager) très proche du Manager d'ArcGIS for Server.
|
Interface de conception d'un service GeoEvent Processor |
|
GeoEvent Processor Manager |
Un dernier aspect intéressant de GeoEvent Processor concerne la capacité d'étendre les connectors et les processors livrés en standards. Tout d'abord, vous pouvez créer vos propres connectors (en entrée ou en sortie) en combinant les adaptateurs et les transporteurs fournis avec GeoEvent Processor. Ceci se fait interactivement via le Manager. Ensuite pour aller encore plus loin dans la personnalisation, les développeurs peuvent utiliser le GeoEvent Processor SDK (Java) pour construire ses propres adaptateurs, transporteurs et processors. De nombreux exemples sont déjà disponibles dans
cette gallerie publiée sur ArcGIS Online ou
sur GitHub.
Les applications clientes de GeoEvent Processor
GeoEvent Processor est capable de diffuser des informations en temps-réel via des protocoles et des formats très variés sans adhérence particulière aux technologies Esri. Il peut donc adresser tous types de clients dans une organisation qu'il s'agisse de serveurs de bases de données, d'applications web, d'applications bureautiques spécialisées (tableaux de bord opérationnels, outils de reporting, SIG, ....) ou encore d'applications mobiles.
On notera tout de même la disponibilité de l'application Operations Dashboard for ArcGIS, une application bureautique générique configurable et particulièrement adaptée à la création de tableaux de bord géographiques pour l'analyse et l'affichage de données temps réel. Basé sur une notion de widgets que vous câblez sur différents flux et services web, cette nouvelle application Windows gratuite (sous condition d'abonnement à ArcGIS Online) permet en quelques clics de configurer différents tableaux d'indicateurs dynamiques. Que les développeurs se rassurent, un SDK .Net permet de développer ses propres widgets et d'étendre ainsi les capacités de reporting d'Operations Dashboard for ArcGIS.
|
Gestion d'urgences médicales avec
Operations Dashboard for ArcGIS |
|
Suivi d'une flotte de véhicules techniques avec
Operations Dashboard for ArcGIS |
On notera aussi que les dernières versions des APIs web ArcGIS (Flex, Silverlight et JavaScript) et des SDK Runtime (.Net, Java, Windows Phone, iOS, Android) sont également très adaptés au développement d'applications clientes consommant les flux, données et services diffusés par GeoEvent Processor. J'y reviendrai prochainement notamment sur la prise en charge des web sockets dans l'API JavaScript ArcGIS.