| """NYC DOE School Point Locations (Socrata a3nt-yts4).""" |
| from __future__ import annotations |
|
|
| import geopandas as gpd |
|
|
| from app.spatial import DATA, load_layer |
|
|
| BORO = {"1": "Manhattan", "2": "Bronx", "3": "Brooklyn", "4": "Queens", "5": "Staten Island"} |
|
|
|
|
| def load() -> gpd.GeoDataFrame: |
| g = load_layer(DATA / "schools.geojson") |
| g = g.rename(columns={ |
| "loc_code": "loc_code", |
| "loc_name": "name", |
| "address": "address", |
| "bbl": "bbl", |
| "bin": "bin", |
| "boronum": "boro_num", |
| "geodistric": "geo_district", |
| "adimindist": "admin_district", |
| }) |
| g["borough"] = g["boro_num"].astype(str).map(BORO) |
| g["bbl"] = g["bbl"].astype(str).str.replace(r"\.0$", "", regex=True) |
| keep = ["loc_code", "name", "address", "borough", "bbl", "bin", |
| "geo_district", "admin_district", "geometry"] |
| return g[keep].copy() |
|
|