Paris, France/Buildings Heights Import

From OpenStreetMap Wiki
Jump to navigation Jump to search
3D view of Paris


The goal of that import is to update existing OSM buildings of Paris with height information (ie. Key:height or Key:building:levels tag).


Almost all parisian buildings are already into OSM (thanks to the data import of the French land registry) but there is no height data and so no realistic 3D view of the city of Paris is possible. Luckily enough, the city of Paris has an OpenData website (called ODP from now on) where building data, including coordinates and heights (number of floors in fact), are available under the ODbL licence. I wrote a Java software in order to import the height data into the OSM database.

The main difficulty about this import is that the building shape cutting of the French land registry (and the OSM existing buildings) is much less accurate than the one of ODP. Therefore, one OSM building can match many ODP buildings. That's why a matching score must be calculated for each OSM building having one or more ODP buildings matching with it (an ODP building matches an OSM building when its coordinates are inside the OSM buildings). The matching score is based on the ratios of the surfaces of the matching ODP buildings to the surface of the OSM building. A minimal matching score can be defined (currently 80%) and only OSM buildings whose matching score are higher than the minimal score are updated.

In the following example the OSM building can be updated with levels=6 because 82% of its surface has 6 levels:

OSM vs ODP building.jpg

For more information you can check the GitHub software page:


The import should be launched only once in April 2015.

Import Data


Data source site:
Data license:
Type of license: ODbL.

OSM Data Files

There's no prepared files since the import program updates directly buildings into the OSM database via the OSM API.

Import Type

The import is designed to be launched one-time (although it can be relaunched many times).

All the process is automatic and done in one shout.

Data Preparation

Data Reduction & Simplification

There's no special reduction or simplification a part of the fact that only following fields are extracted from the available data:

  • levels of buildings
  • coordinates of buildings (in order to perform the matching with OSM building)
  • areas of buildings (in order to compute matching scores)

Tagging Plans

On each created changeset there are 2 tags :

But maybe it would be better to set the source tag on each updated building because it's more visible (need to clarify that point).

Changeset Tags

Every 1000 updated buildings a new changeset is created with the tags described above.

Data Transformation

The only data transformation is to add a new building:levels tag to the way-building, nothing more.

Data Merge Workflow

There's no merge workflow because data are directly imported via the OSM API.

But note that the import is not aggressive: it updates a building only if the relative way element has no building:levels tag already present. That way it cannot disturb works of other contributors.

Team Approach

I'm doing it solo for now but any help or suggestions are welcome.

The software itself is available on GitHub : (the name of the project could change in future).

Of course the import has been discussed on the talk-fr mailing list.


Well there's no really workflow since the import process is fully automatic. The only thing to do is to the launch the main class :)


As described above there's no big risk of conflation since the program doesn't touch buildings which have already a building:levels tag.


In fact the import has already been applied on the test server ( a few weeks ago and it was restricted on a part of Paris. More exactly it's was restricted on an area between Bastille, Gare de Lyon and Nation which represents ~1/30 of the total area of Paris. From what I have seen it looks good. The only bad point is that only ~50% of the building have been updated but it's normal since the minimal matching score was set to 80%.


The import in live environment has been launched on 2015-04-22 with a minimal matching score of 80%.

Here are some statistics :

  • Total of loaded ODP imports: 352293
  • Total of matched ODP imports: 293527
  • Total of matched OSM buildings: 86723
  • Total of updated OSM buildings: 49004

The import has updated 56% of all parisian buildings with their real building:levels.


For info I had started to develop a new more ambitious import: instead of just adding the height information it recreates entirely buildings "from scratch".

The development was stopped for lack of time but here are some visible results with the JOSM Kendzi3D plugin: