Script to de-duplicate, sanitize, and spatially join ECF (Emergency Connectivity Fund) data.
This is used in conjunction with the USA ECF Tableau dashboard, located at: go.ncsu.edu/2022ecfdashboard-usa
This project requires Python 3.10 and Poetry.
For recreating the USA dashboard's data source, three files are required:
- ECF Data for the USA (or optionally your chosen state; any ECF data pulled from
opendata.usac.org will work)
- If no ECF filepath is provided, it will automatically pull the latest version from here.
- E-rate supplemental entity information, link. warning, the file is rather large at ~110Mb.
- Shapefile of the school districts of the USA, link. warning, the file is rather large at ~180Mb.
If you do not provide the path information directly within ecf_dedup.py
(as is default), the script will fetch the above three files automatically for you. By
default, these files are stored within the ./data/
directory, and each has a unique
filename, hashed from its source URL.
In order for Tableau to interpret the shapefile properly, the geometry from the
resultant GeoDataFrame is dropped. Instead we join on a row's unique key, the GEOID
(more information can be found in the School District Documentation
file).