Changes to New Zealand's address scheme

Hi, this is a cross-post of a message sent to the talk-nz mailing list.

Toitū Te Whenua/LINZ has recently made a mass-update to their Address dataset, which is used in OpenStreetMap.
Every address now has a “Town/city” field. Previously, there were 318,000 rural addresses that did not have a Town/City field.

OpenStreetMap currently uses addr:hamlet for rural addresses with no town/city, and addr:suburb + addr:city for urban addresses.
I believe this decision was made during the original import in 2017.

The address dataset from LINZ no longer gives us a way to distinguish urban vs rural addresses, which we previously did based on the presence of the Town/City field.
Therefore, every address in OSM will now have to use addr:suburb + addr:city, so there will be no more addresses in OSM with addr:hamlet.

Said differently, this means every address in NZ would follow this format (instead of the 2 separate formats we currently use):

housenumber street
city postcode

If everyone is happy with this change, I propose we do a bulk update using at most 100 changesets with 10,000 modifications per changeset, to avoid a spam of changesets.
The bulk update would only affect 3 tags: addr:suburb, addr:hamlet, and addr:city.
All other address updates will continue to happen via the usual system.

Any thoughts or suggestions would be appreciated. The original email from Toitū Te Whenua LINZ can be viewed on the talk-nz mailing list. The information in that email about macrons is not applicable to OSM since addresses have already used names with macrons since 2021.


(this reply was also posted to talk-nz)
Hi Kyle,

thanks for the update.

I don’t think that "every address in OSM will now have to use “addr:suburb” + “addr:city”, just because LINZ has changed to use this scheme.
Many of these places aren’t suburbs of cities, and IMO shouldn’t be mapped as such.

I’ve had a quick look at the data.

NZ Suburbs and Localities table has fields

  • type - Locality or Suburb
  • name
  • major_name
  • major_name_type - Major Locality, Town, or City

Quite a few of the major localities have name == major_name

In the NZ Addresses table, the relevant fields are

  • town_city - I interpret this as either town or city name
  • suburb_locality - either suburb or locality name

Take Acton, a Locality in Southland. An example full address from the NZ Addresses table is “157 Oswald Road, Acton” note it is not Acton,Acton

Another example, Mayfield, Ashburton. A small village 34km away from the town of Ashburton, separated by rural land. Not a suburb of the “city” of Ashburton.

Ugh, its complicated! I’m not sure there’s an easy answer.

Thanks for taking a look at this problem Eliot.

I also think it’s strange that very rural addresses now have a town/city attribute.
For example, this address now has town_city=Ross in the LINZ dataset, which feels semantically incorrect…

Another option would be to consider rural/urban boundaries during the import process.
For example, this excellent dataset from StatsNZ, or a similar but out-of-date equivilant from LINZ.

I see Statistics NZ listed on the legal page in the wiki, however Stats NZ now uses a different license (CC 4.0) so I think we need explicit permission since that the license has changed.

If we processed the rural/urban boundaries ourselves, we could stick with the existing system using addr:hamlet and addr:suburb.

I emailed Stats NZ about how their new license affects OSM’s use of their data, but I got a somewhat vague response:

Kia ora Kyle,

Thank you for contacting StatsNZ.

There is no issue using our data to be incorporated as long as the conditions are met for the CC 4.0 license. This link here outlines the details of the conditions: CC BY 4.0 Deed | Attribution 4.0 International | Creative Commons.

Ngā mihi,

Information and Outreach Advisor | Kaitohutohu – Toro Haere Me Ngā Mōhiohio
Data Services | Ngā Ratonga Raraunga
Stats NZ | Tatauranga Aotearoa

I assume this means we can use their Rural/Urban boundaries during the address import process to determine whether we should use addr:suburb or addr:hamlet. I will give this a go in the near future.

I had a look at the practicality of using the Rural/Urban boundaries from Stats NZ. If we adopted this classification, there are much fewer changes required:

  • 18,249 addresses with addr:suburb would change to addr:hamlet
    • based on this visualisation, these changes seem resonable since the addresses are genuinely rural.
  • 33,286 addresses with addr:hamlet would change to addr:suburb
    • over 50% are from greenfields developments that have recently been urbanised (e.g. Karaka, Drury, Pōkeno, Jacks Point). The other 50% are from addresses on the fringes of urban areas. see map.
  • 10,518 suburb/localities have changed names

these potential changes can be viewed on a map here. red = Urban to Rural, green = Rural to Urban.

I would recommend that you adopt the approach we’ve used in AU. Import the NZ bounded localities and then you don’t need any of the address tags beyond the street level.

Boundaries are certainly a good idea, thanks. We already have 2 million addresses with addr:suburb or addr:hamlet, so it would be good to decide whether we continue using one or both or neither of these tags.

As well as boundaries, I see that australia uses a mix of addr:suburb and addr:hamlet (source1, source2). @TheSwavu any idea how Australian mappers/importers decide which of the 2 tags to use? I see addr:suburb is used in some very rural areas

The recommendation is that if you are going to put in the extra address details then they should all be addr:suburb (Australian Tagging Guidelines/Australian features - OpenStreetMap Wiki). But as you have discovered it is all a bit of a mess at present. If you use iD to enter addresses in AU it’ll put them under suburb.

@EliotB what are your thoughts on using addr:suburb for both rural and urban addresses, like Australia does? With this method, I suppose rural addresses would not have addr:city.

Alternatively we could maintain the status quo with minimal changes required.

copied from talk-nz:

If there are no objections, I propose we maintain the current status-quo (a mix of addr:suburb and addr:hamlet). This option will require bulk-updating only 60,000 addresses, for cases where LINZ’s previous classification doesn’t match the current rural/urban boundaries.

This is less than the 318,000 modifications that would be required for the alternative solution (replacing addr:hamlet with addr:suburb everywhere).

Some more info in this comment:

1 Like

Thanks for this. I agree with your proposal to keep the current mix, with rural/urban updates.

1 Like