Grenoble/2017 Trees Import

From OpenStreetMap Wiki
Jump to navigation Jump to search


The goal of that import is to import the municipal trees of the city of Grenoble, France.


The import has been done on November 2017.

Import Data


Data source site: Open Data de Grenoble (
Data license: ODbL

OSM Data Files

Three differents XML file for JOSM are generated:

  • one for the creation of new trees
  • one for the update of existing trees
  • one for "non makable" trees (because there are inside existing buildings)

The last file will be eventually uploaded but later because modifications must be done before (on buildings or on trees, depending on each case) to have the trees outside of buildings.

Import Type

The process is semi-automatic: first XML files are generated by the program (Osmaxil), then they are loaded into JOSM to perform manual checks and upload.

Data Preparation

Data Reduction & Simplification

There is no data reduction or simplification, the data are provided as a JSON file and all (not null) attributes are used as they are.

Tagging Plans

On each created/updated tree 4 tags are set (in addition of latitude and longitude) :

  • natural = tree
  • ref:FR:Grenoble:trees = internal reference
  • species = * (or genus = * if there is no value for species)
  • start_date = year (it is used for the planting date)

Note that for updates if the tag is existing the original value is keept.

Changeset Tags

  • source = Open Data de Grenoble
  • source:website =
  • source:date = 2017
  • comment = Semi-automatic import of municipal trees in Grenoble, France
  • website:,_France/Trees_Import

Data Transformation

There is no transformation.

Data Merge Workflow

For each imported tree a first chek is done to verify if the tree is not inside of an existing building. If it is not the case a search is done in order to find all existing trees which are closed to it (current settings is a radius of 5 meters). If there is no existing tree a new one is created from scratch, else the closest existing tree is updated with the coordinates and tag values (unless they already exists) of the imported tree. Note that the closest existing tree must be found even if an existing tree matches several imported trees. A special process is performed on multi matching tree, see the source code of [1].

Team Approach

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

The software itself is available on GitHub :

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


There is no workflow.


As described above all existing trees are keept with an update of their coordinates and some new tags (but their existing tags are untouched).


Result has been tested with arial imagery on thousands of trees (+ few real checks with local mappers) and we can say that the global quality of the result is good.


Matching area radius: 5.0

Total of parsed imports: 30850

Total of filtered out imports: 62

Total of loaded imports: 30788

Total of makable imports: 30737

Total of non makable imports: 51

Total of created trees: 23302

Total of updated trees: 7435

Total of created or updated trees: 30737

Total of multi matching trees: 1450