Building and address import from NLS Finland

From OpenStreetMap Wiki
Jump to navigation Jump to search


2017-10-21: Please note that this wiki page is currently a work in progress. Once it is finished this notice will be removed and a discussion of the proposal will be started at the forum

The purpose of the proposed import is to add missing address addr=* and building area data in Finland, possibly extending at least the INSPIRE address import to other parts of Europe later on.
The data sources are both from the national land survey of Finland, through two different APIs: The building outlines are from the Potential_Datasources#Maastotietokanta, and the address data is from NLS' INSPIRE address interface, which can be used for other countries that provide the same interface required by the INSPIRE directive.

There will be discussion about the import on the forums, link will be posted here once this wiki page and associated resources are ready.

Currently this import is being proposed / developed by landler, supported by Wolt with the aim of improving available map data in Europe for everyone.


The import has these goals:

  • Creation of missing buildings which do not exist in OSM yet
  • Adding address data to existing building outlines that are currently missing address data
  • Establishing a link between OSM data and the National Land Survey's database of addresses & features to allow future automatic correction updates by adding ref:mtk:gid=* and source:addr=nls:inspire_ad
  • (probably) adding addr:country=FI to all buildings that match the new data. To be discussed.


The project was started in late October 2017. It is currently in testing / development.

Early tests have been performed on the development servers:

Import Data


The data, supplied by NLS (National Land Survey of Finland), are fetched from two WFS APIs:

The data is fetched with python code, and transformed to OSM files.

This data provided by NLS has previously been determined to be OK and legal for use in OSM - due to this, NLS is mentioned already on

OSM Data

The import aims to add address data to existing areas with building=* tags that don't have address data. It also aims to add all missing buildings in Finland as closed ways, with correct address data and building tags. For address points that do not overlap with any (existing or newly imported) building, a new address point is created. Existing data will not be overwritten in any circumstance.

Import Type

First, all missing buildings (buildings from NLS data whose polygon's don't intersect with any existing building in OSM) will be imported.

After that, another pass will be run that will update all existing buildings that are missing address data with correct address data.

Data Preparation


Data Reduction & Simplification

The scripts check for polygon intersections, and will never insert a building that would overlap with an existing building. No existing data will be overwritten.

Tagging Plans

All added or modified buildings will be tagged with:

  • addr:housenumber=*
  • addr:postcode=*
  • addr:postcode=*
  • addr:street=* (Default to Finnish for consistency)
  • addr:street:fi=* (If available in Finnish)
  • addr:street:sv=* (If available in Swedish)
  • building=* This will be either residential, industrial, commercial, bungalow or church based on NLS data
  • ref:inspire:local_id=* This will be the "localId" part of the INSPIRE identifier of the address. This is kept to signify from which data point in the source data the data came from.
  • ref:inspire:namespace=* This will be the "namespace" part of the INSPIRE identifier of the address. This is kept to signify from which data point in the source data the data came from.
  • ref:mtk:gid=* This is the global ID to NLS' data on the building outline. This is kept to signify from which data point in the source data the data came from.

Changeset Tags

The changesets will be uploaded using the account TBA.

The changeset will be tagged like this:

Data Transformation

The data is transformed with custom python code, available at TBA






The import process will be tested extensively on the test servers before being used in production. We will start with remote / small places and verify the quality & process there. After that we will import data in a few larger cities, and only after that has been proven to work nicely, start a country-wide import.