FR:Indoor Mapping
La cartographie d'intérieur (Indoor mapping en anglais) consiste à cartographier dans OpenStreetMap l'intérieur des bâtiments. Il s'agit d'une pratique encore expérimentale, mais qui tend à se développer.
Pour l'utilisation pratique, il peut être préférable de se référer à la page FR:Simple_Indoor_Tagging.
Cas d'utilisation
La cartographie d'intérieur a pour objectif de mettre à disposition de tous les données permettant de se repérer au sein d'un bâtiment. Cela est particulièrement utile dans les situations suivantes :
- Complexes de grande taille : centres commerciaux, aéroports, gares, universités, ... Des plans existent pour ces éléments, mais ne sont généralement pas libres.
- Accessibilité : en décrivant l'intérieur des bâtiments, on facilite les déplacements pour les personnes handicapées, en leur permettant de trouver les moyens d'accès adaptés (surface podotactiles, ascenseurs, rampes, ...)
- Visualisation 2D et 3D : ce type de données permet de faire des rendus sous forme de plans (par exemple des plans d'évacuation) ou de visualisation 3D. On peut imaginer de nombreuses applications : développement de jeux vidéos, visites virtuelles de musées, modélisation des flux de visiteurs, ...
Quelques initiatives ont été lancées sur ce thème :
- WikiProject France/Transilien/Hackcess - Hackathon organisé par OpenStreetMap France et la SNCF.
- Métro de Rennes/Intérieur des stations - Projet de cartographie des stations du métro rennais.
Aspects légaux
La cartographie d'intérieur pose des questions au niveau de la légalité de l'ajout des données dans OpenStreetMap. En effet, l'intérieur des bâtiments est géré par différents opérateurs ou propriétaires, qui seront d'accord ou non pour que l'on détaille précisément leur établissement. De manière générale, il est déconseillé d'intégrer des données sur les bâtiments ne recevant pas du public (habitations, bureaux privés, ...). Il est également important de distinguer les établissements publics de ceux recevant du public, certains bâtiments publics n'ont pas d'intérêt à être cartographié pour des raisons de sécurité (centrales nucléaires, prisons, casernes militaires, ...). Pour les établissements recevant du public, on demandera l'autorisation du gestionnaire du bâtiment avant de commencer à cartographier sur le terrain, en particulier s'il s'agit d'un opérateur privé (cas des hôtels, restaurants, centres commerciaux, ...). Cette demande d'autorisation est importante, d'une part pour s'assurer que la démarche est légale, et d'autre part pour éviter les problèmes lors de la récolte de données (du fait de la surveillance des lieux dans le cadre du plan Vigipirate). Pour les plans d'évacuation, l'autorisation n'est pas absolument nécessaire tant que le plan photographié n'est pas diffusé. Il suffit de considérer que la carte réalisée s'inspire des cotes du plan d'évacuation. Il s'agit alors d'une version modifiée d'une donnée captée dans l'espace public.
Récolte des données
La difficulté de récolte des données d'intérieur vient du fait que le signal GPS ne fonctionne pas (ou très mal) à l'intérieur d'un bâtiment. Il faut donc utiliser d'autres moyens pour localiser les éléments. Plusieurs logiques de localisation existent :
- Contour des bâtiments : en connaissant la délimitation d'un bâtiment (par exemple en traçant depuis l'imagerie ou en utilisant son emprise au sol depuis le cadastre), on peut relever la distance des objets à l'intérieur par rapport aux murs, et reporter cette distance dans l'éditeur.
- Avantages : fonctionne dans la majorité des cas, à partir du moment où l'on peut positionner le bâtiment (via l'imagerie satellite ou le cadastre). Nécessite peu de matériel (au minimum un mètre).
- Inconvénients : précision limitée, du fait de la position du bâtiment qui peut être approximative, et de la non-prise en compte de l'épaisseur des murs.
- Points de repères : en utilisant des points de repères dont les coordonnées sont connues (à la manière des repères géodésiques), on peut déduire la position des éléments en intérieur. Il faut pour cela au minimum trois points de repères, et effectuer une localisation par triangulation. Les points de repères peuvent être par exemple des bornes utilisant les technologies WiFi, RFID ou Bluetooth.
- Avantages : permet d'obtenir une précision plus grande, et possibilité de calculer la position de manière automatique.
- Inconvénients : nécessite d'avoir au moins trois points de repères, répartis de manière homogène, et dont la localisation exacte est connue.
- Plan existant : en se basant sur un plan existant du bâtiment, il est simple de copier l'information. Chaque bâtiment recevant du public est sensé afficher un plan pour faciliter l'évacuation en cas d'urgence.
- Avantages : ces plans sont précis et de qualité, et la saisie est simple (JOSM permet d'afficher un fond de carte via le plugin PicLayer).
- Inconvénients : ces plans sont à priori non-libres, il n'est pas possible de les diffuser (voir Aspects légaux), mais pourraient servir de base pour la saisie de données. Si vous êtes le propriétaire de plans et que vous souhaitez les mettre à disposition, suivez cette documentation.
Tags
Plusieurs propositions de schémas de tags ont émergées au cours du temps, mais à l'heure actuelle il n'existe pas de consensus large sur la méthode à favoriser. Cependant, certains points communs se retrouvent entre toutes les propositions.
Tag principal
Le tag principal à ajouter pour décrire l'objet en intérieur est le plus sujet à discussion, puisqu'il implique d'utiliser derrière le schéma proposé qui y est associé. On trouve deux tags principaux en compétition : indoor=* et buildingpart=*. Ces deux clés en elles-même permettent de distinguer le type d'espace en intérieur auquel on a à faire (couloir, hall, pièce, ...). La différence porte sur la représentation des niveaux et des connections entre eux. Deux écoles existent : avec ou sans relations. Pour une liste complète, voir Indoor Mapping#Tagging.
Sans relations
La proposition représentante du sans-relation est Simple Indoor Tagging. Elle se veut simple à utiliser, et compatible avec Simple 3D Buildings, le schéma de tags utilisé pour la représentation 3D des bâtiments. Elle s'applique en utilisant le tag indoor=*. Les connections entre étages sont modélisées via le tag door=*, qui correspond aux portes ou points de passages. Les connections verticales (type ascenseur) utilisent également le tag door=*, combiné à repeat_on=*, qui décrit à quels niveaux l'élément est accessible.
- Avantages : la modélisation est simple, ne nécessite pas de connaître le fonctionnement des relations (donc plus simple à appréhender pour les débutants) et couvre la majorité des cas pratiques.
- Inconvénients : l'absence de lien logique direct (du fait de l'absence de relation) peut compliquer l'exploitation des données, mais celle-ci reste tout de même largement faisable.
Avec relations
Plusieurs propositions basées sur les relations existent. La principale est IndoorOSM. On y retrouve trois niveaux logiques. On commence par cartographier un étage du bâtiment, de manière similaire aux autres propositions, en découpant pièce par pièce. Chaque partie de l'étage comporte la clé buildingpart=*. Une fois fait, on rassemble les éléments d'un étage dans une relation type=level, et l'on fait de même pour chaque étage du bâtiment. Une fois fait, les différentes relations d'étage sont regroupées dans une relation type=building. La connexion entre les étages est quant à elle basée sur des pièces identifiées comme buildingpart=verticalpassage. Cette approche pose problème en cas de changement d'apparence de la pièce (i.e. dans le cas d'escaliers)
- Avantages : représentation de l'appartenance des objets à un étage et à un bâtiment plus facilement exploitable du fait de l'utilisation des relations.
- Inconvénients : approche plus compliquée (du fait des relations) pour les débutants.
Tags utilisés
Les tags suivant font à priori consensus, et sont supportés par les outils.
- level=* - Indique à quel étage se trouve un objet au sein d'un bâtiment. Il est à ajouter à chaque objet en intérieur. La valeur est généralement un nombre entier. Le rez-de-chaussée correspond au niveau 0.
- room=* - Indique le type de pièce/espace dans le bâtiment (chambre, couloir, salle informatique, laboratoire, ...).
- entrance=* - Indique qu'un objet est une entrée du bâtiment.
Exemples
Voir Indoor Mapping#Places, ou une carte de montrant des lieux exemples.
Logiciels
Différents projets ont émergé pour permettre l'affichage et l'édition de ce type de données. Leur support des tags utilisés est plus ou moins complet. D'autres projets ont existé mais semblent abandonnés (voir Indoor Mapping#Projects).
Visualisation
Démo en ligne
- OpenLevelUp [1]
- Visualisation des données par étage dans le navigateur web (en Javascript).
- Tags supportés : indoor=*, buildingpart=*
- Licence AGPL 3, disponible sur Framasoft.
- OSMtools Indoor (fork par Clement Lagrange)
- Visualisation des données par étage dans le navigateur web (en Javascript).
- (Projet réalisé pour la visualisation de batiments scolaire et la réservation de salles: voir le github)
- Tags supportés : buildingpart=*
- Licence GPL 3, disponible sur GitHub.
En développement, à installer
- IndoorOSM
- Visualisation des données par étage dans le navigateur web (proposée en 2D et 3D). Possibilité de faire du routage.
- La version de démo en ligne semble indisponible pour la 2D, ne fonctionne que sur un bâtiment pour la 3D.
- Tags supportés : buildingpart=*
- Licence inconnue.
- Osmtools indoor
- Visualisation des données par étage (au départ pour les centres commerciaux) dans le navigateur web (en Javascript).
- La version de démo en ligne semble indisponible, possibilité de l'installer.
- Tags supportés : buildingpart=*
- Licence GPL 3, disponible sur GitHub.
Édition
Les données d'intérieur peuvent être saisies via tout éditeur OpenStreetMap. Mais il est conseillé d'utiliser un éditeur adapté, voici une liste d'éditeurs spécialisés.
- OsmInEdit [2]
- Éditeur web entièrement dédié à la cartographie d'intérieur : gestion de plans images, modes adaptés pour l'édition en intérieur, visualiseur multi-niveaux...
- Tags supportés : indoor=*
- Licence ISC, code source disponible sur Framagit et GitHub
- iD-indoor [3]
- Basé sur iD, augmenté de fonctionnalités dédiées indoor : filtre par étage, tags adaptés, rendu des objets concernés...
- Tags supportés : indoor=*, buildingpart=*
- Licence d'iD, disponible sur Framasoft.
Voir aussi
- Leadme - Projet de matériel pour permettre la cartographie intérieure.