This project uses geospatial analysis + clustering to recommend potential new gym locations in Brooklyn that are close to the Brooklyn city center and far from existing gyms/fitness centers.
- Search area: within 5 km of Brooklyn city center
- Competition constraint: candidate locations must be ≥ 2.5 km away from an existing Gym/Fitness Center (and similar venues like boxing clubs/gym pools)
- Loads Brooklyn neighborhood coordinates (NYU GeoJSON dataset)
- Uses Foursquare Places API to find existing gym/fitness venues
- Generates a dense grid of candidate points (~200 m spacing) around the city center
- Filters candidates that satisfy the distance constraints
- Applies K-Means clustering to group candidates into “zones”
- Outputs 10 zone centers as recommended location anchors (optionally reverse-geocoded to addresses)
Python, pandas, numpy, scikit-learn, folium, requests
(Optional) pyproj/geopy for coordinate + distance utilities
Report-Finding-locations-to-open-a-gym-in-Brooklyn.pdf– full write-upnotebooks/– analysis notebook (if included)src/– helper modules/scripts (if included)outputs/– maps / tables (if included)
-
Install dependencies
pip install -r requirements.txt
-
Add API keys (example)
- FOURSQUARE_API_KEY=your_key_here
- GOOGLE_MAPS_API_KEY=your_key_here # only if reverse geocoding is used
- Run the notebook