I downloaded some shapefiles from the Australian Bureau of Statistics (ABS). Its basically showing a bunch of suburbs when I view the shapefile through a GIS tool. The GIS tool that I am using at present is the GIS GRASS 6.4.2 tool.

When I extract the polygons of each postal out of the shapefile I noticed that some postal codes overlap with one another.

I assume this should not be the case, and the correct display is to make sure the overlapping postal codes exclude on another in areas that they overlap.

Is there some tool I can use to make sure that no postal codes overlap one another?

  • 1
    I know in the UK it would be completely normal to have overlapping Postcodes, for example vertical postcodes, where one building is so big it has multiple postcodes dependent on the floor. These would be overlapping. Apr 16, 2014 at 9:36
  • You would see this in US postal code boundaries too. I've also seen streets with houses where every other house on the same side of the street is in a different zipcode (2 zip codes interwoven) and that will often be represented as overlapping polygons. At least until the USPS reworks the 2routes (which is a challenge w/ with postal boundaries...since they are representing linear and dynamic entities as polygons). Apr 16, 2014 at 11:18
  • Essentially I have used ogr2ogr and Grass tool in the past and was wondering if this could help
    – Allen Ho
    Jun 26, 2014 at 0:41
  • 1
    Could you edit your Question to indicate whether Answers will be available for Accept-ance from all GIS products or if you are placing restrictions on what may be used in an Answer, please? Also, are you just looking to identify the overlaps, or to resolve them as well? For the latter you would need to specify the business rules that you wish applied to resolving the overlaps. For example, the larger/smaller of two overlapping postcodes may have higher priority to be retained in its entirety?
    – PolyGeo
    Jun 26, 2014 at 0:59
  • Note that the ABS supplies "postal areas" rather than official "post codes" as used by Australia Post (see reference) Jun 26, 2014 at 1:42

2 Answers 2


Australia post used to give out a CSV (or was it pipe delimited) file with suburb to postcode lookup, even then some suburbs had multiple post codes and some suburbs weren't represented - the GPO postcodes, post boxes and commercial postcodes (yes, you can buy your own post code so it covers only your business).

Now you actually have to purchase the data it's $55 AU for 12 months, so any data that you've downloaded in GIS format is likely to be dodgy; As Stephen Indicated you've probably got postal areas instead of post codes. Postal areas show which post office delivers there and they do overlap, post codes show what to put in the 4 boxes on a parcel/envelope address.

There is a PDF that is free for non-commercial use but good luck turning that into viable data - it's formatted with headers and footers and there's a lot of them but if you're keen this is the way to do it.

Download suburbs of Australia by each state. Be aware that suburbs change frequently and should be sought for local areas by LGA to be most accurate; different LGA authorities have different policies on giving data away and some don't have very good GIS capabilities so are unlikely to be sharing. I recommend getting suburbs by state from each State Government as the LGA has to report parcel/suburb/boundary change to each states' Department of Lands to be incorporated into the DCDB package which is released monthly.

When you have your suburbs and your list converted from the postcode pdf you will still need to do some edits as the suburb names will not match all the time and sometimes suburb names are duplicated (up to three times from memory in Queensland) so you will need to edit the shapefile name to match the postcode name then join the data and you're done.

This process should take about a week (5 days at 8 hours a day) to complete, this is an extrapolation as I did Queensland in 12 working hours.


It would be easier to answer if you could provide an example (image) of what you want to do. Basically, overlapping polygons that you do not want to overlap is a topological problem. For this kind of problem, you can use the v.clean command in GRASS. This command can fix several error. In your case, bpol ( break (topologically clean) polygons (imported from non topological format, like ShapeFile). Boundaries are broken on each point shared between 2 and more polygons where angles of segments are different) and rmarea (remove small areas, the longest boundary with adjacent area is removed) could do the trick.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.