icon

USA Broadband Data

Determine the US Fiber providers

Photo of map

Often you want some subset of the data from the FCC BDC map.

That is a challenge. There is more than 2GB of data as each service location gets a record.

By downloading the data and grouping it we can make it more useable.

History

There are many versions of this data but this uses the latest “*FibertothePremises_fixed_broadband_J23_28nov2023.csv”

https://broadbandmap.fcc.gov/data-download

There is also data going back further under Form-477.

Example Data Processing

import pandas as pd
import glob
from shapely.geometry import Point
import h3
dfs = []
location_ids = []
for g in glob.glob('*FibertothePremises*.csv'):
    print(g)
    df = pd.read_csv(g)


    df = df[df['business_residential_code'] != 'B']

    groups = df.groupby('h3_res8_id')
    cols = ['h3_8', 'brand_name', 'max_down', 'max_up', 'location_id']
    output_df = []
 
    for g, data in groups:
        output_df.append([g, ','.join(
            data.brand_name.unique()),
                        data.max_advertised_download_speed.max(),
                        data.max_advertised_upload_speed.max(),
                        set(data.location_id.unique())])

    output_df = pd.DataFrame(output_df, columns=cols)
    output_df['geometry'] = output_df['h3_8'].apply(lambda x: [Point(c[0], c[1]) for c in [h3.cell_to_latlng(x)[::-1]]][0])

    dfs.append(output_df)