Locating Addresses with G-NAF


April 30, 2020

A very useful open dataset the Australian Government provides is the Geocoded National Address File (G-NAF). This is a database mapping addresses to locations. This is really useful for applications that want to provide information or services based on someone’s location. For instance you could build a custom store finder, get aggregate details of your customers, or locate business entities with an address, for example ATMs.

There’s another open and editable dataset of geographic entities, Open Street Map (and it has a pretty good open source Android app OsmAnd). Unfortunately the G-NAF data can’t be used in Open Street Map because it has a restriction (that you need to verify an address before you send mail to it) that’s incompatible with Open Stree Maps licence. This is really annoying because there are lots of gaps in Open Street Map’s addresses which makes it difficult to use for navigation. Though it is possible to import to a local instance. I’m still not sure how to use this effectively in OsmAnd.

The G-NAF data is a bit convoluted to use directly but there exists code to load into Postgres or even use it in a web interface. I’m really impressed that the government made this open and that it’s regularly updated.