Giter Site home page Giter Site logo

lukeprior / nbn-upgrade-map Goto Github PK

View Code? Open in Web Editor NEW
91.0 91.0 10.0 5.93 GB

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

Home Page: https://lukeprior.github.io/nbn-upgrade-map/

License: MIT License

Python 65.04% HTML 13.59% Dockerfile 1.24% Shell 2.46% JavaScript 17.45% CSS 0.23%
australia nbn

nbn-upgrade-map's Introduction

nbn-upgrade-map's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar justinclift avatar lukeprior avatar lyricnz avatar majibow avatar simon-anz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nbn-upgrade-map's Issues

WA

Butler โ€“ 6036
Merriwa โ€“ 6030
Clarkson โ€“ 6030
Ridgewood โ€“ 6030

Fix techFlip, reasoncode

I received this message from a user

I noticed in some of the data that it appears to be losing the premises that have done the tech flip some time ago where nbn removes the altReasonCode from the json once the original FTTN is disconnected.

Perhaps if it is reasonCode: "FTTP_CT" and techFlip: true you could leave it in the extracted data set to fill in the missing dots? Perhaps a new category to distinguish upgraded from original FTTP?

e.g.

"id": "LOC000107398763",
"latitude": -33.43858117,
"longitude": 149.61829671,
"reasonCode": "FTTP_CT",
"changeoverDate": "15 July 2050",
"patChangeDate": "Apr 2022",
"patChangeStatus": true,
"techFlip": "Yes",

Where its a recent switch and they still have an active parallel FTTN service connected, they do show up, I'm guessing because altReasonCode still exists?

e.g.

"id": "LOC000078509381",
"latitude": -33.43905317,
"longitude": 149.61801771,
"reasonCode": "FTTP_CT",
"altReasonCode": "FTTN_CT",
"changeoverDate": "15 July 2050",
"patChangeDate": "Apr 2022",
"patChangeStatus": true,
"techFlip": "Yes",

South Cairns

Mount Sheridan 4868
Edmonton 4869
White Rock 4868
Woree 4868
Earlville 4870

Helensburgh, NSW

Hey, the map is great. This is just a request for Helensburgh NSW to be added please :)

Addresses missing from map

Manually generated the map output for Somerville, VIC per #33

FWIW a bunch of addresses seem to be missing from the map (those on "Eramosa Road East" and "Eramosa Road West" for example). Possible mishandling of street_suffix in DB?

Screenshot 2023-05-23 at 12 54 07 pm

SELECT * FROM gnaf_202302.address_principals WHERE locality_name = 'SOMERVILLE' AND state = 'VIC' and address like '%ERAMOSA ROAD %' LIMIT 100000

Screenshot 2023-05-23 at 1 47 40 pm

6BSD locations

Would be amazing if you could add 6BSD related suburbs

Ashfield, WA 6054
Bassendean, WA 6054
Beechboro, WA 6063
Bennett Springs, WA 6063
Eden Hill, WA 6054
Kiara, WA 6054

Duplicate suburbs would cause auto-next to fail?

If I understand correctly, when iterating through the states+suburbs to find the next unprocessed state, the code checks if the state-name is in the list of previously processed results.

    if target_suburb == "NA":
        suburb_list = open("results/suburbs.json", "r")
        suburb_list = json.load(suburb_list)
        
        for state in suburb_list["states"]:
            for suburb in suburb_list["states"][state]:
                flag = False
                for record in suburb_record["suburbs"]:
                    if record["internal"] == suburb:  # <==== here
                        flag = True
                        break

However, there are duplicate state names:

{'ALBERT PARK': ['VIC', 'SA'],
 'ANNANDALE': ['NSW', 'QLD'],
 'BAYSWATER': ['VIC', 'WA'],
 'BEACONSFIELD': ['NSW', 'VIC', 'QLD', 'WA'],
 'BELMONT': ['NSW', 'VIC', 'WA'],
 'CAMPERDOWN': ['NSW', 'VIC'],
 'CLAREMONT': ['WA', 'TAS'],
 'COOLANGATTA': ['NSW', 'QLD'],
 'CROYDON PARK': ['NSW', 'SA'],
 'EASTWOOD': ['NSW', 'VIC', 'SA'],
 'ENFIELD': ['NSW', 'SA'],
 'EVANDALE': ['SA', 'TAS'],
 'GRANGE': ['QLD', 'SA'],
 'HAMILTON': ['NSW', 'VIC'],
 'HIGHGATE': ['SA', 'WA'],
 'KELSO': ['NSW', 'QLD'],
 'LAKELANDS': ['NSW', 'WA'],
 'MAYLANDS': ['SA', 'WA'],
 'MILTON': ['NSW', 'QLD'],
 'MOUNT PLEASANT': ['NSW', 'QLD'],
 'NEWPORT': ['VIC', 'QLD'],
 'NEWTOWN': ['NSW', 'VIC', 'QLD'],
 'PADDINGTON': ['NSW', 'QLD'],
 'PERTH': ['WA', 'TAS'],
 'SMITHFIELD': ['NSW', 'QLD', 'SA'],
 'SORRENTO': ['VIC', 'WA'],
 'ST PETERS': ['NSW', 'SA'],
 'SURF BEACH': ['NSW', 'VIC'],
 'THE GAP': ['QLD', 'NT'],
 'TORQUAY': ['VIC', 'QLD'],
 'WATERFORD': ['QLD', 'WA'],
 'WATTLE GROVE': ['NSW', 'WA'],
 'WHITE ROCK': ['NSW', 'QLD'],
 'WOODCROFT': ['NSW', 'SA']}

Don't retrieve unused data from the database (performance)

Current code does

    cur.execute(f"SELECT * FROM gnaf_202302.address_principals WHERE locality_name = '{target_suburb}' AND state = '{target_state}' LIMIT 100000")

On my machine this takes 10.4 seconds for a sample suburb (5957 rows). Fetching just the five fields we use takes 3.5 seconds.

    query = f"""
        SELECT address, locality_name, postcode, latitude, longitude
        FROM gnaf_202302.address_principals
        WHERE locality_name = '{target_suburb}' AND state = '{target_state}'
        LIMIT 100000"""

    cur.execute(query)
    rows = cur.fetchall()

Maleny / North Maleny (4552)

This is a really useful and awesome tool, thanks!

Is there any possibility of adding Maleny and North Maleny to the map (4552)?

Option for more verbose output/debugging?

This script takes a long time to run. It would be nice if it was capable of outputting some progress information, or details about what it's doing. Also, error messages if suburb/state were invalid or not found etc.

Request to add 6CAN suburbs

Hi Luke,

Could you please add:
Beckenham
Bentley
Cannington
East Cannington
Karawara
Langford
Queens Park
St James
Thornlie
Waterford
Welshpool
Wilson

Thanks!

New Locations

Are you able to add Ulverstone TAS 7315 & West Ulverstone TAS 7315 Along With Devonport TAS 7310?

Much appreciated!

Bathurst

Bathurst
West Bathurst
Windradyne
Mount Pleasant
Robin Hill
Kelso
Laffing Waters
Raglan
South Bathurst
Gormans Hill
Mount Panorama

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.