251668992
251667968
PROJET GEOMATIQUE PERSONNEL
Sur
L'Etude d'un système de navigation basé sur la
plateforme open source ``Mapsforge''
Par KAMPEMPE KILIMALI Damien
Master II (IASIG) Informatique Appliquée
Aux Système d'Information Géographique
À l'université de Douala au Cameroun
Dans le projet FOAD-AUF
Matricule : 14M2IASIG13
Année académique 2013-2014
Résume
Ce présent projet porte sur une étude d'un
système de navigation basé sur la plateforme open source
Mapsforge. Noustentons ici de mettre en place l'utilisation de cette
bibliothèque dans la ville de Bukavu à partir d'une carte
OpenStreetMap offline.Dans ce projet, nous avons fait une étude
théorique sur l'état de lieu d'un système de navigation
basé sur la plateforme open source MAPSFORGE et son
applicabilité.
Mot clé :
sigAndroïde, système de navigation, Mapsforge,
rendu carte offline
Table de matière
Résume
2
Mot clé :
2
Table de matière
3
Liste des images, tableaux et graphiques
4
Introduction
5
Chapitre I : Etat d'art sur la plateforme
Mapsforge
8
I.1. brève présentation de la
bibliothèque Mapsforge
8
I.1.1. composition et Conception de Mapsforgeformat
de fichier binaire de carte
9
I.1.2. Remarques générales
10
I.1.3. Structure de fichiers
10
I.1.4. Historique des versions
14
I.2. les Applications utilisant Mapsforge sur
Androïde avec de données OpenStreetMap
17
I.2.1. brève Introduction sur les
applications
17
I.2.2. OSMtracker v0.6.6
17
I.2.3. OsmAnd 1.6.5 beta
18
I.2.4. OruxMaps 5.5.11
20
Chapitre II : procédure d'utilisation
de Mapsforge
23
II.1.Introduction sur l'utilisation
23
II.1.2. Utilisation Plugin
23
II.1.3. Définition d'une cartographie de Tag
personnalisé via XML
26
II.2. RenderThemeAPI
27
II.2.1. Introduction
27
II.2.2. Règles
27
II.2.3. Rendu Instructions
28
II.2.4. Fond de carte
28
II.3. Mise en route de cartographie mobile rendant
sur Androïde
29
II.3.1. Utilisez la bibliothèque de la carte
dans votre application
29
Chapitre III : Application sur la ville de
Bukavu
30
III.1. configuration matériel, logiciel
utilise et technologie
30
III.2. téléchargement de
données et Présentation de l'application
BukavuMapsforgeAndroïde (BkvMfA)
31
Conclusion
34
Bibliographie
35
Webographie
35
Liste des images, tableaux
et graphiques
Figure 1 et 2 : capture d'écranOSMTracker for
Androïde
Figure 3,4 et 5 : capture d'écran OsmAnd Points
d'intérêt et Traces dans OsmAnd
Figure 6 et 7 : capture d'écran OruxMaps
Figure 8 : groupe d'image reflétant le travail
réalisé par la bibliothèque Mapsforge sur Berlin
Figure 9 et 10 : capture d'écran du site
OpenStreetMap pour l'exportation du fichier Osm.pbf et en dessous le choix de
zone
Figure 11 : capture d'écran de la console Ms DOS
avec l'utilisation de la commande osmosis
Figure 12 : capture d'écran de l'éditeur
Andoïdee Studio sur le fichier MainActivity.java
Figure 13 : capture d'écran du lancement de
l'emulator de test
Figure 14 : présentation de l'affichage de la
carte de Bukavu sur l'appareil Androïde en offline
Tableau 1 : synthèse des applications utilisant
Mapsforge
Tableau 2 : options de bases
Tableau 3 : options avancées
Tableau 4 : règles
Introduction
L'informatique, une science par excellence au carrefour de
plusieurs disciplines fait preuve de son temps. Il change l'aire, le rythme de
la pensée etla compréhension de beaucoup de choses dans la
nature. Elle marque l'apogée de la technologie par sa vitesse
incommensurable dans la découverte scientifique et l'innovation de la
création des outils et techniques de résolution de
problème et de facilitation à réaliser certaines
tâches de la vie.
La géographie est venue se coller à
l'informatique pour donner naissance à une nouvelle discipline
appelée géomatique ou géographie informatique. Cette
nouvelle vision révolutionne la recherche étant donné que
l'automatisation des aspects géographiques donne à l'homme la
possibilité de prédire par une projection, une vision
cartographique de la nature. A cet état des choses, les yeux de l'homme
dépasse son champ de vision pour regarderles horizons à travers
la carte qui donne la possibilité d'une orientation dynamique et
automatique selon le contexte et peut aider à la prise de
décision à partir d'un système de navigation.
Pourcette fin, plusieurs outils sont déjà mis en
place.Néanmoins, dans notre cas, nous avions jeté un regard
particulier à la bibliothèque Open sourceMAPSFORGEqui, dans la
cartographie numérique est en train d'apporter des innovations à
partir de ces caractéristiques particulières. Cette
dernière estdéveloppéeà l'université de
Berlinet joue un rôlespécifique à partir de ces outilset de
son intégration dans plusieurs autres technologies notamment
Androïde. Elle est multi plateforme et utilise la technologie OSM qui fait
aussi preuve dans la cartographie numérique en ligne parce qu'elle est
une réussite d'un serveur cartographique en ligne.
Dans le cadre de ce projet, nous fixons notre attention
surMAPSFORGE sous Androïde en vue de faire un état de lieu de
l'étude d'un système de navigation basé sur la plateforme
open source MAPSFORGE et son applicabilité dans une ville. Ceci pourra
contribuer tant soit peu à la résolution des
problèmesqu'un voyageur de commerce peut connaitre, car il est
observé depuis belle luretteque ce problème reste réel et
scientifique.Dans plusieurs villes, les embouteillages dans la circulation de
véhicule peut arrêter tout un système de trafique routier
dans son bon fonctionnement, mais aussi la recherche de point
d'intérêt dans une ville comme des hôtels, de restaurants,
de Bâtiment administratif et/ou de service de sécurité, de
lieu de prière ou de divertissement.Vu les multiples problèmes
évoqués ci-haut, il est impérieux d'aborder ledit projet
sous forme d'une question ouverte susceptible denous orienter dans cette
démarche. Les questions qui se sont dégagées sont celles
de savoir si :
La bibliothèque MAPSFORGE contient-elle de fonction
capable de palier le problème de voyageur de commerce ? Cette
bibliothèque fonctionne-t-elle avec la technologie Androïde ?
Peut-elle être bien adaptée dans la ville de Bukavu ?
Les réponses provisoiresréservéesaux
questions ci-haut poséessont considérées à titre
des hypothèses. Ainsi le projet vérifiera par la suite si elles
sont confirmées, infirmées, ou nuancées. Voici les
hypothèses émises :
- La bibliothèqueMAPSFORGE serait un outil bien
adapté dans la résolution de problème de voyageur de
commerce à partir de différentes fonctions qu'elle renferme.
- La version actuelle de MAPSFORGEfonctionnerait correctement
avec la technologie Androïde.
- Les applications créées à partir de
MAPSFORGE seraient adaptables dans n'importe quel point du monde en
général et la ville de Bukavu en particulier.
Pour arriver à vérifier nos hypothèses,
quelques approches méthodologiques seront de mise
- L'approche historique
- L'approche structuro-fonctionnel
- L'approche analytique
- L'approche adaptative
A ce titre quelques moyens pour soutenir nos méthodes
ont été utilisés comme techniquesà savoir :
- La technique documentaire
- La technique de navigation sur internet
- La technique d'utilisation de forum
- La technique de surfage avec de mail
- La technique de chat
Ce présent projet poursuit comme objectif de faire une
étudethéorique sur l'état de lieu d'un système de
navigation basé sur la plateforme open source MAPSFORGE et son
applicabilité dans la ville de Bukavu.
Le choix de ce thème a été dicté
par la proposition de Dr MVONGO de l'université de Douala de par la
perspective d'avenir et les innovations que présente cette
bibliothèqueL'intérêt personnel enétudiant cette
bibliothèque il engorge plusieurs fonctions pluridisciplinaires et peut
résoudreplusieursproblèmes de la vie sur le plan
géographique, cartographique, médecine exercice cardiaque,
gestion de transport, gestion de temps, orientation de visiteur, gestion de
jeu, conduite de vélo. Mais aussi au niveau scientifique le
présent projet servira des éléments de base
théorique a tout chercheur qui veulent étudier cette
bibliothèque et/ou un laboratoire qui cherche à l'utiliser car il
va regroupe plusieurs éléments sur la bibliothèque d'une
manière organisé et synthétisé pour être
compréhensible par le commun de mortel.
Toutefois,le présent projet est circonscrit dans le
temps et dans l'espace, mais aussi sur le plan analytique. Spatialement, il est
réalisé dans la ville de Bukavu, province du Sud-Kivu en
République Démocratique du Congo. Du point de vue temporaire
c'est un projet de 2014-2015. Dans son plan analytique, il porte sur
l'état de lieu de la bibliothèqueMAPSFORGE sous Androïde et
son applicabilité adaptative dans la ville de Bukavu.
La rédaction de ce projet s'articulera en trois
chapitres hormis l'introduction et la conclusion. Le premier chapitre va parler
de l'état d'art de la bibliothèqueMAPSFORGE. ilsera question de
présenter quelquesconcept clés relatifsà la
bibliothèque et présenter quelques projet utilisant la
bibliothèque aprèsavoirparlé d'une brève
historique. Le deuxième chapitre prend en charge la procédure
d'utilisation de la BibliothèqueMAPSFORGE.nous donnerons des
explications détaillées et claires pour l'utilisation de la
bibliothèque et les différentes finalités.Enfin, un cas
concret doit être choisi pour faire l'objet de la troisième
chapitre qui, a son tour cherche à adapter cette application dans une
réalité de la ville de Bukavu avec comme un exemple type bien
défini.
Chapitre I : Etat d'art
sur la plateforme Mapsforge
I.1. brève
présentation de la bibliothèqueMapsforge
Mapsforge est une bibliothèque ad-hoc sur le rendu de
carte sur Androïde basée sur OpenStreetMap créée par
les étudiants de l'université de FreieUniversitäten2008.
Cette bibliothèque permet de créer de logiciel libre fonctionnant
sur le fichier en format compacte pour un rendu de carte rapidement sur des
appareilléger comme tablette, téléphone, sous technologie
Androïde à partir de données OpenStretmaps. Pour mieux
appréhender Mapsforge dans le cadre de ce projet nous allons
présenter la spécification d'un fichier binaire de carte pour
Mapsforge. Le format de fichier de la carte binaire de Mapsforge est
conçu pour de carte rendu sur les appareils disposant de ressources
limitées comme les téléphones mobiles. Il permet un
stockage efficace de l'information géographique (par exemple des
données OpenStreetMap), l'accès à base de tuiles rapides,
et le filtrage des objets de la carte par le niveau de zoom.Mapsforge (site web) propose un open-source,
déconnecté vecteur carte de bibliothèque gratuit pour les
applications basées sur Java et Androïde. Avec l'API simple
d'utilisation, vous pouvez construire votre propre application de carte avec
seulement quelques lignes de code.
L'objectif global du projet de Mapsforge est de fournir une
boîte à outils libres et ouverts qui permet à la
communauté de créer facilement de nouvelles applications
basées sur OpenStreetMap. Des outils et des API fournis comprennent des
solutions pour carte rendu, la carte des superpositions, des cartes de
téléchargement et plus. Une application des échantillons
pour Androïde est disponible sur le projet lui-même et plusieurs
applications de tiers utiliser Mapsforge. Swingmapviewer est disponible pour
une utilisation sur les ordinateurs de bureau.
Le projet Mapsforgea été lancé en 2008
à l'Institut d'informatique de la FreieUniversität de Berlin et est
désormais maintenu par des bénévoles. Après une
longue interruption, la version 0.4.0 a été publiée en mai
2014 qui a été considéré comme une version plus
stable.
Avantages et inconvénients de la bibliothèque de
cartes de Mapsforge:
- Rendu sur l'appareil de données OpenStreetMap
- Sa Puissance et sa flexibilité avec des API de
recouvrement
- Format de fichier compact pour carte de stockage de
données
- Soutien aux gestes multi-touch (par exemple
pinch-to-zoom)
- Très détails élevés (soutien
à ~ 200 balises de l'OSM)
- Fonctionne sur tous les appareils avec Androïde 2.3 et
supérieur
- Petite bibliothèque (~ 400 KB, y compris les sources
et les images)
- Facile à utiliser l'API et l'application du
modèle.
- 100% libre et open source (licence LGPL)
- Rendu des zones d'eau est facilement brisée par des
erreurs communes dans les données de la carte
I.1.1. composition et Conception de Mapsforgeformat de fichier
binaire de carte
Mapsforge se compose des éléments suivants:
- Mapsforge-core: plate-forme de composants
généraux non spécifiques et des interfaces.
- Mapsforge-plan: les éléments non
spécifiques de la plate-forme utilisée pour affichage de la
carte.
- Mapsforge-carte-lecteur: plate-forme de code non
spécifique à lire Mapsforge fichiers cartographiques.
- Mapsforge-carte-Androïde: éléments
spécifiques Androïde
- svg-Androïde: une bibliothèque SVG adapté
pour afficher des fichiers SVG comme des icônes. Les pots de construire
des composants ci-dessus sont des éléments nécessaires
pour une application Mapsforge sur Androïde.
- Mapsforge-carte-awt: Java seule bibliothèque pour
afficher des cartes Mapsforge.
Le code de Mapsforge a été consolidé en
deux branches principales ainsi que les rejets notamment la branche :
- maître: la dernière branche de
développement stable. Utilisez cette option si vous voulez utiliser les
fonctionnalités de Mapsforge nouvelle qui n'a pas encore
été publiée, mais vous voulez toujours une certaine
stabilité.
- dev: développement instable, offre en cours. Utilisez
cette option si vous voulez les dernières fonctionnalités de
développement et vous pouvez vivre avec une certaine instabilité.
La version 0.4.0 presse, utilisez cette option si vous voulez
créer des applications construites sur le dessus de code bien
testé et stable. Le code avant la sortie 0.4.0 n'est plus
supportée et si vous êtes débutant développement
avec Mapsforge, son utilisation est fortement déconseillée.
Pendant un certain temps, ce qui est devenu la libération. La version
0.4.0 a été connue comme la branche «sauvetage», tout
ce qui est connu comme dev maintenant était la branche
«sauvetage-exp. Rescue a été fusionné dans
maître, et le sauvetage-exp est devenu dev. L'utilisation des
dépôts clonés titulaires de ces branches est
découragée, ils ne peuvent exister que pour une période de
transition avant d'être enlevé.
Le fichier de la carte se compose de plusieurs sous-fichiers,
le stockage de chaque objet de la carte pour un intervalle de zoom
différents. Zoom intervalles sont des groupes non-chevauchement des
niveaux de zoom consécutifs. Chaque intervalle de zoom est
représenté par un seul membre du groupe, le
soi-disant niveau de zoom de base.
I.1.2. Remarques générales
a) Toutes les coordonnées de latitude et de longitude
sont stockés dans microdegrés (degrés ×
10 6 ).
b) Les champs numériques avec une taille fixe d'octets
sont stockés avec l'entier Bigdans l'ordre des octets.
c) Champs numériques non signés avec un codage
de l'octet variable sont marqués avec VBE-U INT et
stockés comme suit:
- le premier bit de chaque octet est utilisé pour les
informations de continuation, les sept autres bits pour les données.
- la valeur du premier bit est à 1 si l'octet suivant
est classé dans le champ, 0 sinon.
- chaque octet contient sept bits de la valeur
numérique, en commençant par les moins significatifs.
d) Champs numériques signés avec un codage de
l'octet variable sont marqués avec VBE-S RC et
stockés comme suit:
- le premier bit de chaque octet est utilisé pour les
informations de poursuite, l'autre six (premier octet) ou sept (tous les autres
octets) pour les bits de données.
- la valeur du premier bit est à 1 si l'octet suivant
est classé dans le champ, 0 sinon.
- chaque multiplet contient six premier octet ou sept tous les
autres octets bits de la valeur numérique, en commençant par les
moins significatifs.
- le second bit du premier octet indique le signe du
nombre. Une valeur de 0 signifie positif, 1 négatif.
e) Toutes les chaînes sont stockées en UTF-8
comme suit:
- la longueur L de la chaîne UTF-8 codé
en octets que VBE-U INT.
- L octets pour le codage de la chaîne UTF-8.
I.1.3. Structure de fichiers
Le fichier a la partie métadonnées et la partie
des sous fichiers dans la partie de méta donnée nous retrouvons
le fichier de l'en-tête, et dans la partie de sous fichier nous avons le
segmentd'indice de tuile et le segment de données de tuile et cela pour
chaque sous fichier. A telle point.Pour chaque intervalle de zoom un
soi-disant sous-dossier est créé. Un sous-fichier
est constitué d'un segment d'index de tuiles qui stocke un
pointeur de taille fixe pour chaque tuile créée dans
le segment de données de tuile. L'ordre de stockage des tuiles
sur le segment de données de tuiles et de leurs pointeurs correspondants
au segment d'index de tuile est rangé par rangé et dans une ligne
par colonne. Les lignes et les colonnes sont intrinsèquement
données par la configuration de la grille des tuiles qui est
défini par le cadre de sélection rectangulaire. Pour chaque
tuile dans la grille, les méta-informations sont disponibles dans
la tête de pavé accompagné de ses données
utiles (POI) et les moyens.
Pour lire les données d'une tuile particulière
dans le sous-dossier, la position du pointeur de taille fixe dans l'indice peut
être calculée à partir des coordonnées de
tuiles. Les points d'entrée de l'index à l'offset dans le
sous-dossier où les données sont stockées. Les
coordonnées de tuiles sont implicitement données en raison de la
structure de l'indice de tuile, donc pas de coordonnées de tuiles qui
doivent être stockés le long de chaque tuile.
# Méta-données
de fichiers en-tête
de sous-fichiers #
pour chaque sous - fichier
segment indice # tuiles
tête de l'indice de tuile
entrées d'index de tuile
segment
de données # de tuiles
pour chaque tuile
tête de brique
pour
chaque POI
données de POI
pour chaque moyen
des propriétés de manière
données de façon
a) Métadonnées
- De fichier En-tête
Dans l'en-tête de fichier les 20 premiers octets sont
appelés octet magique et a comme description mapstorge OSM binaire.En
suite, il y a 4 octets réservés pour la taille de l'en-tête
et a comme description taille de l'en-tête du fichier en octets (sans
octet magique) que 4 octets RC puis 4 autre octets pour la version du
fichier. Ces octets sont pour le numéro de version du format de fichier
binaire actuellement utilisée en tant que quatre octets INT
suivront 8 octets pour la taille du fichier.Ici c'est la taille totale du
fichier de carte en octets en suite 8 autre octets prévus pour la date
de création cette date est en millisecondes et cela depuis le 01/01/1970
qui sont en format long. Dans la suite il y a 16 octet pour la boite englobant
décrit comme les coordonnées géographiques de la zone de
délimitation dans microdegrés que 4 * 4 octets RC, dans
l'ordre minLat, Minlon, maxLat, maxLon. Apres cela, il ya 2 autres octets de
taille des carreaux en pixels par exemple 256 bits puis une variable de type
chaine de caractère qui définit la projection utilisée
pour créer ce fichier. Cette variable est suivie d'un octet pour le
drapeau dont le premier bit c'est pourle drapeau de l'existence d'informations
de débogage, le deuxième bit pour le drapeau de l'existence de
la position de début carte champ, le troisième bit pour
le drapeau de l'existence du niveau début zoom champ.Le
quatrième bit pour le drapeau de l'existence de
la préférence linguistique champ. Le cinquième
peut être pour le drapeau de l'existence
du commentaire domaine, le sixième bit pour le drapeau de
l'existence de la création par domaine.Enfin, septième
et huitième sont réservés pour une utilisation
future.
L'en-tête continue avec la position de départ de
la carte en 8 octets qui décrivent les géo coordonnées
dans microdegrés que 2 * 4 octets RC, dans l'ordre lat, lon. Encore
un octet pour commencer le niveau de zoom lors du premier chargement de la
carte. Ensuite, il y a une série de variable de type chaine de
caractère pour la langue préférée pour les noms
tels que définis dans
l'ISO 3166-1. Le
commentaire et le nom de l'application qui a créé le fichier.
Mais il y a deux autres variables, la première pour les balises de POI
et la deuxième, la voie balise tous décrits par la
quantité de balises comme 2 octets COURT.Les noms de variables
comme une des chaînes et l'ID de balise sont implicitement
dérivées de l'ordre des noms de balises, en commençant par
0. Après ces variables, il y a un octet qui définit le montant
des intervalles de zoom utilisé dans ce fichier. Et à la fin une
variable pour la configuration des intervalles de zoom pour chaque intervalle
de zoom.Nous retrouvons le niveau de zoom de base comme BYTE, le niveau de
zoom minimal comme BYTE, le niveau de zoom maximal que BYTE, la
position de départ absolu du fichier comme sous 8 octets LONG, la
taille du sous-fichier comme 8 octets LONG.
b) Sous fichier
i) segment d'indice de tuile
- tête de l'indice de tuiles : Ici il y a 16 octet
pour la signature de l'indice si le bit de débogage dans l'en-tête
de fichier est réglé: +++ IndexStart +++
- entrée d'index de tuile : ici i y a 5 octet
d'entrée d'index dont le premierbit pour le drapeau pour indiquer si le
carreau est complètement recouvert par l'eau (par exemple, une tuile au
milieu de l'océan) et du deuxième jusqu'à
quarantième pour le décalage de la tuile dans le fichier sous le
5-octet LONG (informations de débogage facultative et taille
de l'index est également comptés) Si la tuile est vide
décalage (tuile i ) = OFFSET (tuile i +
1 ).
ii) segment de données de tuile
Pour chaque tuile nous avons :
- Tête de tuiles : cette dernière est
composée de 32 octets pour la signature de la tuile. Si le bit de
débogage dans l'en-tête du fichier est défini: ###
TileStartX, Y ### , où X et Y indiquent les coordonnées de
tuiles de la tuile courante. Le texte est toujours rembourré
à 32 octets en ajoutant des espaces. Après le 32 premiers octets,
il y a aussi deux variables, la première table de zoom c'est un tableau
indiquant le nombre de points d'intérêt et les moyens de cette
tuile pour les différents niveaux de zoom couverts par le sous-fichier
enfermant. Soit Z le nombre de niveaux de zoom pris en charge par le
sous-fichier d'enceinte (par exemple de 6 pour un sous-fichier qui couvre les
niveaux 12-17). Ensuite, la table contient des lignes Z et 2 colonnes
(première colonne: POI, deuxième colonne:
aller-retour). Chaque cellule du tableau représente le nombre de
POI ou des moyens sur le niveau de zoom spécifique. Le tableau est
écrit en ligne et en valeurs sont codées
comme VBE-U INT. Le deuxième c'est la première
façon décalée décrit comme le Décalage en
octets à la première manière cette tuile
comme VBE-U INT. Le comptage commence à l'octet suivant
la première voie se compenser n'est pas compté.
Pour
chaque donnée POI nous avons :
- Données POI : 32 octet pour la signature POI Si
le bit de débogage dans l'en-tête de fichier est
réglé: *** POIStartX*** où X définit
l'OSM-ID du POI; le texte est toujours rembourré à 32 octets
en ajoutant des espaces, puis une variable pour la position de géo
différence de coordonnées dans le coin supérieur gauche de
la tuile courante comme VBE-S RC, dans l'ordre lat-diff, lon-diff, en
suite un octet spécial dont le premier au quatrième bits peu:
couche (OSM-Tag: couche = ...) + 5 (pour éviter les valeurs
négatives) et de cinquième au huitième pour la
quantité d'étiquettes pour le POI. En suite suivra une variable
ID pour chaque étiquette du POI id variable comme VBE-U RC.
Puis un octet pour le drapeaux repartie comme suit : premier bit pour le
drapeau de l'existence d'un nom de POI, deuxième bit pour le drapeau de
l'existence d'un numéro de la maison, troisième bit pour le
drapeau de l'existence d'une élévation, quatrième au
huitième bit réservé pour une utilisation future. Suivra
ensuite deux variables de type chaine de caractère l'un pour nom de la
PI et l'autre pour le numéro de la maison de la PI enfin une variable
de l'élévation du POI en mètre que VBE-S RC.
Pour
chaque moyen :
- Propriétésde manière : 32 octets
signature de façon, si le bit de débogage dans l'en-tête de
fichier est réglé: --- WayStartX --- où X
définit l'OSM-ID de la voie; le texte est toujours rembourré
à 32 octets en ajoutant des espaces, en suite une variable pour la
taille des données de façon décrit par nombre d'octets qui
sont nécessaires pour coder la façon actuelle
comme VBE-U RC, à partir de l'image bitmap sous carrelage
(c'est-à-dire la signature de chemin et taille de manière ne sont
pas comptés). De 2 octets bitmap de tuiles sous une tuile sur le niveau
de zoom z est composé de sous tuiles exactement 16 sur le niveau de zoom
z + 2 pour chaque tuile sous (rangée par rangée, de gauche
à droite): 1 bit qui représente un indicateur si la voie est
pertinent pour la tuile de sous. Spéciaux cas: les moyens du littoral
doivent toujours avoir tous les 16 bit fixés. Après cela il y a
un octet spécial dont du premier au quatrième bit pour la couche
(OSM-Tag: couche = ...) + 5 (pour éviter les valeurs négatives)
du cinquième au huitième pour la quantité
d'étiquettes de la manière. Ensuite suivra la variable id pour
chaque étiquette de la façon suivante: id variable
comme VBE-U RC. Cette partie continue avec un octet du drapeau dont
le premier bitpour le drapeau de l'existence d'un nom de chemin, le
deuxième bit pour le drapeau de l'existence d'un numéro de la
maison, le troisième bit pour le drapeau de l'existence d'une
référence, le quatrième bit pour le drapeau de l'existence
d'une position de l'étiquette, le cinquième bit pour le drapeau
de l'existence de nombre de façon afin de spécifier le blocs
de données terrain, de la manière dont au cas où ce 0
c'est-à-dire le champ n'existe pas, le nombre de blocs est un, cas 1:
champ existe, plus d'un bloc. Le sixième bit pour le drapeau indiquant
le codage de coordonner blocs manière, aussi dans le cas ce 0 seul
l'encodage delta, et dans l'autre cas où ce 1 c'est-à-dire
à double codage de delta. Septième et huitième bit
réservé pour une utilisation future.
La partie continue par trois variables de type chaine de
caractère dont le nom, numéro de la maison, la
référence. Ensuite, deux variables l'une pour la position de
l'étiquette de la géo différence de coordonnées au
premier noeud de façon microdegrés que 2
× VBE-S RC, dans l'ordre lat-diff, lon-diff et l'autre pour le
nombre de blocs de données de façon La quantité de blocs
de données suivant de façon que VBE-U INT.
- Données de
façon : deux variables le premier nombre de blocs de
coordonnées de façon. Le montant de façon suivante
coordonne le bloc que VBE-U INT. Un montant
supérieur à 1 indique un multi polygone avec le premier bloc
représentant les coordonnées de manière externe et les
blocs suivants coordonnent la voie intérieure. Le deuxième
coordonnée de façon bloc, pour chaque moyen de coordonnées
bloc: quantité de façon noeuds de cette manière
que VBE-U RC géo différence de
coordonnées dans le coin supérieur gauche de la tuile courante
comme VBE-S RC, dans l'ordre lat-diff, lon-diff
coordonnées géographiques des autres voies noeuds stockés
sous forme de différences sur le noeud de façon
précédente dans microdegrés que 2
× VBE-S RC dans l'ordre lat-diff,
lon-diff. Soit x1 la latitude du noeud de manière
précédente et x2 soit la latitude du noeud courant à sens
unique. Ensuite, la différence est définie comme x2
- x1.
I.1.4. Historique des versions
Version 0.5.0-SNAPSHOT : Ce sont en partie les
changements dans la version encore inédite de 0.5.x et aura comme
amélioration les éléments à savoir :
Rendertheme V4. Qui comportera un Scalebar maintenant avec
l'éventualité d'être à la fois impérial /
métrique au même moment. Mais aussi Les sauts de ligne dans les
étiquettes: c'est le changement le plus fragile en ce moment, car il ne
joue pas bien avec l'algorithme de placement des étiquettes.
Version 0.4.3 : Pas de
changement de fonctionnalité, mais Mapsforge-carte-Androïde
maintenant construit comme un pot (pas apklib) pour les
téléchargements Maven Central.
Version 0.4.2 : Pas de
changement de fonctionnalité, mais Mapsforge construit contre
Mapsforgesvg-Androïde.
Version 0.4.1 : Pas de
changement de fonctionnalité, mais la version 0.4.1 est désormais
disponible auprès de Maven Central.
Version 0.4.0 est ce pendant une
période a été connu comme la branche
«sauvetage». Il est basé sur une réécriture
complète de la bibliothèque de Mapsforge qui est incompatible
avec les versions précédentes. Le format de fichier de
mappage n'a toutefois pas changé et les fichiers de carte de 0,3 peuvent
encore être utilisés.
- Conception modulaire mieux de l'ensemble du projet.
- Le support de Java applications uniquement, voir le
sous-projet SwingMapViewer.
- Carte de vues ne sont pas directement couplés
à des activités plus et peuvent être utilisés avec
les concepts de design Androïde modernes.
- Modèle de superposition plus souple.
- Gestion de la mémoire serré-up.
- Appui à l'échelle de l'écran de
l'appareil.
- Support des fichiers SVG comme des icônes de la
carte.
- Gradle comme système de construction en plus de
Maven.
Version 0.3.0 (2012-03-18) cette
version a eu comme amélioration : une nouvelle version du format de
fichier de la carte binaire, voir spécification binairyMapFile. Nouvelle
rendu API thème de la carte aux styles personnalisée. Elle
Permetle téléchargement etle carrelage personnalisé des
classes. La position des commandes de zoom est maintenant configurable. Le bar
de l'échelle d'une carte prend en charge les unités
métriques et impériales.Une langue préférée
peut maintenant être configuré pour la carte-écrivain.Maven
Présenté comme système de construction pour le projet de
Mapsforge.Modification majeure de la structure de l'emballage dans la
bibliothèque de la carte.Proposé le code carte-lecteur à
un nouveau sous-projet Androïde indépendante.Beaucoup d'autres
améliorations et corrections d'erreurs mineures.
Version 0.2.4 (2011-06-28) pour
cette version quelques éléments ont pu changer comparativement
à la version précédente notamment :
l'AdvancedMapViewer prend désormais en charge tous les fournisseurs de
localisation. L'Enclenchement de la position peut être activé si
la position actuelle est affichée.Support pour multi-polygones API
Overlay.Soutien à des événements de presses longues dans
API Overlay.Ajouté API de métadonnées pour les fichiers de
carte.Beaucoup d'autres améliorations et corrections d'erreurs
mineures.
Version 0.2.3 (2011-05-12) voici les éléments
caractérisant cette version : changement de licence de GPL3
à LGPL3.Ajouté animations à la MapView quand zoom avant et
arrière.La taille du texte de la carte moteur de rendu peut être
ajustée à l'exécution.Rendu des symboles le long des
voies, utilisées par exemple sur les routes à sens unique.Le
niveau de zoom maximum du MapView peut maintenant être
réglé à l'exécution.Beaucoup d'autres
améliorations et corrections d'erreurs mineures.
Version 0.2.2 (2011-03-22) pour cette version il y a eu de
l'amélioration de l'API de recouvrement et mis en oeuvre de nouvelles
classes.Meilleur rendu des plans d'eau et des situations du littoral.La liste
de tags du mapfile-écrivain peut maintenant être configurée
via un fichier XML.Ajout de la possibilité de rendre les zones avec un
motif de fond.Support intégré pour piste maps
caractéristiques.Ajout d'une méthode pour prendre une capture
d'écran de la carte affichée.Le niveau de zoom minimum de la
MapView peut maintenant être réglé à
l'exécution.Commencé à faire le cache carte de tuile sur
la carte mémoire persistante.Beaucoup d'autres améliorations et
corrections d'erreurs mineures.
Version 0.2.1 (2011-02-10) cette version a eu de changement de
Format de carte binaire optimisé, réduit la taille du fichier de
15-20%.Réécrit la mise en oeuvre superposition avec de nombreuses
nouvelles fonctionnalités et corrections de bugs.Niveau de zoom peut
être modifié par le multi-tap et double-tap gestes.Le
mapfile-écrivain soutient disque dur comme périphérique de
stockage temporaire.Le mapfile-écrivain ne dépend plus de la
bibliothèque JTS et fonctionne plus rapidement.Ajout du support pour un
couple de balises OpenStreetMap.Meilleur rendu des noms de voies.Meilleur rendu
de la côte et les zones d'eau.Beaucoup d'autres améliorations et
corrections d'erreurs mineures.
Version 0.2.0 (2010-11-22) nous pouvons constater un nouveau
format de carte binaire pour plus détail et plus rapide carte
rendu.Superposer API pour afficher les points, les moyens et les polygones sur
le dessus de la carte.Mieux étiquette et symbole placement à
éviter toute collision.Le MapView prend désormais en charge les
modes multi-touch et un nouveau téléchargement de
tuiles.Première version du plugin osmose pour générer des
fichiers de la carte binaires.Beaucoup d'autres améliorations et
corrections d'erreurs mineures.
Version 0.1.0
(2010-06-27)Première version publique, contient le package de
Androïde.map.
En synthèse,la première version est de 2010 une
version de la spécification. La deuxième version en 2011introduit
encodage octet variable pour certains champs numériques pour
réduire la taille du fichier, modification des noms de champs et les
descriptions des éclaircissements, Codage Offset est maintenant
utilisé sur toutes les coordonnées. Enfin en 2012 la
troisième version moyens sont stockées sous forme de plusieurs
segments, Moyens peuvent aussi avoir un numéro de maison, Données
obsolètes retiré, Ajouté préférence
langue domaine de l'en-tête, Ajouté taille de
fichier champ de l'en-tête, Ajouté le niveau de zoom
début domaine de l'en-tête,
Ajoutée créée par champ à
l'en-tête, Ajout d'un drapeau pour simple et double codage de delta,
Réorganisé certains domaines, Suppression de certaines
limitations type de données liées.
I.2. les Applications
utilisant Mapsforge surAndroïdeavec de donnéesOpenStreetMap
I.2.1. brève
Introduction sur les applications
Ici nous prenons trois applications réalisées en
utilisant labibliothèque mapforg avec des données OSM en Offline
et Online sur la technologie Androïde, ces éléments sont de
conditions qui sont inscrits dans nos hypothèses et cela peut nous
permettre de voir en quoi mapforge peut nous être utile. Ces applications
en question sontOSMtracker v0.6.6, OsmAnd v1.6.5 beta et OruxMaps v5.5.11.
Les trois applications fonctionnent sur le système
d'exploitation Androïde et utilisent la technologie du positionnement par
satellite pour recueillir des informations. Le terminal utilisé,
smartphone ou tablette, doit donc impérativement être
équipé d'un récepteur ou permettre la connexion à
un récepteur (via bluetooth par exemple).
Il est important de noter qu'aucune application ne permet
d'enrichir la carte OpenStreetMap spontanément. Une manipulation
supplémentaire via JOSM ou directement sur le site web d'OpenStreetMap
est indispensable. Cela permet de corriger le tracé avant
intégration puisque le plus souvent les relevés GPS ne sont pas
utilisables à l'état brut. Il s'y de signale que l'OSMtracker,
OsmAnd et OruxMaps sont des applications gratuites. Nous devons signale que les
éléments que nous allons vous présenter dans cette partie
sont tirés d'une étude qui a été
réalisée en un mois, entre le 18 septembre 2013 et le 18 novembre
2013. Les tests ont duré environ 14 heures. Les supports utilisés
sont la tablette Samsung GalaxyTab 10.1 par l'équipé de la
version 3.2 d'Androïde, le smartphone Samsung
GalaxyYl'équipé de la version 2.3.6 d'Androïde et le
smartphone Sony XPERIA SP équipé de la version 4.1.2
d'Androïde. Le récepteur GPS interne a été
utilisé.
I.2.2. OSMtracker v0.6.6
OSMtracker est une application dont la fonction principale est
de relever des points, lignes ou surfaces à l'aide du GPS. Il est
possible de classer les objets relevés selon une nomenclature
pré-définie s'approchant de celle d'OpenStreetMap. Il est
caracerise par les element ci apres :
-
Interface simplifiée : Peu de menus sont proposés dans cette
application. Cela permet à l'utilisateur d'accéder rapidement au
menu consacré au relevé d'informations ;
-
Possibilité de relever tous types de géométries
d'objet : Il est possible de relever des points, lignes ou
surfaces ;
- Une
nomenclature prédéfinie permet d'orienter l'utilisateur sur
l'objet à relever. Celle-ci s'approche de la nomenclature
d'OpenStreetMap mais semble être moins précise ;
-
Paramétrage de l'intervalle d'enregistrement possible ;
- Paramétrage du compte
utilisateur OpenStreetMap : il est possible de se logger avec son compte
OpenStreetMap, cela permet l'envoi de traces au format GPX sur l'adresse mail
configurée ;
- Export de
données simplifié : OSMtracker permet d'exporter les traces
GPX une par une. Cela permet de ne pas mélanger plusieurs traces mais
optimise l'export puisque les fichiers sont plus légers.
OSMtracker est simple d'utilisation, son interface sommaire
permet d'axer l'utilisation de l'application sur le relevé de
données. Enfin, la possibilité de se logger avec son propre
compte OpenStreetMap permet un envoi rapide des fichiers créés
vers l'adresse mail paramétrée. En revanche, les attributs des
objets ne sont pas récupérés par OpenStreetMap. Enfin,
il aurait était pratique de pouvoir ajouter des fonds de carte
personnalisés type calques rasters ou couches de données vecteurs
pour évoluer en mode déconnecté.
251647488
251646464
Figure 1 et 2 : capture d'ecranOSMTracker for
Androïde
I.2.3. OsmAnd 1.6.5 beta
OsmAnd est une application qui fonctionne avec la base de
données OpenStreetMap. Sa fonction première est la navigation et
la recherche de Points d'Intérêts ou adresses à partir de
la carte OpenStreetMap. Il est aussi possible de faire remonter des
« bogues », ce qui revient à indiquer à
l'aide d'un ponctuel des erreurs sur la carte, et de créer des Points
d'Intérêt. Enfin, il est possible d'enregistrer une trace au
format GPX.Il est possible d'enregistrer un Point d'Intérêt. Un
formulaire « Créer un Point d'Intérêt
(PI) » est proposé. L'adresse, le type de Point
d'Intérêt sont demandés. A la validation, le PI est
envoyé sur OpenStreetMap. On le retrouve ensuite dans la carte en mode
« Modifier ». Il est possible de sauvegarder le PI une fois
les attributs renseignés.
OsmAnd permet aussi le relevé de traces GPX. Il
faut au préalable activer le greffon « Services de
surveillance et activité d'arrière-plan ». Les options
du greffon sont proposées, il faut cocher « Enregistrer la
trace dans un fichier GPX ». Retour sur la carte : après
avoir coché « Trace GPX » dans le menu
« Couches », l'application propose
d' « Afficher le trajet en cours » (L'application
demande d'activer l'option « Enregistrer l'itinéraire en
GPX » dans les Paramètres de suivi si cela n'a pas
été fait). Une fois la trace réalisée, il faut
aller dans les options cliquer sur « Enregistrer la trace
GPX ». La trace peut ensuite être envoyée par mail ou
Bluetooth. L'utilisateur peut paramétrer l'intervalle d'enregistrement.
OsmAnd permet d'afficher des fonds de carte personnalisés (rasters ou
vecteurs) et surtout d'enregistrer des fonds de carte issus d'OpenStreetMap
pour une utilisation déconnectée du réseau. Il est
possible de les télécharger sur l'appareil mobile à partir
de l'application.
Toutefois, d'une part le téléchargement est
limité à des fonds spécifiques, il n'est donc a priori pas
possible d'intégrer des fonds personnalisés, issus de la
réception d'une image satellitaire par exemple, et d'autre part, le
téléchargement est limité à 10 fonds parmi
ceux proposés. A propos des vecteurs, une trace GPX déjà
réalisée et des Points d'Intérêt déjà
recensés peuvent être affichés dans la carte. L'application
OsmAnd n'est pas orientée sur le relevé de données pour
OpenStreetMap. Il est possible de relever une trace GPX ou des Points
d'Intérêt pour ensuite les partager mais l'interface ne rend pas
les manipulations faciles. Au contraire, il y a trop de manipulations et pas
forcément intuitives pour parvenir à mettre à jour
OpenStreetMap. En revanche l'utilisation en mode déconnecté, avec
la possibilité d'afficher des fonds de carte
téléchargés est assez facile.
251649536
251650560
Figure 3,4 et 5 : capture d'écran OsmAndPoints
d'intérêt et Traces dans OsmAnd
I.2.4. OruxMaps 5.5.11
OruxMaps est une application complète permettant
à la fois la navigation, la consultation de cartes et le relevé
de traces et Points d'Intérêt. Il n'est en certes pas possible de
relever des surfaces.Tout au long du parcours, il est possible de relever des
points sous forme de jalons ou de Points d'Intérêt. Les jalons
sont destinés à être utilisés comme points de
navigation à l'inverse des Points d'Intérêt qui sont
créés pour une utilisation différente, par exemple
recenser un point pour OpenStreetMap. Il est possible de renseigner des
données attributaires mais elles ne peuvent pas être
conservées par la suite pour OpenStreetMap. L'utilisation de cette
fonction est très simple, un menu déroulant est proposé et
quelques clics suffisent pour créer et exporter un Point
d'Intérêt au format GPX. OruxMaps permet de relever une trace et
de l'exporter très facilement au format GPX. Aucune donnée
attributaire ne peut être associée. OruxMaps permet d'afficher des
cartes en mode hors-ligne. Leur chargement est assez complexe et tous les
formats ne sont pas pris en charge. On note la possibilité d'afficher
des cartes issues d'OpenStreetMap, des cartes IMG de Garmin au format non
verrouillé ou des cartes au format rmap. Toutefois, il n'y a pas de
possibilité apparente de charger des images satellitaires, photo
aériennes ou autres rasters issus d'une acquisition différente et
d'un format différent que ceux spécifiés ci-dessus.
Il est possible d'afficher des couches vectricesd'informations
supplémentaires sur la carte au format KML/KMZ. Cela est assez simple
à faire et plusieurs couches peuvent être ajoutées.En
conclusion, OruxMaps réalise très bien et intuitivement le
relevé de points et lignes. Il propose un export au format GPX de ces
relevés, ceux-ci pourront ensuite être améliorés
dans un SIG (type JOSM) pour être envoyés dans OpenStreetMap. En
revanche il n y a pas de possibilité de relever des polygones. La
visualisation ou l'orientation peuvent être facilités en chargeant
des couches au format KML, option possible dans OruxMaps. Le chargement des
fonds de carte est par contre assez restrictif puisque seuls des fonds de carte
avec un format spécifique sont pris en compte.
251651584
251652608
Figure 6 et 7 : capture d'écran OruxMaps
Tableau synthétique des applications utilisant
Mapsforge
I.3. quelque image de référence sur
Mapsforge
251656704
251655680
251654656
251653632
251659776
251658752
251657728
251660800
Figure 8 : groupe d'image reflétant le travail
réalisé par la bibliothèque Mapsforge sur Berlin
Chapitre II :
procédure d'utilisation de Mapsforge
II.1.Introduction sur
l'utilisation
Pour utiliserMapsforge, nous aurions besoin de deux
éléments, un programme qui nouspermettrons d'utiliser la
bibliothèque de Mapsforge. A ce sujet, vous pouvez coller avec le
programme appelé AdvancedMapViewer qui vient comme un exemple avec la
bibliothèque. Mais aussi un Mapfile. Dans ce cas nous devons
créer notre propre Mapfile à partir des données
OpenStreetMap . Cela se fait avec un plugin pour osmose à partir de
commande simple sur la ligne de commande une fois Osmos est pris en compte
comme commande externe dans ce cas il est question de
téléchargerOsmos de la charge dans la variable d'environnement
une fois nous travaillons en Windows.
osmoseBukavu.osm.pbf --read - PBF --mapfile - écrivain
file = Bukavu.map
Ce plugin est décrite dans le site de code google de
mapforge sur la page wiki de mapfilewriteosmose. Il fonctionne comme
suit :Install OsmosispuisInstall the plugin de mapfilewrite en suite
telecharger le donneosmpbf sur openstretmappuis mettre le fichier Bukavu.map de
fichier créé sur votre appareil et de le charger de
AdvancedMapViewer. Il s'y de décritMapsforge
Plugin
carte-écrivain qui permet de convertir les données
OpenStreetMap dans le format map qui est nécessaire pour afficher des
cartes avec des applications Mapsforge. L'outil est
implémenté comme un plugin pour l'
osmose logiciel. Pour
utiliser l'outil, nous sommes tenus d'avoir une installation fonctionnelle de
l'osmose et le plugin carte-écrivain copié dans le
répertoire des plugins de l'osmose. Vous devez également
être familiarisé avec l'outil d'osmose.
II.1.2. Utilisation Plugin
Pour activer le plugin avec le paramètre d'osmose
»--map-écrivain», ou court »--mw le plugin
nécessite un flux de données OSM valides
d'entrée. Utilisez par exemple les tâches de MySQL, PostGIS,
XML ou PBF-binaires de! Osmose pour lire les données de l'OSM.Utilisez
les paramètres facultatifs suivants pour configurer le processus de
création de la carte:
a) Options de base
Option
|
Description
|
Valeurs valides
|
Valeur par défaut
|
dossier
|
chemin d'accès au fichier de sortie, le fichier sera
écrasé si existant de
|
|
Mapsforge.map
|
type
|
passer pour la mémoire principale ou en mode HD
|
ram, hd
|
RAM
|
bbox
|
délimitant la définition de la boîte liste
des coordonnées dans le formulaire séparées par des
virgules: minLat, Minlon, maxLat, maxLon (il faut savoir que l'osmose ne permet
pas d'espace blanc dans ses paramètres de
ligne de commande)
|
minLat, Minlon, maxLat, maxLonexactement cet ordre en
degrés ou en microdegrés
|
(Blanc)
|
carte-de position de départ
|
écrire une position de départ dans le fichier
qui est utilisé, lorsque le fichier est ouvert en l'MapViewer
|
latitude, longitude, en degrés ou microdegrees
|
(Blanc)
|
carte-début-zoom
|
écrire un niveau début de zoom pour le fichier
qui est utilisé, lorsque le fichier est ouvert en l'MapViewer
|
niveau de zoom comme nombre entier dans [0; 21]
|
(Blanc)
|
langue préférée
|
va écrire les noms des objets géo dans la langue
préférée pour le fichier, cela ne fonctionne que pour les
objets qui ont été marqués pour la langue
préférée
|
code de langue comme telle que définie dans
la
norme ISO 639-1 / 2
|
(Blanc)
|
commentaire
|
écrit un commentaire sur le fichier
|
|
(Blanc)
|
b)
Options avancées (utiliser uniquement lorsque vous savez ce que vous
faites)
Option
|
Description
|
Valeurs valides
|
Valeur par défaut
|
tag-conf-file
|
chemin vers un fichier XML qui personnalise la
définition qui OSM-tags sont reconnus
|
chemin vers un fichier XML, s'il vous plaît lire la
section «Définition d'une cartographie de marque
personnalisée via XML» avant d'utiliser thsi paramètre
|
(Blanc) cartographie de variables par défaut interne
est utilisé
|
polygone-clipping
|
utiliser polygone écrêtage pour réduire la
taille du fichier de carte (de frais généraux de performance
minimale)
|
vrai / faux
|
vrai
|
moyen-clipping
|
utiliser de façon écrêtage pour
réduire la taille du fichier de carte (de frais généraux
de performance minimale)
|
vrai / faux
|
vrai
|
étiquette position
|
calculer la position de l'étiquette pour les polygones
qui couvrent plusieurs tuiles (de frais généraux de performance
minimale)
|
vrai / faux
|
vrai
|
simplification du facteur
|
simplifie les moyens et les polygones avec une topologie en
préservant algorithme similaire à l'algorithme de Douglas
Peucker, en utilisant la valeur maximale de différence de distance le
facteur de simplification donné (évaluée en pixels sur le
niveau de zoom maximum d'un niveau de zoom de base); sur les niveaux de
zoom de base supérieurs à 12, aucune simplification est
calculée
|
nombre réel positif
|
5
|
bbox-élargissement
|
quantité de pixels utilisée pour
l'agrandissement boîtes englobantes dans les calculs
|
entier positif
|
20
|
zoom-intervalle-conf
|
configurer les intervalles de zoom utilisés dans ce
fichier, la configuration est donnée sous la forme: baseZoomA, minZoomA,
maxZoomA, baseZoomB, minZoomB, maxZoomB, ..., baseZoomN, minZoomN, maxZoomN,
dans la plupart des cas, vous nepas besoin de modifier la
configuration standard
|
intervalles ne doivent pas se chevaucher et ne doivent pas
contenir de lacunes
|
5,0,7,10,8,11,14,12,21
|
debug-fichier
|
passer pour l'écriture des informations de
débogage dans le fichier, ne pas
activer cette option si vous savez ce que vous faites
|
vrai / faux
|
faux
|
|
|
|
|
c) Exemples
· Ecrire fichier de carte de Berlin en utilisant le
format binaire-PBF et l'écriture dans le fichier /tmp/berlin.map: $
bin / osmose --rb file = .. / data / berlin.osm.pbf --mapfile-écrivain
file = / tmp / berlin.map
· Écrire dans le fichier de la carte pour
l'Allemagne en utilisant le format binaire-PBF et l'écriture dans le
fichier /tmp/germany.map, le réglage du mode de traitement sur ??le
disque dur: $ bin / osmose --rb file = .. / data / germany.osm.pbf -
fichier mapfile-writer = / tmp / Type germany.map = hd
· Écrire dans le fichier de la carte pour
Brême en utilisant le format XML et l'écriture dans le fichier
/tmp/bremen.map, la mise en carte la position de départ de Brême
HBF: $ bin / osmose --rx file = .. / data / bremen.osm
--mapfile-écrivain fichier = / tmp / bremen.map carte-start-position =
53.083418,8.81376
· Écrire dans le fichier de la carte pour
Berlin-Dahlem. Les données ont été exportées
au format XML sur le site de l'OSM, de sorte que nous devons utiliser une
définition du cadre de sélection: $ bin / osmose --rx file =
.. / data / dahlem.osm fichier --mw = / tmp / Dahlem-high.mapbbox =
52.4477300,13.2756600,52.4588200,13.2986600
d) Les pièges connus
· Le plugin nécessite la définition d'un
cadre de sélection, qui est soit incluse dans les données ou est
donné via la ligne de commande
paramètre bbox . Prenez note que la fonctionnalité
d'exportation XML du site de l'OSM produit actuellement définitions du
cadre de sélection invalides, de sorte que
la bbox paramètre doit être utilisé dans ce
cas.
· If you installed the plugin into the user home, please
make sure that you run osmosis with exactly this user and not with another user
(e.g. the root user).
II.1.3. Définition d'une cartographie de Tag
personnalisé via XML
Cette section décrit comment configurer le tag connu
réglée via un fichier XML. La balise ensemble connu comprend tous
les tags de l'OSM (pour voies et POI) qui sont connus pour le moteur de rendu.
Vous pouvez utiliser la configuration XML pour définir le sous-ensemble
de la balise ensemble connu devrait être inclus dans le fichier de la
carte et de configurer les niveaux de zoom sur les objets de la carte
apparaissent en premier.
La cartographie variable interne par défaut
définie dans est maintenu en synchronisation avec le tag connu ensemble
de la fonction de rendu. Donc, si vous voulez définir votre propre
cartographie personnalisée utiliser la cartographie interne comme une
référence. S'il vous plaît consulter la documentation
XML-Schema à apprendre sur la façon de mettre en oeuvre votre
cartographie personnalisée. Le XML-Schema est très facile
à comprendre. Nous vous recommandons d'utiliser Eclipse comme un
éditeur XML, car elle permet l'auto-complétion si vous fournissez
une XML-Schema.Vous devez être conscient que cette configuration ne
définit que les données à être inclus dans le
fichier de la carte. Comment les données sont finalement rendues et
spécifié par un ensemble de règles qui est attaché
à la fonction de rendu. Donc, si vous ajoutez toute étiquette
à la configuration de la balise de l'écrivain qui n'est pas
reconnu par le moteur de rendu, il ne sera pas affiché sur la carte.
Dans ce cas, vous devez vous assurer que vous définissez
également de quelle manière la nouvelle balise doit être
rendu. Il nous reste que d'étudier comment configurer le rendu à
cela nous devons parle de l'API RenderTheme.
II.2. RenderThemeAPI
II.2.1. Introduction
Un thème de rendu est un fichier XML qui contient les
règles et instructions de rendu. Ces fichiers peuvent être
utilisés pour personnaliser le style visuel de la carte rendue. La
bibliothèque Mapsforge-carte est livrée avec un fichier
intégré rendre thème similaire à la
Osmarender de
style. Plus de rendre thèmes internes seront ajoutées
à l'avenir. Externes des fichiers de rendu thème sont
également pris en charge et peuvent être activés via
le MapView.setRenderTheme (Fichier) méthode lors de
l'exécution.Voici un exemple de rendu-thème simple avec quelques
règles différentes et instructions de rendu:
<? xml
renderTheme.xsd " Version = "1"
>
<! - correspond à tous les moyens d'une
"highway = trunk" ou un "highway = autoroute" tag ->
<règle e = "chemin" k = "autoroute" v = " tronc | autoroute "
>
<ligne AVC = "# FF9900" stroke-width=
"2.5" />
</ rule>
<! -
correspond à tous des moyens fermées (premier noeud est
égale à la dernière station) avec un "équipement =
..." tag correspond à tous les noeuds avec une étiquette
"tourisme = hôtel" du niveau de zoom 16 ans et plus
Syntaxe et la
sémantique des fichiers de rendu thème sont similaires mais pas
identiques à
osmarender
fichiers de règles . Une description formelle rendre
thème existe en tant que document de schéma XML , il
peut être trouvé dans le
référentiel . Si
un thème rendre invalide est soumis à la bibliothèque de
la carte, une org.xml.sax.SAXException sera lancée au cours de
l'analyse XML.
II.2.2.
Règles
Un élément de règle a plusieurs attributs
afin de spécifier les éléments de la carte correspond
à la règle.
Attribut
|
Les valeurs valides
|
Description
|
Requis
|
e
|
· Noeud
· manière
· tout
|
Définit le type de carte élément sera
comparé.
|
oui
|
k
|
chaîne
|
La clé de la balise OpenStreetMap.
· Une barre verticale "|" peut être utilisé
pour spécifier plusieurs clés.
· Un astérisque " * "sert de
caractère générique.
|
oui
|
v
|
chaîne
|
La valeur de la balise OpenStreetMap.
· Une barre verticale "|" peut être utilisé
pour spécifier plusieurs clés.
· Un astérisque " * "sert de
caractère générique.
· Un tilde «~» correspond si
l'élément de la carte n'a pas une étiquette avec la
clé spécifiée.
|
oui
|
fermé
|
· Oui
· aucun
· tout
|
Définit les moyens seront jumelés. Une
façon est considéré comme fermé si son premier
noeud et son dernier noeud sont égaux.
|
non (valeur par défaut est tout )
|
zoom-min
|
unsignedByte
|
Le niveau de zoom minimum sur lequel la règle sera
égalé.
|
non (0 par défaut)
|
zoom-max
|
unsignedByte
|
Le niveau de zoom maximal sur lequel la règle sera
égalé.
|
non (valeur par défaut est 127)
|
Les règles peuvent être imbriquées
à n'importe quel niveau de profondeur. Ceci peut être
utilisé pour définir des instructions de rendu qui
dépendent de plusieurs règles. Il peut également
être utilisé pour structurer les déclarations complexes et
d'éviter la redondance:
<rule e = "way" k = "*" v = "*" closed = "no" >
<rule e = "way" k = "highway" v = "motorway" >
<rule e = "way" k = "tunnel" v = "true|yes" >
...
</rule>
<rule e = "way" k = "tunnel" v
= "~|no|false" >
...
</rule>
</rule>
</rule>
II.2.3. Rendu Instructions
Une instruction de rendu spécifie comment un
élément de carte est dessiné. Chaque
élément de règle peut inclure n'importe quel nombre
d'instructions de rendu. Sauf pour les étiquettes et les symboles,
toutes les instructions de rendu sont dessinées sur la carte dans
l'ordre de leur définition.À l'heure actuelle, les instructions
de rendu suivantes sont disponibles: zone, légende, cercle, ligne,
lineSymbol, pathText, symbole.
II.2.4. Fond de carte
Le RenderTheme élément racine a une
option carte-fond attribut qui peut être utilisé pour
définir la couleur du fond de carte. La valeur par défaut
est "#FFFFFF" (blanc).
<? xml
renderTheme.xsd " Version = "1"
carte-fond = "# FFEE99" >
...
</ rendertheme>
II.3. Mise en route de
cartographie mobile rendant sur Androïde
II.3.1. Utilisez la
bibliothèque de la carte dans votre application
Ce qui suit HelloMapView exemple
démontre comment écrire une application simple de la carte pour
Androïde. Il ne nécessite que la bibliothèque
Mapsforge-carte, qui est distribué sous la licence LGPL3 et peut
être téléchargé dans la section de
téléchargement. Lorsqu'il est exécuté, le
programme rendra une carte à l'écran, qui peut être
déplacée et agrandie via l'écran tactile, les boutons de
zoom et gestes multi-touch.
importAndroïde. os.Bundle;
import java .
io.File;
import org. Mapsforge.Androïde.maps.MapActivity;
import org
. Mapsforge.Androïde.maps.MapView;
public class
HelloMapViewextendsMapActivity{
@Override
protected void onCreate( Bundle savedInstanceState) {
super . onCreate( savedInstanceState);
MapViewmapView= new MapView( this );
mapView.
setClickable( true );
mapView.
setBuiltInZoomControls( true );
mapView.
setMapFile( new File ( "/sdcard/path/to/mapfile.map" ));
setContentView( mapView);
}
}
La bibliothèque de la carte ne nécessite qu'une
seule autorisation pour écrire les images en cache pour le stockage
externe généralement le téléphone de la carte
SD. Ajoutez la ligne suivante à votre application
fichier
AndroïdeManifest.xml :<Utilise-autorisation
Androïde :name ="Androïde.permission.WRITE_EXTERNAL_STORAGE"
/>
Chapitre III : Application
sur la ville de Bukavu
III.1. configuration
matériel, logiciel utilise et technologie
Nous utilisons l'ordinateur ayant comme
caractéristiques tirées de l'Information du système en
général
Edition windows7 professionnel, Copyright(c) 2009 Microsoft
Corporation, Tous droits réservés, Service Pack1
Système évaluation 3,8 indice de performance
Windows, processeur Intel ® Core (TM) i3 CPU M350 @ 2.27 GHz 2.27 GHz,
Mémoire installée (RAM) 2,00 Go (1,86 Go utilisable), Type du
système d'exploitation 32 bits, Activation Windows ID de produit
00371-OEM-8992671-00014
Untéléphone avec de la
technologie Androïde qui a comme caractéristiquenuméro du
modèle Intelit 403+ version Androïde 4.4.2 version de bande de base
TM_BASE_13C_W14.41_MP_W15.07|sc7715_sc7715_modem|02-12-2015
14 :37 :17
MOCORTM_14A_W14.41_P15.07_Debug|CP2_WCM_14C_W14.51_Release|CP2.|02-12-2015
14 :44 :13 version du noyau 3.10.17 zhaoxifeng@zy-cs5#1 wedmay 20
21 :38 :04 CST 2015 numéro de buildIT1403+-W400-20150520
version du Hardware SP7715EA_V1.0.0
A part les appareils, nous avons utilisé aussi quelque
plagun et des APIs notamment :
Osmos, OpenStreetMap, Geofabrik, java, Mapsforge avec toutes
ces bibliothèques, avec comme éditeur AndroïdeStudio et
l'emulator NEXIS configuré en AVD KampAVD
III.2.
téléchargement de données et Présentation de
l'application BukavuMapsforgeAndroïde (BkvMfA)
Ici nous commençons par télécharge un
osm.pbf pour la ville de Bukavu sur le site de l'OpenStreetMap comme le montre
cette capture d'écran. En cliquant sur le bouton export en suite nous
avons choisi le téléchargement par geofabrikenfin, on choisit la
zone à télécharger
251661824
Figure 9 et 10 : capture d'écran du site
OpenStreetMap pour l'exportation du fichier Osm.pbf et en dessous le choix de
zone
251665920
Maintenant il est question d'utiliser osmos pour avoir le
fichier en format map. Voici sur la ligne de commande la commande osmos qui a
été utilisée
251662848
Figure 11 : capture d'écran de la console Ms DOS
avec l'utilisation de la commande osmosis
Nous utilisons l'éditeur Androïde Studio pour
insérer les lignes de code, pour appeler les fonctionnalités de
la bibliothèque Mapsforge comme nous l'avons indiqué dans la
partie de l'utilisation de la bibliothèque.
251663872
Figure 12 : capture d'écran de l'éditeur
Andoïdee Studio sur le fichier MainActivity.java
De là, nous avons pu changer « Hello
Word » par « Hello KAMPEMPE » pour tester si tout
fonctionne bien.Après, nous avons compilé et lancé
l'emulator configuré par un AVD appelé
« KampAVD »
251664896
Figure 13 : capture d'écran du lancement de
l'emulator de test
Enfin, nous avons fait appelle au fichier map transforme par
osmos pour son affichage et de là il reste l'aspect d'utiliser de
fonction de la bibliothèqueMapsforge pour des finsdifférentes.
Nous pensons que l'étape suivant ferra partie de la continuité de
la présente recherche car ici l'hypothèserelative à
l'adaptation de Mapsforge sur une ville quelconque est
vérifiée.
251666944
Figure 14 : présentation de l'affichage de la
carte de Bukavu sur l'appareil Androïde en offline
Conclusion
Dans le cadre de notre projet, nous avons abordé
beaucoup plus MAPSFORGE sous Androïde dans le butde faire un état
de lieu de l'étude d'un système de navigation basé sur la
plateforme open source MAPSFORGE et son applicabilité dans une ville
pour résoudre le problème d'un voyageur de commerce. Pour pallier
aux problèmes, des embouteillages dans la circulation de véhicule
pour faciliter latraficroutièreà partir de son
téléphone ou de sa tablette mais aussi la recherche de point
d'intérêt dans une ville comme des hôtels de restaurant de
Bâtiment administratif et/ou de service de sécurité de lieu
de prière ou de divertissement cela devient une cartographie baladeur et
portable cette cartographie léger peut faciliter beaucoup de chose comme
nous venons de le signale ci-haut le projet dans ce cadre son le bienvenue car
il a été démontré que cette bibliothèque
peut nous servir dans plusieurs chose et sur plusieurs ville en offline.
Bibliographie
Webographie
-
https://play.google.com/store/apps/details?id=me.guillaumin.Androïde.osmtracker
-
https://play.google.com/store/apps/details?id=net.osmand&hl=fr
-
https://play.google.com/store/apps/details?id=com.orux.oruxmaps&hl=fr
-
http://www.vulgarisation-informatique.com/lexique.php
-
http://www.infoprat.net/glossaires/termesinfo/telechargement/index.htm
-
http://www.interbibly.fr/pdf/actes/glossaire_accompagnerUsager.pdf
-
http://blog.cartong.org/2013/11/27/comparaison-applications-Androïde-pour-openstreetmap/
-
https://code.google.com/p/Mapsforge/wiki/RenderThemeAPI
-
https://code.google.com/p/Mapsforge/wiki/SpecificationBinaryMapFile
-
https://code.google.com/p/Mapsforge/wiki/GettingStartedMapWriter
-
http://fr.wikipedia.org/wiki/JOSM
-
https://play.google.com/store/apps/details?id=me.guillaumin.Androïde.osmtracker
-
http://www.oruxmaps.com/oruxmapsmanual_fr.pdf
-
http://Code.google.com/p/Mapsforge/
-
https://play.google.com/store/apps/details?id=de.meditgbr.Androïde.tacho
- http://aprsdroid.org/
-
https://play.google.com/store/apps/details?id=meavydev.ARDrone
-
http://wiki.openstreetmap.org/wiki/Atlas_ (navigation_application)
-
https://play.google.com/store/apps/details?id=de.rooehler.bikecomputer
-
https://play.google.com/store/apps/details?id=fr.ocroquette.bladenight
-
http://wiki.openstreetmap.org/wiki/Cruiser
- https://github.com/cgeo/
-
http://www.geopaparazzi.eu
-
https://play.google.com/store/apps/details?id=com.tinkerpete.gps
- http://www.locusmap.eu/
- http://mynativeguide.com/
-
http://www.rockethub.com/projects/9335-maptag
-
https://play.google.com/store/apps/details?id=com.momentum_tracker.Androïde
-
https://github.com/nutiteq/hellomap3d
- http://topobyte.de/
-
https://play.google.com/store/apps/developer?id=applantation.com
- http://www.oruxmaps.com/
-
http://osmaptuner.salzburgresearch.at/
-
http://developer.servalproject.org/dokuwiki/doku.php?id=content:servalmaps:main_page
- http://ting.by/
-
http://code.google.com/p/Mapsforge/wiki/MapFileWriterOsmosi
-
http://wiki.openstreetmap.org/wiki/Osmosis
-
http://code.google.com/p/Mapsforge/wiki/MapFileWriterOsmosis
-
http://code.google.com/p/Mapsforge/source/browse/Mapsforge-map-writer/src/main/config/tag-mapping.xml
-
http://code.google.com/p/Mapsforge/source/browse/Mapsforge-map-writer/src/main/resources/tag-mapping.xsd
- MERCI