Skip to content

LukePrior/nbn-upgrade-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NBN FTTP Upgrade Map

Tests MegaLinter

Progress Progress Updated

The Australian National Broadband Network (NBN) announced an on-demand upgrade program for select premises serviced via Fibre to the Node (FTTN) and Fibre to the Curb (FTTC) to Fibre to the Premises (FTTP) in October 2020.

NBN has progressively announced towns and suburbs where FTTN users will be eligible for a FTTP upgrade (FTTC areas aren't disclosed by NBN).

The details regarding actual availability of the program are limited with not all households in announced suburbs eligible for upgrades.

To address these concerns this project runs automated checks against the announced suburbs to generate interactive maps showing which premises are ready to upgrade. You can see the current version of this data at https://nbn.lukeprior.com

Website Screenshot

Tech Explanation

To know what premises reside within a given town/suburb the Geocoded National Address File of Australia (GNAF) is used which contains 15.4 million Australian addresses. This dataset is provided over multiple files and requires significant processing before it can easily be used with a databse solution such as PostgreSQL, Hugh Saalmans has created gnaf-loader a Docker container which contains the GNAF dataset and administrative boundaries in PostgreSQL which is used. He has also created a slide-deck explaining the GNAF dataset.

To check each address the NBN places APIs are used both to determine the LocID for a given address and then the premise details. These APIs are the same ones used on the main NBN Fast Fibre website. To speed up the process up to 20 simultaneous requests are made to these APIs by using the Python ThreadPool.

The results of these checks are stored in GeoJSON files for each suburb containing the coordinates, street address, current NBN technology, NBN LocID, and NBN Fibre upgrade eligibility. These files can be found in the results folder and can be viewed from within GitHub.

GitHub Screenshot

To improve the user experience a simple site is available for viewing this data, the website uses Leaflet to display the selected data with colour coded markers and info popups containing additional information for each premise.

The updating of data is performed with a GitHub Actions workflow that accepts a target suburb and will automatically fetch and publish all the data.

If you would like to see an additional suburb added please open an issue.

Map Legend

The map uses colour-coded markers to indicate the NBN technology type and FTTP upgrade eligibility status for each address. The colours are determined by the following conditions (in order of priority):

FTTP Technologies (Green)

  • 🟢 FTTP (Dark Green) - Address already has FTTP technology, or has been upgraded to FTTP (tech_change_status = "New Tech Connected")
  • 🟢 FTTP Upgrade (Medium Green) - Address is eligible to order FTTP upgrade immediately
    • Conditions: tech_change_status = "Eligible To Order" AND current tech = FTTN or FTTC
  • 🟢 FTTP Upgrade Soon (Light Green) - Address will be eligible for FTTP upgrade soon
    • Conditions:
      • tech_change_status = "Build Finalised", "MDU Complex Eligible To Apply", or "MDU Complex Premises In Build" AND current tech = FTTN or FTTC, OR
      • target_eligibility_quarter is less than 3 months from the data generation date AND current tech = FTTN or FTTC, OR
      • Legacy records (pre-November 2023) with upgrade = "FTTP_NA"

Other Upgrade Technologies (Blue/Cyan)

  • 🔵 Other Upgrade (Blue) - Address is eligible to order non-FTTP upgrade immediately
    • Conditions: tech_change_status = "Eligible To Order" AND upgrade to non-FTTP technology
  • 🔵 Other Upgrade Soon (Cyan) - Address will be eligible for non-FTTP upgrade soon
    • Conditions: Similar to "FTTP Upgrade Soon" but for non-FTTP technologies

Current Technologies (No Upgrade Available)

  • 🟡 HFC (Yellow) - Address currently has HFC (Hybrid Fibre Coaxial) technology
  • 🟠 FTTC (Orange) - Address currently has FTTC (Fibre to the Curb) technology
  • 🔴 FTTN/FTTB (Red) - Address currently has FTTN (Fibre to the Node) or FTTB (Fibre to the Building) technology
    • Note: Addresses with FTTN or FTTB and a target_eligibility_quarter more than 3 months in the future will show as red until they are within 3 months of the target date
  • 🔴 FW/SAT (Dark Red) - Address uses Fixed Wireless or Satellite technology
  • ⚫ Unknown (Gray) - Technology information not available

Important Notes

  • The "red" colour for FTTN/FTTB addresses can be counter-intuitive: even if an address has a committed upgrade date in the future (e.g., mid next year), it will show as red until the target date is within 3 months
  • The colour coding prioritizes immediate eligibility over future commitments
  • For the most accurate information, check the popup details for each address which includes the tech_change_status and target_eligibility_quarter fields

Running locally

To run the code on your local machine you will first need to setup the PostgreSQL database with the GNAF dataset. We have developed a "cut down" version of the minus34/gnaf-loader image that includes just the data this program needs, and is ~3GB instead of the 32GB original. The simplest way to do this is by running the Docker container with the following commands.

docker run --publish=5433:5432 lukeprior/nbn-upgrade-map-db:latest

The database can then be accessed at localhost on port 5433 with username: postgres and password password.

The repository can be cloned and from the main directory main.py can be run using python code/main.py SUBURB STATE.

The available SUBURB/STATE combinations can be found in results/all_suburbs.json while results/suburbs.json contains the suburbs announced by NBN to be upgraded to FTTP.

The results will be saved in the corresponding state folder in results.

To update the results/results.json file the results.py script can be run using python code/results.py

To view the results you will need a geojson viewer such as geojson.io or modify the index.html file to load local files instead of those hosted on this repo.

About

Interactive map showing premises eligible for the NBN FTTP upgrade program.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 9