Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steelcityamir/school-district-locator
Finds the school district associated with a given street address in the United States
https://github.com/steelcityamir/school-district-locator
gis maps python3 school-districts
Last synced: 3 days ago
JSON representation
Finds the school district associated with a given street address in the United States
- Host: GitHub
- URL: https://github.com/steelcityamir/school-district-locator
- Owner: steelcityamir
- License: mit
- Created: 2024-02-08T02:31:03.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-12T14:12:27.000Z (4 months ago)
- Last Synced: 2024-12-09T02:38:53.910Z (14 days ago)
- Topics: gis, maps, python3, school-districts
- Language: Python
- Homepage:
- Size: 11.7 KB
- Stars: 49
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# School District Locator
The School District Locator is a Python tool designed to map any given street address in the United States to its corresponding school district. Utilizing the U.S. Census Bureau Geocoding Services API for address geocoding and GeoPandas for spatial analysis with school district shapefiles, this tool provides a quick and accurate lookup for determining the school district of a particular address.
## Features
- Address to school district mapping
- Utilizes U.S. Census Bureau Geocoding Services for precise address location
- Spatial analysis with GeoPandas for accurate district identification
- Supports Shapefile boundary file format## Getting Started
### Prerequisites
Ensure you have Python 3.6+ installed on your system.
### Installation
Clone the repository to your local machine:
```bash
git clone https://github.com/steelcityamir/school-district-locator.git
```Navigate to the cloned directory:
```bash
cd school-district-locator
```Install the required libraries using pip:
```bash
pip install -r requirements.txt
```### Download boundary data from NECS
1. Go to https://data-nces.opendata.arcgis.com/datasets/nces::school-district-boundaries-current/about
2. Click Download button to view file formats
3. Look for the Shapefile and click Download
4. This will download a zip file containing the shapefile and associated files
5. Unzip the files into the repo directory
6. Rename the files to:
- `school_district_boundaries.cpg`
- `school_district_boundaries.dbf`
- `school_district_boundaries.prj`
- `school_district_boundaries.shp`
- `school_district_boundaries.shx`
- `school_district_boundaries.xml`### Usage
Run the script from your command line:
```bash
python3 locator.py
```Follow the on-screen prompts to input the street address, city, state, and ZIP code for the location you're interested in.
![screenshot](https://github.com/steelcityamir/school-district-locator/assets/54147931/10f754b4-fc2e-4eac-8d7b-d18bd7a6a5a9)
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
- U.S. Census Bureau for providing the Geocoding Services API.
- National Center for Education Statistics (NECS) for providing school district data.
- The GeoPandas team for their excellent work on the geospatial analysis library.## Support
For support, please open an issue in the GitHub issue tracker for this project.