Tải bản đầy đủ (.pdf) (72 trang)

Mô hình hóa và phân tích dữ liệu vị trí địa lý trong nhà và dữ liệu đo lường cộng tác luận văn ths truyền dữ liệu và mạng máy tính (chương trình đào tạo thí điểm)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.16 MB, 72 trang )

UNIVERSITE NATIONALE DU VIETNAM, HANOI
INSTITUT FRANCOPHONE INTERNATIONAL

PHÚ BÁ DƯƠNG

MODÉLISATION ET ANALYSE DE DONNÉES DE
GÉOLOCALISATION EN INTÉRIEUR ET DE MESURES
PARTICIPATIVES
MÔ HÌNH HÓA VÀ PHÂN TÍCH DỮ LIỆU
VỊ TRÍ ĐỊA LÝ TRONG NHÀ VÀ DỮ LIỆU ĐO LƯỜNG
CỘNG TÁC

MEMOIRE DE FIN D'ETUDES DU MASTER INFORMATIQUE

HANOI-2016
1


UNIVERSITE NATIONALE DU VIETNAM, HANOI
INSTITUT FRANCOPHONE INTERNATIONAL

PHÚ BÁ DƯƠNG

MODÉLISATION ET ANALYSE DE DONNÉES DE
GÉOLOCALISATION EN INTÉRIEUR ET DE MESURES
PARTICIPATIVES

MÔ HÌNH HÓA VÀ PHÂN TÍCH DỮ LIỆU
VỊ TRÍ ĐỊA LÝ TRONG NHÀ VÀ DỮ LIỆU ĐO LƯỜNG
CỘNG TÁC
Spécialité: Réseaux et Systèmes Communicants


Code: Programme pilote
MEMOIRE DE FIN D'ETUDES DU MASTER INFORMATIQUE
Sous la direction de:
Dr. Besma ZEDDINI , Dr. Julien MERCADAL
Chercher et enseignants à l'École Internationale des Sciences du
Traitement de l'Information(EISTI)

HANOI-2016
2


ATTESTATION SUR L’HONNEUR
J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les
données et les résultats qui y sont présentés sont exacts et n’ont jamais été publié.

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số li ệu, k ết qu ả
nêu trong Luận văn là trung thực và chưa từng được ai công b ố trong b ất kỳ công
trình nào khác. Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.

Signature de l’étudiant

PHU Ba Duong

3


Table de matières
Remerciements............................................................................................................... 5
Résumé.......................................................................................................................... 6

Les acronymes...............................................................................................................9
Chapitre 1 Analyse du sujet..........................................................................................10
1.1 Introduction.......................................................................................................10
1.2 Énonce et analyse du problème de recherche.....................................................10
1.3 Plan de travail....................................................................................................12
Chapitre 2 Recherche Bibliographie............................................................................13
2.1 Analyse les besoins du système, concevoir le modèle du système.....................13
2.2 Études bibliographiques.....................................................................................13
2.2.1 Les capteurs et les différents types des capteurs........................................13
2.2.2 Crowdsensing............................................................................................14
2.2.3 Géolocalisation en intérieur.......................................................................14
2.2.3.1. Les signaux utilisés pour géolocalisation en intérieur.......................15
2.2.3.2. Données de capteurs..........................................................................16
2.2.3.3. Algorithmes de la position intérieur..................................................17
2.2.3.4 Carte en intérieur................................................................................18
2.2.3.5 Le fonctionnement du système...........................................................24
2.4 La choix de la base des données........................................................................24
2.5 Le stockage des données massives en utilisant Mongodb..................................31
2.6 Analyse les données massives............................................................................34
Chapitre 3 Les solutions expérimentales et les résultats...............................................38
3.1 Les technologies, les outils et les matériels utilisés dans ces travaux................38
3.2 La conception du systèmes................................................................................38
3.3 Conception de la base de données......................................................................39
3.4 Le processus de la construction des la carte en intérieur....................................47
Construction d'une carte de l'EISTI.........................................................................47
3.5 Développement des Web services......................................................................51
3.5.1 Calcul le nombre des personnes dans chaque salle de l'EISTI...................51
3.5.2 Le problème de la recherche les chemins..................................................53
............................................................................................................................. 57
3.5.3 Surveillance des gens.................................................................................57

3.5.4 Exportation des données historiques..........................................................58
3.5.5 La construction du systèmes de recommandation......................................58
Chapitre 4 Conclusions et perspectives........................................................................66
4.1 Conclusions.......................................................................................................66
4.2 Perspectives.......................................................................................................66
Appendices..................................................................................................................70

4


Remerciements
Les plus grandes leçons ne sont pas tirées des livres mais des professeurs tels
que vous, tous les professeurs de l’Institut Francophone International (IFI). Je souhaite
exprimer ma sincère gratitude à vous qui avez pris le temps de m’aider au cours de ces
trois années et de m’avoir accompagné dans la maîtrise de mes connaissances.
Je tiens à exprimer toute ma reconnaissance à mes directeurs de mémoire
Madame Besma ZEDDINI et Monsieur Julien MERCADAL. Je les remercie de
m’avoir encadré, orienté, aidé et conseillé.
J’adresse mes sincères remerciements à Madame Fatima BERRICHE et à toutes
les personnes qui par leurs paroles, leurs écrits, leurs conseils et leurs critiques ont
guidé mes réflexions et ont accepté à me rencontrer et répondre à mes questions durant
mes recherches.
Je remercie mes très chers parents, qui ont toujours été là pour moi, «Vous avez
tout sacrifié pour vos enfants n’épargnant ni santé ni efforts. Vous m’avez donné un
magnifique modèle de labeur et de persévérance. Je suis redevable d’une éducation
dont je suis fier».
Je remercie Monsieur Guy pour ses aides et encouragement durant mon stage.
Je remercie très spécialement Madame Marie-Josée Lamerre, Madame Sylvie
Petiot, Madame Audrey Jama qui ont toujours été là pour moi et m'ont aidé beaucoup.
Je tiens à les remercier pour leurs amitiés, leurs soutiens inconditionnel et leurs

encouragements.
Enfin, je remercie mon ami Khai NGUYEN pour son sincère amitié et
confiance, et à qui je dois ma reconnaissance et mon attachement. À tous ces
intervenants, je présente mes remerciements, mon respect et ma gratitude.

5


Résumé
Les services de localisation dans les bâtiments représentent un grand avantage.
Ils permettent aux gens de chercher des lieux, des produits ou des personnes dans un
bâtiment. Smart Engineering School est un projet qui applique la technologie de
géolocalisation en intérieur pour fabriquer des applications à forte valeur ajoutée sur
des réseaux d'objets communicants équipant l'EISTI, afin d'automatiser ou de
simplifier diverses tâches pour ses occupants. Et la modélisation d'une carte intérieur,
l'analyse de données de géolocalisation en intérieur et les mesures participatives font
les parties très importantes afin de pouvoir construire une application de
géolocalisation en intérieur intelligent.
Dans ce mémoire, nous proposons une solution complète et efficace visant à
construire un système d'information pour la géolocalisation en intérieur au moyen de
GIS(Geographic Information Systems), des technologies de géolocalisation en
intérieur, NoSQL, de réseau de capteurs (iBeacons) et des techniques d'analyse de
données massives.
La solution de système d'information d'abord, est développée pour utiliser dans
le projet Smart Engineering School à l'EISTI. Ensuite, nous allons continuer à
améliorer cette approche afin de l'appliquer dans plusieurs contextes différents tels
que les hôpitaux, les muséums, les restaurants.
Cette approche dans ce mémoire est totalement basée sur les technologies
d'open-source afin d'économiser le coût de développement.
Mots clés : OpenStreetMap(OSM), Indoor Map, Indoor Positionning System,

Hadoop Map-Reduce, Système de recommandation, BFS, NoSQL, MongoDB

6


Abstract
The services of localization in buildings representing a great advantage. These
allow people to look for places, things or people in a building, closed region. Smart
Engineering School is a project that apply the indoor positioning technologies to build
applications with high added values on a network of connected objects installed at
EISTI in order to automate or simplify various tasks for its occupants. And modeling
an indoor map, analyzing indoor geo-localization data and participatory measures
make the very important part in order to be able to build an intelligent indoor
positioning application.
In this thesis, we propose a complete and efficient solution for building an
information system for indoor positioning using Geographic Information System(GIS),
indoor positioning, NoSQL, Sensor network and some techniques for analyzing Big
Data.
Firstly, the information system solution is developed to use in the Smart
Engineering School project at EISTI. Then, we will continue to improve this approach
in order to apply it to different contexts such as hospitals, museums, restaurant.
This approach in this thesis is totally based on the open source technologies to
save the development cost.
Keywords : OpenStreetMap(OSM), Indoor Map, Indoor Positionning System,
Hadoop Map-Reduce, Système de recommandation, BFS, NoSQL, MongoDB

7


Table des figures

Figure 1 La carte du premier étage du bâtiment CAUCHY de l'EISTI........................16
Figure 2: La structure de paquet des données bluetooth...............................................17
Figure 3: Logiciel JOSM et la représentation de la carte de l'EISTI récupéré de l'OSM
..................................................................................................................................... 19
Figure 4: Architecture du système................................................................................24
Figure 5: La manière de stockage des RDBMS et orientée colonnes...........................27
Figure 6: La structure des Graphe databases................................................................27
Figure 7: Une instance de la base des données de Graphe...........................................28
Figure 8: Description des données divisées dans Sharding[15]....................................32
Figure 9: Interaction des composants dans un cluster shardé.......................................33
Figure 10: Flux écrire/lire données dans Sharding[16]................................................34
Figure 11: Le paradigme de MapReduce.....................................................................35
Figure 12: La combinaison de Hadoop et MongoDB...................................................37
Figure 13: Modélisation du système............................................................................38
Figure 14: Le document de bâtiment............................................................................39
Figure 15: Le document de iBeacons...........................................................................40
Figure 16: Le document d'utilisateur............................................................................40
Figure 17: Le document d'événement..........................................................................41
Figure 18: Le document d'évaluation...........................................................................42
Figure 19: Le document de EistiMap...........................................................................43
Figure 20: Le document des points d'intérêt.................................................................44
Figure 21: Le document des routes..............................................................................45
Figure 22: Le document des salles...............................................................................46
Figure 23: L'outil JOSM initialisé................................................................................47
Figure 24: Téléchargement des données géographiques..............................................47
Figure 25: L'affichage de la carte.................................................................................48
Figure 26: Utilisation de Picture layer.........................................................................49
Figure 27: Ajustement de la bordure du bâtiment et l'image de la carte.......................49
Figure 28: Cartes obtenue après avoir dessinée............................................................50
Figure 29: Les résultats sont affichés sur l'application mobiles....................................52

Figure 30: Un système des routes en intérieur.............................................................53
Figure 31: Le graphe utilisé dans l'algorithme.............................................................54
Figure 32: La représentation d'un chemin multi-étages................................................54
Figure 33: Un résultat de recherche la chemin sur multi-étages...................................55
Figure 34 : Un chemin est calculé, retourné et représenté au côte client.....................57
Figure 35: Les données historiques exportées..............................................................58
Figure 36: Le système de recommandation est représenté au côté client.....................62

8


Les acronymes
1. Bluetooth Low Energy : BLE
2. École Internationale des Sciences du Traitement de l'Information : EISTI
3. Global Positioning System : GPS
4. Indoor Positioning System : IPS
5. Internet of Things : IoT
6. Java OpenStreetMap (editor) : JOSM
7. La base des données : DBMS
8. Mobile Crowd Sensing : MCS
9. Open Street Map : OSM
10. Radio Frequency Identification : RFID
11. Rational Database Management System : RDBMS

9


Chapitre 1 Analyse du sujet
1.1 Introduction
L'Internet of Things (IoT) est devenu une partie intégrante de notre vie

quotidienne. Au début des années 2000s, Kevin Ashton est un des pionniers qui
concevait cette notion quand il a fait la recherche sur les liaisons entre Radio
Frequency Identification(RFID) et l'Internet visant à améliorer la performance de les
taches de business.
Nous avons pris une citation dans un article pour montrer la notion de IoT :
«If we had computers that knew everything there was to know about things—
using data they gathered without any help from us -- we would be able to track and
count everything, and greatly reduce waste, loss and cost. We would know when things
needed replacing, repairing or recalling, and whether they were fresh or past their
best. We need to empower computers with their own means of gathering information,
so they can see, hear and smell the world for themselves, in all its random glory. RFID
and sensor technology enable computers to observe, identify and understand the world
—without the limitations of human-entered data.» [1]
IoT signifie que tous les objets dans le monde sont équipés de capteurs,
identités et d’une connexion sans fils. Ces objets peuvent communiquer entre eux. En
effet, IoT représente un concept général pour la capacité des réseaux des objets qui
récupère et collecte les données du monde autour de nous, et puis envoie ces données
à travers l'Internet où elles peuvent être analysées et utilisées pour les différents
objectifs.
Les applications que IoT peut apporter à notre vie sont très larges :
- Surveiller et détecter les changement physique dans nos corps
- Self-parking automobiles
- La commande automatique de épicerie et des autres fournitures
- Traquer automatiquement les activités personnelle
- Traquer location pour les pièces individuels d'inventaire de fabrication
- Économiser l'énergie dans les modèles environnemental intelligent
- Renouveler et améliorer des contrôles de sécurité pour les personnes
travaillant dans des environnements dangereux [2]

1.2 Énonce et analyse du problème de recherche

Le projet «Smart Engineering School» est un projet encadré par Mme. Besma
ZEDDINI et M. Julien MERCADAL enseignant - chercheur à l'École Internationale
des Sciences du Traitement de l'Information(EISTI). C'est un projet dont son but est de
réaliser un réseau des capteurs dans les bâtiments de l'EISTI et combiner avec le
développement d'une application mobile qui permettent de surveiller les gens
(personnelles, professeurs, étudiants, chercheurs, étrangers) circulant dans cette école.
Simultanément, le système est responsable d'effectuer les communications entre les
gens et l'EISTI. Par exemple, vérifier l'absence d'une personne, réserver une salle
10


disponible pour la réunion, diffuser un événement à un groupe des personnes... Enfin,
les données d'utilisateurs seront récupérées et mis dans la base de données afin
d'analyser et de créer les informations valables.
Ce projet se situe dans le domaine de IoT, et plus exactement, dans celui qui
concerne les réseaux des capteurs, Big Data et géolocalisation en intérieur.
En se basant sur les caractéristiques, ce projet est décomposé en deux
problèmes à réaliser.
1. Développement d'applications mobiles utilisant la géolocalisation en
intérieur
2. Modélisation et analyse de données de géolocalisation en intérieur et de
mesures participatives
En effet, ce sont les deux sujets individuels, mais ils ont une partie de
développement commune ont besoin d'être développés ensemble. Dans ce mémoire,
nous allons présenter une approche qui concerne la résolution du deuxième problème.
Profondément, la structure de mémoire se compose 4 chapitres, le chapitre 1 va
introduire le sujet de stage et des notions concernées qui ont besoin d'être étudiées. Le
chapitre 2 est la partie de la recherche bibliographie la où les conceptions sont creusées
profondément, et les travaux concernés qui sont précédemment étudiés ont besoin
d'être mentionnés. Le chapitre 3 propose une solution et l'implémente en se basant sur

les recherches bibliographies et en fin, montre les résultats obtenus. Le dernier chapitre
est la conclusion et perspective du sujet.
Allons en détaille chapitre 1, tout d'abord, nous allons présenter les définitions,
les mots clés liés au sujet
Crowdsensing : est un nouveau modèle métier, permettant aux téléphones non
seulement d'être utilisés pour échanger les information mais aussi pour les activités qui
peuvent avoir un impact social énorme. Le terme «Crowdsensing» se réfère à partager
les données collectées par des capteurs embarqués avec le but de mesurer les
phénomènes physiques. Les capteurs sont embarqués dans les smartphones, lecteurs de
musique même dans les véhicules. [3]
Géolocalisation en intérieur : en Anglais Indoor Positioning System(IPS), est
un système qui permet de localiser les objets, les gens dans un bâtiment en utilisant les
ondes, les signaux acoustiques… Fondamentalement, les IPS fonctionnent comme le
système de GPS.
Données massives (Big Data) : signifie un grand nombre de données qui
peuvent être analysées informatiquement pour révéler les modèles, les tendances et les
associations concernant les comportements et les interactions d'humain.
Les problèmes à résoudre sont :
1. Modéliser les données, développer le côté serveur qui peux communiquer
avec les clients (l'applications mobile) au moyen des réseaux des objets
communicants équipant l'EISTI, afin d’automatiser ou de simplifier diverses tâches
pour ses utilisateurs. Plus précisément, cette application permet de suivre les
déplacements des personnes à l'EISTI au moyen des capteurs installées à un
certains points d'intérêt et les smartphones, tablettes ou encore les smart-watches
possédés par les utilisateurs.
11


2. Ensuite, les données échangées entre les objets connectés seront collectées
et sauvegardées dans la base des données. Les techniques d'analyses des données

massives seront utilisées afin d'analyser et d'extraire les informations précieuses à
partir de ces données immenses.
Le problématique du sujet nécessite l'utilisation des iBeacons, c'est un type de
capteur qui ne diffuse que les signaux Bluetooth 4.0 LBE périodiquement sans
effectuer d'autre opération. Ces signaux seront utilisés par l'application afin d'avoir une
application intelligente.
Des exemples du fonctionnement essentiel de l'application sont données :
l'application pourrait être utilisée par les nouveaux arrivants à l'EISTI afin de les
guider vers leurs prochaine salle de cours. Dans ce cas, il faut utiliser des informations
récupérées de AREL. Un autre exemple, dans les jours de JPO(Journées portes
ouvertes), les parents et leurs enfants pourraient suivre un parcours prédéfini
agrémenté des commentaires afin de découvrir l'école. De plus, les associations de
l'école pourraient utiliser l'application pour diffuser des événements qu'elles
organisent. Enfin, les utilisateur.s pourraient partager leur degré de satisfaction de
point d'intérêt où ils se trouvent.

1.3 Plan de travail
Travaux théoriques :
- Étudier les points principaux liés à ce sujet
+ Internet of Things
+ Déterminer les besoins du système, concevoir le modèle du système
+ Les différents type du capteurs, iBeacons
+ Les technologies de géolocalisation en intérieur
+ Crowdsensing
+ Les données des capteurs
+ La carte en intérieur (indoor mapping)
+ La base de données compatibles avec le projet (NoSQL, Base de
données rationnelle)
- Étudier les techniques de l'analyse les données massives
+ Données massives, les données d'iBeacon

+ Les algorithmes de data mining, d'apprentissage automatique, Hadoop,
Map-reduce paradigme
Travaux pratique :
- Modéliser les données en intérieur, la carte intérieur (indoor map)
- Choisir la base de données la plus compatible pour ce projet
- Conception de la base des données basé sur le DBMS choisie
- Développement des Web Services
- Chercher à comprendre Hadoop, Map-Reduce et les appliquer avec
MongoDB dans l'application

12


Chapitre 2 Recherche Bibliographie
Dans cette chapitre, nous allons vous présenter un état de l'art des notions liés
au sujet et déterminer les approches possibles afin d'implémenter ce projet.

2.1 Analyse les besoins du système, concevoir le modèle du système
Comme décrit dans la partie de l'introduction, ce projet se situe dans les
domaines d'application des réseaux des capteurs, les technologies de géolocalisation en
intérieur, et l'analyse des massives données. Le projet sera développés au moyen de
réseaux de capteurs. L'objectif principal est de construire un système qui fournie des
ressources nécessaires à l’application mobile qui sera utilisé par les professeurs, les
étudiants, les professionnelles de l'EISTI.
Cette application permet de :
- Guider les chemins afin de visiter l'EISTI
- Chercher un point d'intérêt (salle de cours, salle de réunion…)
- Chercher les chemins
- Faire une évaluation sur un point d'intérêt
- Diffuser les événements

- Chercher la position d'une personne à l'EISTI
- Vérifier la présent/l'absente d'une personne
- Savoir quantité de personnes dans un coin
- Évaluer la satisfaction
- Analyser et donner des suggestions, prédictions en basant les
comportements d'utilisateurs, et les données historiques

2.2 Études bibliographiques
2.2.1 Les capteurs et les différents types des capteurs
Le capteur est un appareil physique qui mesure les quantités, les phénomènes
physiques.
A. Les différents types de capteurs en terme de l'objet capturés :
1. Accéléromètre
3. Capteur chimique
5. Capteur de débit/débitmètres
7. Capteur magnétique
9. Capteur de proximité
11. Capteur de température

2. Capteur de mouvement
4. Capteur d'humidité
6. Capteur de force
8. Capteur de pression
10. Capteur de son
12. Capteur de vitesse

B. Les types de capteur en terme de fonctionnement
En se basant sur le critère d'émission d'énergie:
1. Capteur passif : les capteurs diffuseront les signaux quand un
événement se produit.

2. Capteur actif : les capteurs diffuseront les signaux périodiquement.
En se basant sur le critère de source de données :
13


- Proprioceptif : Capturer les données de l’intérieur
- Extéroceptif : Capturer les données de l'extérieur
C. Les types de capteur en terme de signaux envoyés
- Signal analogique
- Signal numérique

2.2.2 Crowdsensing
Mobile Crowd Sensing (MCS) présente un nouveau paradigme de détection
basé sur la puissance du dispositif mobile.
La définition officielle de MCS «A formal definition of MCS is a new sensing
paradigm that empowers ordinary citizens to contribute data sensed or generated from
their mobile devices, aggregates and fuses the data in the cloud for crowd intelligence
extraction and people-centric service delivery.» [4]
Mobile crowdsensing est un nouveau paradigme qui permet aux habitants de
communiquer les données récupérées par leurs capteurs. Ensuite, ces données sont
traitées et analysées afin d'extraire les connaissances.
Les topologies de crowdsensing
Critère
Types de
crowdsensing

Participation des utilisateurs Les phénomènes sont mesurés
dans processus de crowdsensing
Crowdsensing participant


Crowdsensing Environnemental

Crowdsensing opportuniste

Crowdsensing d'infrastructure
Crowdsensing social

Table 1 Les types de crowdsensing
Essentiellement, les données sont générées par deux modes :
- Mobile sensing : les données sont créées automatiquement sans avoir besoin
d’interagir avec la personne
- Users : les données sont créées en se basant sur les comportements
d'utilisateurs

2.2.3 Géolocalisation en intérieur
Comme défini dans la partie précédente, la technique de géolocalisation est une
partie essentielle dans ce projet, la localisation se réfère au problème de la calcul ou de
l'estimation de la position d'utilisateurs dans une région spécifique qui est modélisé par
une carte. La géolocalisation en intérieur vise à résoudre ce problème dans un bâtiment
spécifique ou un ensemble de bâtiments où les signaux GPS fonctionnent trop
faiblement à cause des obstacles. Par conséquent, l'approche actuelle est d'utiliser un
infrastructure des expéditeurs dans un bâtiment.
La mission de géolocalisation en intérieur est de calculer la position de
récepteur(smartphone, tablette, smartwatch…) en se basant sur les signaux des
expéditeurs bien connus et une carte intérieure.
14


Il y aura donc des questions à remplir pour la partie de recherche :
- Quels sont les expéditeurs, les signaux (Bluetooth, Wifi...) qui seront

utilisés dans ce projet?
- Comment calculer et préciser la position intérieure au moyen des
signaux?
- Comment construire une carte en intérieur?
- Comment sont les fonctionnements du système?

2.2.3.1. Les signaux utilisés pour géolocalisation en intérieur
La plupart des approches courantes dans la littérature et dans les systèmes
commercialisés utilise radio-fréquence (Wifi, bluetooth, VLC …). Le table suivant
fourni une comparaison entre les techniques qui permettent d'effectuer les mesures en
intérieur.

Table 2 Comparaison entre les signaux utilisés pour géolocalisation en intérieur [5]
Dans ce projet, nous avons décidé de choisir l'approche d'utilisation
d'expéditeurs Bluetooth. En fait, Apple a introduit une norme intitulé iBeacon basé sur
la spécification Bluetooth 4.0 Low Energy(BLE). C'est une nouvelle méthode de
communication appelé ATT(Attribute Protocol) qui optimise la taille de package
utilisé. En utilisant les BLE, les iBeacons peuvent fonctionner pour une longue durée.
La choix d'expéditeurs Bluetooth en raisons du fait que l'EISTI est une école
multi-étages, donc les GPS ne fonctionne plus dans les bâtiments. Chaque étage
compose à plusieurs salles. L'utilisation de Wifi pour la localisation n'est plus précise,
puisque la puissance de signal Wifi devient faible quand elle passe les murs entre les
salles. L'image qui suite est la carte d'un bâtiment de l'EISTI.

15


Figure 1 La carte du premier étage du
bâtiment CAUCHY de l'EISTI
De plus, avoir beaucoup d'expéditeurs de Wifi dans toutes les salles n'est pas

vraiment nécessaires et complexes à déployer. Par contre, les iBeacons peuvent
fonctionner pour une longue durée sans avoir besoin de recharger l'énergie et facile à
déployer. En outre, selon la spécification et la situation du contexte, nous avons besoin
d'une approche la plus précise. Car, l'EISTI est une petite école. Les salles ne sont pas
très grandes et l'espace de couloirs sont de 2 à 2.5 mètres. L'utilisation la technologie
Bluetooth est un meilleur choix dans ce cas.
Les appareils utilisés sont les iBeacons, fondamentalement, les iBeacons ne
diffusent que les signaux Bluetooth. Les Smartphones doivent être activés le
fonctionnement de Bluetooth afin de détecter ces signaux et déterminer les distances
entre lui et les iBeacons, et aussi les autres mesures tel que RSSIs.

2.2.3.2. Données de capteurs
Profondément, les iBeacons diffusent les paquets dans un intervalle spécifique
Les iBeacons ont défini une structure des données spécifique pour les paquets diffusés.
[6]

16


Figure 2: La structure de paquet des données bluetooth
La plupart de champs n'est pas utile. Il n'y a que quatre champs les plus
importants pour calculer la position qui sont UUID, major, minor, Tx power. Les
UUID, major, minor permettent d’identifier uniquement l'iBeacon. Ces attributs
peuvent être configurées manuellement afin de grouper les expéditeurs en groupe. Et le
Tx-Power est la puissance de RSSI en mettre. En effet, Apple a développé un API
travaillant avec les iBeacons, qui nous permet de prendre des valeurs d'attributs
facilement telles que la distance, les valeurs de RSSI ...

2.2.3.3. Algorithmes de la position intérieur
Le problème qui se pose est de localiser la position à partir des informations

telles que distances, valeurs de RSSIs récupérés des iBeacons. Il y a plusieurs
algorithmes qui ont été proposés dans les littératures et les articles scientifiques afin de
pouvoir localiser la position en intérieur. Ci-après quatre approches principales qui
sont mentionnées dans la plupart des documents.
Trilateration : besoin de trois expéditeurs (iBeacon). Les beacons ont une
portée spécifique qui est déterminée par un rayon comme sphère de 3D. La position
courant est la où les trois cercles se chevauchent. Par conséquent, la position est
déterminée par les mesures de distances.
Triangulation : ressemble à Trilateration. La différence est que le
Triangulation concerne la mesure des angles basé sur la direction du signal au lieu de
la mesure des distances. Cette méthode ne peut pas être utilisé avec les iBeacons. Car,
l'API de Apple ne permet pas de récupérer les valeurs d'angles.
Fingerprinting : L'idée principale de fingerprinting est de créer une map de
vecteurs qui mesure à chaque position spécifique à la première étape. Les vecteurs et
les locations seront stockés dans la base des données. Deuxième étape, localiser la
position, les appareils retournent un vecteur de mesure, ce vecteur sera comparée avec
les vecteurs sauvegardés dans la première étape afin de trouver le vecteur le plus
proche et retourner la position respective. Fingeprinting peux donner les résultats très
précises. Mais, il faut créer une large map entre la position et les vecteurs de mesure.
Cette mission sera impossible dans un grand espace.
Time of Flight : calculer la distance entre le expéditeur et le récepteur en se
basant le temps que les signaux a pris pour la transmission. [6]
Ceci dépend du contexte, plusieurs approches serons combinées au même temps
17


pour donner le résultat le plus précis. Des fois, la solution aura besoin de la
coopération côté serveur et client. Toutefois, dans cette implémentation et pour faute et
le manque de matériel, nous avons décidé d'implémenter les algorithmes de
localisation côté client (l'application).


2.2.3.4 Carte en intérieur
Les données de géolocalisation sont modélisées par une carte. La construction
de la carte est une étape important avant de localiser les positions. Le problème de
géolocalisation en intérieur a besoin des informations géographiques en détaillé pour
tous les objets intérieurs telles que salles, positions installées de iBeacons. Pourtant, les
données géographiques récupérées en ligne comme Open Street Map, Google Map ne
sont pas suffisant pour localiser la position en intérieur. Actuellement, les données
géographiques disponibles sont les données en extérieur telles que les chemins, les
routes, les bordures des bâtiments, les rivières, les océans, les points d'intérêt... La
construction de la carte dans un bâtiment plusieurs étages, un aéroport ou une région
où on n'a pas des données géographiques détaillées afin d'implémenter les
caractéristiques en intérieur est très nécessaires.
Pour implémenter une systèmes de géolocalisation en intérieur, la carte en
intérieur (indoor map) est un composant très important. Dans cette section, nous allons
présenter un processus de construction d'une carte en intérieur. Ce travail présente les
recherches au problème de la création d'un systèmes d'information en utilisant les
information et géolocalisation en intérieur. Fondamentalement, la carte en intérieur
ressemble à la carte en extérieur, nous aurons besoin de représenter les chemins, les
points d'intérêt…
Ces années dernières, quelques solutions ont été proposées pour construire une
carte en intérieur. Google, probablement est le plus grand fournisseur de la carte en
intérieur «Google Map Indoor» projet. Il compose des composants, un web service
permet de télécharger la carte intérieure, la technologie visualise la carte et une
application de mobile est pour localiser la position. Pourtant, leur usage est limité aux
bâtiments public et leur carte n'est pas mise à jour automatiquement. Une autre
solution ESRI est aussi considéré un des pionniers des sociétés livrant information
géographique. Leur projet est un paquet complète pour la carte en intérieur, 2D, 3D et
visualisation et routage. Et finalement, il faut mentionner Bing Venue Map de
Microsoft Indoor Map service. [8]

En effet, tous les solutions sont encore sous le développement. Et elles sont tous
non-open source. Dans mon stage, j'ai décidé de choisir l'approche open-source pour
créer les cartes en l'intérieur. Nous avons donc étudié Open Street Map(OSM) and
l'outil JOSM et les données d'OSM.
Open Street Map(OSM) est un projet collaborative pour créer une carte
éditable librement du monde. Les données récupérées de OSM
( sont mises sous forme de XML dans un fichier
*.osm. Visuellement, ce sont les bordures des bâtiments, les chemins, et les points
d'intérêts. Les données en intérieur dans les bâtiments tels que salles, couloirs,
18


ascenseurs, ne sont pas représentés dans OSM. La description des objets intérieurs sera
créée manuellement.
L’outil JOSM est un éditeur de cross-platform pour l'OSM écrit en Java. En
installant des plu-gins tels que Picture Layer, Indoor Mapping Helper. Ce sont les
extensions de JOSM qui nous permettent de créer les données, de décrire les
composants intérieurs en dessinant et définissant des attributs ou des propriétés
intitulés tags dans les fichiers *.osm. L'image ci-dessus est un exemple d’une région
géographique représenté par JOSM

Figure 3: Logiciel JOSM et la représentation de la carte de l'EISTI récupéré de
l'OSM

En regardant la moitié à droit de l'image, le Tags/Memberships est l'endroit où
nous définissons les attributs et les propriétés. Les manipulations sur ce logiciel sera
décrit en détaillé au chapitre 3. La suite donnera les attributs intérieurs à définir dans
les données d'OSM. Supposons que nous avons une carte d'un bâtiment de l'EISTI
décrite dans un fichier *.osm. Ce que nous devons fabriquer maintenant est de décrire
les objets géographiques en intérieurs dans le bâtiments à travers les attribues et les

propriétés bien prédéterminés.
Tous d'abord, on a besoin de connaître le nombre d'étages du bâtiment. En
utilisant Indoor Mapping Helper (Indoor Mapping Helper est représenté sur la figure 3
au fond à droit), nous pouvons définir les deux attributs suivants:
Highest level : y ème étage (étage maximal de bâtiment)
19


Lowest level : x ème étage (étage minimal de bâtiment)
Après avoir défini ces attributs, le fichier *.osm est mis à jour. Maintenant, nous
pouvons choisir l'étage que nous voulons décrire les composants géographiques. Et,
plusieurs autres composants et leurs attribues seront définies comme les tags dans le
fichier *.osm. La liste qui suite présente les composants ayant besoin d'être décrits
dans un bâtiments.
Rooms : la salle(salle de cours, salle de réunion)
Couloir : le couloir
Elevator : l'ascenseur
Stair : l'escalier
Door : la porte
Entrance/Exit : l'entrée/sortie
Toilet : le toilette
Beacons : le capteur iBeacon
Level : l'étage
Plug-in Helper Indoor Mapping nous fournis un ensemble des attributs
prédéfinis ou des tags pour que nous puissions représenter les composants intérieurs.
Les objets intérieurs proposés par Helper Indoor Mapper sont présentés en cliquant sur
son menu Object :
SHELL : la bordure
CONCRETE_WALL : le mur en béton
GLASS_WALL : mur de vitre

TOILET_MALE : toilette pour les hommes
TOILET_FEMALE : toilette pour les femmes
ELEVATORS : ascenseur
STAIRWAY : escalier
STEPS : chemin d'escalier
DOOR : porte
ENTRANCE : entrée
Pourtant, il y a des limités si on n'utilise que ce plu-gin,
- Non-connexion entre les différentes étages.
- C'est juste une représentation graphique
- Ne pas adapter à routage
- Ces définitions des objet dans ce plug-in n'ont pas suivi une norme. [7]
À mon avis, ces attributs fournis par ce plu-gin ne sont pas suffisants afin de
pouvoir décrire les composants intérieurs et les utiliser dans la venir. Par conséquent,
nous aurons besoin de déterminer d'autres représentations communes ou un ensemble
d'attributs assez complet pour définir les objets, les chemins en intérieur afin de
répondre les besoins du système. C'est pourquoi la suite, nous avons essayé d'améliorer
les propositions et les concepts qui ont été proposé dans des articles scientifiques et la
littérature pour la description des objets intérieurs.[8]

20


Salle :
addr:flat = le numéro de salle (CY201, CY206 ...)
building:part = room
indoor:level = * {0, 1,2 ...}
name = nom de salle (Pôle technologie, Laris ...)
building = nom de bâtiment (CAUCHY ...)
Corridor :

building:part = corridor
indoor:level = * {0,1,2 ...}
highway = foodway
building = nom de bâtiments
Stairs :
building:part = stairs
indoor:level = x to y
highway = steps
building = nom de bâtiments
Porte :
addr:flats = (numéro de salle) la salle que on peux entrée en passant
cette porte
entrance = yes
ref = (nom de salle)
indoor:level = *
building = nom de bâtiments
Entrée :
access = yes
building = nom de bâtiment
foot = yes
indoor:level
maxwidth =
Sorti :
entrance = exit
access = yes
indoor:level = *
foot = yes
building = nom de bâtiments
Beacons
Id = UUID + minor + major de iBeacon

indoor:level = *
man-made = beacon
name = nom de beacon
building = nom de bâtiments
Les iBeacons ont besoin d'être représentés dans la carte. Car, les informations
des iBeacon (l'identité, la position) seront nécessaires pour l'algorithme de localisation
de la position intérieure.

21


Elevator
building = nom de bâtiment
building:part = elevator
Il y a un composant qui sera défini comme un point intermédiaire. Ces points
sont définis à la place d'ascenseurs et d'escaliers. Ce point est appelé Switching-Point
qui aura les attribues:
Switching-Point
building = nom de bâtiments
Indoor-level : x to y (de étage x à étage y)
Le rôle de ce point est comme les ponts entre les étages différents qui
permettent de chercher les chemins sur multi-étages. Le problème de la recherche des
chemins sera présenté dans le chapitre 3.
En effet, il y avait des articles scientifiques qui contribuait au le problème de la
construction de la carte en intérieur. Un des eux, l'article le plus récent est «Using
Open Street Maps data and tools for indoor mapping in a Smart City scenario».
Dans cet article, les auteurs ont essayé de donner un ensemble d'attributs afin de
définir les composant en intérieur. Fondamentalement, mon approche est basé sur
l'approche de cet article. Mais, j'ai décidé de changer l'ensemble d’attributs afin
d'adapter les besoins du contexte dans le projet.

Nous allons voir une comparaison entre deux approches :
Mon approche

Approche de l'article

Room
- addr:flat
- building:part
- indoor:level
- name
- building

Room
-Buildingpart
-name

Corridor
- building:part
- indoor:level
- highway
- building

Corridor
- buildingpart

Stair
- building:part
- indoor:level
- highway
- building


Stair
- buildingpart
- buildingpart:verticalpassage
- buildingpart:verticalpassage
: floorrange
- level
- name

Elevator
- building
- building:part

Elevator
- buildingpart
- buildingpart:verticalpassage
22


- buildingpart:verticalpassage
:floorrange
- level
- name
Door
- addr:flats
- entrance
- ref
- indoor:level
- building


Door
- door

Entrance/Exit
- access
- building
- foot
- indoor:level
- maxwidth
Beacon
- Id
- indoor:level
- man-made
- name
- building
Switching-Point
- building
- Indoor-level
Table 3 Une comparaison entre mon approche et l'approche existante
En regardant le table 3, nous pouvons voir que dans mon approche plusieurs
attributs et composants différent qui ont besoin être définis et sauvegardés afin de
faciliter les taches du projet.
Les résultats obtenus après avoir utilisé JOSM pour créer une carte intérieurs
est mis à jours dans le fichier *.osm. Avant d'utiliser les données géographiques pour
implémenter les fonctions du système, nous aurons besoin de transformer *.osm à la
formate de *.GeoJSON et normaliser les données GeoJOSN obtenues. Les raisons
seront expliquées dans la chapitre 3. Fondamentalement, GeoJSON est un format pour
encoder une variété des structures de données géographiques sous forme de JSON.
Autrement dit, nous allons travailler sur les données JSON au lieu des données XML.


23


2.2.3.5 Le fonctionnement du système

Figure 4: Architecture du système

2.4 La choix de la base des données
Les données capturées ont besoin d'être sauvegardées dans la base de données
comme les ressources pour le développement de l'application. Le choix d'une base de
données est très flexible. En effet, les données dans le monde sont divisées en trois
types : données structurées, données semi-structurées, donnée non-structurées
- Données structurées : les données rationnelles
- Données semi-structurées : les données de XML, JSON...
- Données non-structurées : les images, pdf , media… [9]
Les données collectées par les capteurs sont les données semi-structurées et
non-structurées même les données polymorphes. Car, dans le contexte du projet,
imaginons que aux différents positions dans les bâtiments, aux différents moments, les
appareils d'utilisateurs(smartphones, tablettes) peuvent détecter, récupérer les
différents ensembles de signaux de Bluetooth. Par conséquent, les données récupérées
par chaque utilisateur n'ont pas la même structure.
En plus, les données historiques est une partie très importante de données à
24


stocker. Chaque utilisateur possède ses données personnelles individuelles qui est
différente d'autres. L'enregistrement des données dans la base de données
relationnelles n'est pas logique. Premièrement, les données seront redondantes.
Deuxièmement, quand les données deviennent très massives, l'accès aux données
prennent beaucoup de temps et ces données ne peuvent pas être sauvegardées sur une

machine.
En outre, le stockage de données géographiques est une partie indispensable
dans ce projet afin d'envoyer la carte au côté d’application. Tandis que, les données
géographiques sont présentées sous forme XML, GeoJSON (données semistructurées).
C'est la raison pour la quelle nous avons choisi une approche de NoSQL(Not
Only SQL Database). NoSQL soutient le stockage de données semi-structurées et nonstructurées tandis que, la base de données rationnelles est conçue pour sauvegarder les
données structurées. NoSQL est aussi une approche de gestion de données très utile
pour le stockage d'une très grande quantité de données en mode distribué.
Essentiellement, NoSQL est divisé en quatre types :
- Key-value Stores : L'idée principale est fondamentalement d'utiliser une table
de hachage dans la quelle il existe une clé unique et un pointeur vers un élément
particulier de données. Un seau est un groupe logique des clés - mais ils ne regroupent
pas physiquement les données. Il peut y avoir des clés identiques dans des différents
seaux. La performance est grandement améliorée en raison des mécanismes de cache
qui accompagnent les mappages. Pour la lecture d'une valeur, vous devez connaître à
la fois la clé et le seau, car la clé réelle est un hachage (seau + clé).
Un exemple : Considérez le sous-ensemble de données représenté dans le
tableau suivant. Ici, la clé est le nom de pays de l'entreprise 3Pillar, tandis que la valeur
est une liste d'adresses des centres de 3Pillar dans ce pays. [10]
Key

Value

“India”

{“B-25, Sector-58, Noida, India – 201301”

“Romania”

{“IMPS Moara Business Center, Buftea No. 1, Cluj-Napoca,

400606″,City Business Center, Coriolan Brediceanu No. 10, Building
B, Timisoara, 300011”}

“US”

{“3975 Fair Ridge Drive. Suite 200 South, Fairfax, VA 22033”}
Table 4 Un exemple Key-value Stores

La clé peut être synthétique ou générée automatiquement et la valeur peut être
String, JSON, BLOB (objet de base) etc.
Alors que la base de données clé/valeur semble utile dans certains cas, mais il a
quelques faiblesses ainsi. D'une part, le modèle n'offrira aucun type de capacités de
25


×