Import/New Zealand Street Addresses (2021)
This page documents a plan to continue the 2017 import of street address data from Toitū Te Whenua Land Information New Zealand (LINZ) into OSM. Since the initial import in 2017, the imported data has become out of date.
This project aims to update the address data and set up a system to regularly update addresses in OSM, by conflating them with the data from LINZ.
- To import the 161,000 missing addresses for the New Zealand mainland (and the outer islands, where data exists)
- To fix typos and other issues with 17,000 existing addresses in OSM that were added in 2017.
- To add the ref:linz:address_id=* tag to 40,000 addresses where the tag was not added during the initial import, or where it was removed when address points were manually merged with buildings
- To delete 11,000 addresses that were imported but since deleted by LINZ. See the #Address Deletion section below
- To set up a system that is simple and efficient, which allows OSM street address data to be regularly conflated with LINZ's data
Data source & Import code
The source code is available from.
How it works
A script would run regularly which compares the latest LINZ Street Address data with the latest OSM data for the New Zealand mainland. This script takes approximately 10 minutes to execute. This script automatically runs bi-weekly using GitHub Actions, and the generated files are stored in a free.
This script conflates the street address data from LINZ with OSM and categorizes each address into one of the categories in the table below, depending on what changes are required.
How do I contribute?
The tool is available from the a link on the homepage.
Each address in the LINZ data is processed, and categorized as follows:
||An address node already exists in OSM with the same ref:linz:address_id=*, and the data is correct||none|
||An address node exists in OSM with the same ref:linz:address_id=*, BUT the data in the OSM node doesn't match LINZ's data||Anyone can use the fork of RapiD to edit this data|
||There is no OSM address node with a matching ref:linz:address_id=*, BUT there is an OSM address node with the same data, just no ref:linz:address_id=*|
||There are multiple address nodes for this address, none of which have a ref:linz:address_id=*|
||There are two different nodes in OSM with the same ref:linz:address_id=*||Requires manual action for complex situations|
||The address exists in OSM, with the ref:linz:address_id=* tag but the coördinates are totally wrong (>500metres away from the gazetted location)||Anyone can use the fork of RapiD to add, move, or delete this data|
||Address doesn't exist in OSM at all|
||The address was imported from LINZ, but since then LINZ has deleted the address (see #Address Deletion)|
||The address was imported from LINZ, but since then LINZ has deleted the address. However, an OSM mapper has added business/POI information to the address node (e.g. name=*, shop=*, craft=*). See #Address Deletion.||Requires manual action|
||The address in OSM contains multiple ref:linz:address_id=*, separated by a semicolon.||Anyone can use the fork of RapiD to edit this data|
||LINZ has changed the value of ref:linz:address_id=*. Effectively a delete and a re-create with a new ID.|
||Addresses in OSM that are
||none, just for statistics|
||Similar to #9. The address was imported from LINZ, but since then LINZ has deleted the address. However, an OSM mapper has merged the address node into a building. We won't delete the building, but we will remove the address tags from it. See #Address Deletion.||Anyone can use the fork of RapiD to edit this data|
||The address exists twice in OSM: once on an imported node, and once on a building. We will merge the node into the building. This is usually caused by StreetComplete users.|
The tagging scheme used is the same as the original 2017 import:
|LINZ Field Name||OSM Tag|
||addr:suburb=* if urban, addr:hamlet=* if rural|
||Not included, but the presence of this field determines urban vs rural above|
||If present, addr:type=water will be added.|
- building:flats=* - added if multiple flats are stacked together.
- check_date=* - added by the editor if an importer ignores the suggestions from the conflation service. Addresses with a
check_datewill be ignored by the conflation process if the date is less than a year ago.
This table will be updated as the project progresses.
|Duplicate data being imported||The fork of RapiD has an added feature to prevent duplicate addresses being imported based on the ref:linz:address_id=* tag. This conflation happens in real-time, in the browser|
|Multiple people editing the same dataset at the same time||Users will be presented with a warning if someone else is/was editing that dataset in the last hour|
There are cases when an address was imported into OSM from LINZ, and then deleted by LINZ. Part of this proposal is to delete previously imported addresses in OSM that have been deleted by LINZ. This is possible using the fork of RapiD.
Example: In the following image, address 14 Subdivision Road has been deleted because it no longer exists. Five new properties now occupy the formerincluding a new road.
Out of scope
- Dealing with duplicate addresses in OSM. If one address has a ref:linz:address_id=*, this project will normally ignore any other identical addresses. There is one exception where this is automatically fixed, see
Discussion with the community
During testing,was uploaded to OSM and then deleted.
- Main wiki page for imports from LINZ
- Background information about NZ addresses:
- Previous address import: Wiki Page and Code (link no longer works)
- See here for information about stacked addresses