OpenStreetMap logo OpenStreetMap

François2's Diary

Recent diary entries

Pour ceux qui ne connaissent pas indoor=, je vous invite à consulter le billet d’introduction. En bref, c’est une carte qui affiche les espaces intérieurs d’OpenStreetmap avec un sélecteur de niveaux.

Indoor= a toujours eu pour but de faciliter le travail des contributrices et contributeurs en ayant des données le plus à jour possible avec la mise à jour horaire des données d’OpenStreetMap. Malgré cette fréquence, il était frustrant d’attendre le rendu plusieurs dizaines de minutes pour se rendre compte d’une erreur.

Pour éviter cette embuche et réduire le temps de retour sur son travail, vous pouvez désormais prévisualiser vos changements sur indoor= avant de les envoyer sur OpenStreetMap.

Le plus simple pour l’utiliser est d’utiliser JOSM. Vous enregistrez vos modifications au format GeoJSON, et vous les envoyez sur indoor=.

Démonstration

Voir la vidéo de démo

On le voit, une fois le fichier sélectionné, une interface spécifique apparait, et il est facile de choisir une nouvelle version pour permettre de corriger ou d’améliorer les modifications.

Précisions, le rendu GeoJSON est une prévisualisation, il ne sera pas le reflet parfait du rendu final:

  • la gestion des caractères latins et non latin des POIs n’est pas géré

  • les surfaces contiguës area/corridor ne sont pas fusionnées

  • certains POIs ne sont pas correctement gérés

  • les performances sont moins bonnes

  • il n’est pas encore possible de cliquer sur les POIs

Essayez la prévisulation dès maintenant !

Si vous trouvez de grosses différences ou pour tout autre retour, n’hésitez pas à créé un ticket sur GitHub.

Preview your changes on indoor=

Posted by François2 on 13 December 2021 in English. Last updated on 14 December 2021.

For those who have never heard of indoor=, you may want to read the introductory blog post. In short, it is a map that displays the indoor data of OpenStreetmap with a level selector.

Indoor= has always aimed to facilitate the work of contributors by having the most up-to-date data possible with the hourly update of OpenStreetMap data. Despite this frequency, it was frustrating to wait several tens of minutes for the rendering to realize an error.

To avoid this hassle and to reduce the time of feedback, you can now preview your changes on indoor= before sending them to OpenStreetMap.

The easiest way to use it is to use JOSM. You save your changes in GeoJSON format, and send them to indoor=.

Demo

View the demo video

As you can see, once the file is selected, a specific user interface appears, and it is easy to choose a new version to correct or improve the modifications.

Note that the GeoJSON rendering is a preview, it will not be a perfect reflection of the final rendering:

  • the management of latin and non-latin characters of POIs is not managed

  • contiguous area/corridor surfaces are not merged

  • some POIs are not correctly managed

  • the performances are less good

  • it is not possible to click on POIs yet

Give it a try!

If you find big differences or for any other feedback, feel free to create a ticket on GitHub.

A heat map and a new styling for indoor=

Posted by François2 on 25 November 2020 in English.

For those who are not familiar with indoor=, I recommend consulting the introductory post. In short, it’s a map that displays the interior spaces of OpenStreetmap with a level selector.

A new version is available with improvements such as the heat map and a new styling.

Heat map

To rapidly visualize locations that are indoor mapped, indoor= can now display a low zoom heat map.

A heat map to locate indoor mapped locations in OpenStreetMap
A heat map to locate indoor mapped locations in OpenStreetMap

It will therefore be much easier to locate indoor mapped locations. Here are a few places that I discovered:

This work was carried out by Adrien Pavie.

New styling

In order to clearly distinguish the different interior spaces, the styling has been largely revised.

  • Rooms with interest points are in blue
  • The other rooms are in yellow
  • Traffic areas are in white
  • A specific icon set to make the click more explicit has been added

In addition to the indispensable vending machines for drinks and other delicacies, you will also be able to see the ping-pong and foosball tables.

A ping-pong table at the École Centrale d'Électronique, Paris, France
A foosball table in Arkose, Pantin, France

This work was carried out by Jawg.

Other improvements

  • Multiple interest points have been added
  • The display of the interior doors has been corrected

Integrate indoor= in your map

Do you want to add interior spaces to your map? Use the mapbox-gl-indoorequal library and create your free API key on indoorequal.com.

If you are not using mapbox-gl, the schema has been updated so you can make your own integration: indoorequal.com/schema.


Thanks to everyone who contributed to this version.

To have a look at all of this, you can go on indoor=.

And to learn more about mapping indoor spaces, please visit the wiki page Simple Indoor Tagging.

A new version of indoor=

Posted by François2 on 3 July 2020 in English.

Note: I also posted this on my blog.

For those who have never heard of indoor=, you may want to read the introductory blog post. In short, it is a map that displays the indoor data of OpenStreetmap with a level selector.

I’ve released a new version of indoor= that brings visual, interaction and deployment enhancements.

Visual Enhancements

Display of contiguous areas without walls

Previously, contiguous areas and corridors were rendered with a border, whereas the documentation states that they have no walls. They are now merged to avoid any rendering with a separation. The difference is noticeable in some areas.

Gare Saint-Lazare, Paris France
Gare de l'est, Paris France

Columns management

The indoor=column tag is an undocumented but fairly widespread (> 2000 uses) tag that is used to render indoor poles.

Room Names

In most public buildings, rooms have names. It is displayed in the centre of the room.

Musée du Louvre, Paris France

Points of interest details

It is possible to display details on a point of interest. To do so, click on the icon or the name of a point of interest.

Different details are displayed such as the phone number, the website, the facebook page or the accessibility of the place.

Openmaptiles-tools update

indoor= is built with the invaluable help of openmaptiles-tools. Version 5.2 is now in use which brings many improvements. For instance, it is much easier to render a planet sample and retrieve a mbtiles file.

Other new features

Translation

It is possible to translate the interface of indoor= into your language. Please visit Transifex for this matter.

Indoor= integration in your map

If you missed it, it is possible to integrate the tiles and the indoor= style everywhere with the mapbox-gl-indoorequal plugin.

What’s next?

Do you have any improvement ideas? You can submit your requests on the github project page.

indoor=

indoor= est un nouveau rendu des données des espaces intérieur d’OpenStreetMap. Il permet d’afficher les étages d’un bâtiment, niveau par niveau.

Lorsque vous êtes à une distance proche d’un bâtiment qui a été cartographié en intérieur, vous voyez apparaitre l’étage ainsi que la liste des niveaux. Le sélecteur d’étages permet de changer l’étage affiché.

indoor= à la gare Saint-Lazare, Paris.

Quelques exemples

Vous pouvez également utiliser le menu Explore intégré à l’application pour voir des exemples un peu partout dans le monde.

Un point de vue technique

Le schéma d’attribut supporté est Simple Indoor Tagging.

indoor= utilise des tuiles vectorielles qui contiennent exclusivement les données intérieure. La création de celles-ci utilise les outils OpenMapTiles.

Le fond de carte utilisé est fourni par MapTiler.

Pourquoi indoor= ?

indoor= est une référence à l’étiquette indoor dans OpenStreetMap qui est utilisé pour cartographier les données intérieure.

Quelle est la couverture ?

La couverture est mondiale.

Quelle est la fréquence de mise à jour des données ?

La mise à jour des données est pour le moment horaire.

A quoi cela sert-il ?

Cela permet de naviguer dans les bâtiments, préparer sa visite, voir ses correspondances…

Pour les contributeurs OpenStreetMap, il permet également d’éditer OpenStreetMap et de valider le travail effectué d’une manière visuelle.

La suite

Maintenant que la base est prête, l’idée est de travailler sur un meilleur rendu de la carte avec plus de couleurs et d’autres fonctionnalités.

Si vous avez des idées ou des retours, dites le moi !

Quelques liens

indoor= indoor= is a new rendering of OpenStreetMap’s indoor data. It displays the building’s floors, level by level.

When at a proper zoom level and centered on an indoor mapped building, the indoor data of each floor and the list of the levels will be displayed. The level selector allows you to change the displayed floor.

indoor= in the Saint-Lazare train station, Paris.

A few examples

You can also use the Explore item in the menu of the website to discover more examples around the world.

A technical point of view

The supported attribute scheme is Simple Indoor Tagging.

indoor= uses vector tiles that contain only indoor data. The creation of these tiles uses the OpenMapTiles tools.

The map background used is provided by MapTiler.

Why indoor=?

indoor= is a reference to the indoor tag in OpenStreetMap that is used to map the indoor data.

What is the coverage?

The coverage is global.

How often is the data updated?

The data is currently updated on a hourly basis.

What is it used for?

It allows you to navigate in the buildings, prepare your visit, see your connections…

It also allows OpenStreetMap contributors to edit OpenStreetMap and validate their contributions in a visual way.

What’s next ?

Now that the base is ready, the idea is to work on a better rendering of the map with more colors and other features.

If you have any ideas or feedback, let me know !

Montrouge à 360° avec Mapillary

Posted by François2 on 18 December 2018 in French (Français). Last updated on 18 November 2019.

Depuis quelques mois nous sommes un petit groupe (@Phyks, @overflorian, @François2, @Yxoc) à cartographier Montrouge. Pendant une partie du mois de Novembre, nous avons pu disposer d’une caméra 360. Le projet de capturer Montrouge en photo sur Mapillary a pu commencer. En 3 semaines nous avons couvert 50% de la ville.

Avant:

Image avant

Après:

Image après

Voir sur mapillary

Le matériel

Pour prendre les photos, nous disposions

  • d’une caméra LG 360 (un des modèles les plus abordables, 200€ neuf)
  • Une perche à selfie (un mètre minimum)
  • Un smartphone avec l’application LG et un enregistreur de traces (OsmAnd~ avec un point toutes les deux secondes) pour une meilleure corrélation ensuite

Les résultats

  • 3 personnes (Phyks, overflorian et François2)
  • 7h heures de prises de vue (Phyks : 3h, François : 4h)
  • 4200 photos (François: 2.9K, Phyks : 1,3K)
  • 8 heures de retraitement (Phyks : 3h, François : 5h)
  • 20.2 kilomètres couverts (environ la moitié de la ville) (François: 14.6km, Phyks : 6.6km)

Quelques conseils

Pendant la prise de vue

Nous avons pris les photos en tenant la perche à selfie verticalement, à hauteur d’épaule. La caméra se trouvait donc à environ un mètre au-dessus de notre tête, ce qui permet d’avoir assez de dégagement et de ne pas occuper trop d’espace avec la tête sur la prise de vue.

Quelques astuces pour faciliter le positionnement des images après coup :

  • Il faut toujours orienter la caméra dans le même sens, afin de faciliter le réglage de l’orientation après coup dans Mapillary. D’autre part, la caméra a une face “avant” et une face “arrière” qu’il vaut mieux respecter. Il est possible de corriger l’orientation a posteriori, avant envoi à Mapillary, mais cette opération est très longue et fastidieuse.
  • Il vaut mieux faire les rues par tronçons (entre deux croisements) complets, autant que possible, pour pouvoir positionner finement les images plus simplement.
  • Éviter de traverser une rue en cours de route, essayer d’être le plus rectiligne possible
  • Marcher toujours à la même vitesse

Les endroits

Il est plutôt sympa d’essayer de tout prendre en photo. Ce qui comprend les impasses, les parties piétonnes et les parcs ! Ces lieux sont rarement pris en photos par les autres services de photographie de rues et sont donc d’autant plus utiles !

Le positionnement des photos

La partie la plus chronophage, surtout au début, est le repositionnement des photos à leur emplacement exact. En effet, en ville la trace enregistrée n’est pas très précise. Pour que les photos soient facilement utilisables, la correction de leur positionnement est nécessaire.

Nous avons utilisé JOSM avec les plugins suivants :

  • photoadjust
  • photo_geotagging

Pour un premier positionnement des photos dans JOSM :

  1. Ouvrir la trace GPX dans JOSM
  2. Charger les photos dans JOSM
  3. Corréler les photos sur la trace GPX (en surchargeant la position enregistré dans les données EXIF)

Vient ensuite le moment où il faut recaler les photos sur leur emplacement réel. Il faut déplacer les photos une par une. À la fin du processus, vous pouvez sauvegarder les nouvelles coordonnées dans les métadonnées des images. Il ne reste ensuite plus qu’à les envoyer sur Mapillary.

Note : L’envoi sur Mapillary par le plugin JOSM directement ne fonctionnait pas pour nous. Ce n’est pas très grave et si les photos ont été correctement positionnées, il est possible d’utiliser l’envoi en ligne ou les scripts.

Au vu du temps nécessaire pour recaler ces photos une par une, nous avons commencé a modifier JOSM et le plugin photoadjust pour nous faciliter les choses. Une première fonctionnalité a été prototypée. Une fois positionnées deux photos (typiquement au début et a la fin de la rue), le plugin positionne les photos intermédiaires sur une ligne droite en les espaçant de manière régulière. Il est donc important d’avoir pris des photos en marchant autant que possible à vitesse constante et en ligne droite. Le positionnement des photos aux extrémités est en général le plus facile car on peut s’aider des photographies aériennes et des données OSM pour repérer un certain nombre d’éléments (coin de bâtiments, passages piétons, fin de stationnement, parfois même les corbeilles de rues si la photographie aérienne est suffisamment précise). Le résultat est en général très bon, avec uniquement quelques corrections à faire sur les images intermédiaires. Les numéros de bâtiments et photographies aériennes (pour repérer les stationnements ou les coins de bâtiments) sont de précieux outils.

Location: Quartier Vieux Montrouge, Montrouge, Antony, Hauts-de-Seine, Île-de-France, France métropolitaine, 92120, France