Attendance-zone polygons: the areas that assign a home to its zoned elementary, middle and high school, one polygon per school, level and grade run, for the current school year.
Zones differ in precision. Some are the district's official GIS
layers; others are digitized from PDF maps, rebuilt from street lists,
or are the whole district outline (districts with one school per
grade). Read method and accuracy_class before treating zones as
equally exact, and see gcd_school_zone_coverage() for how completely
each district was collected. A zone is the default assignment, not an
official enrollment determination: confirm with the district.
A statewide pull is large, especially at resolution = "full".
Filter to a district and keep the "display" default for maps.
Usage
gcd_school_zones(
district_code = NULL,
school_code = NULL,
district = NULL,
school = NULL,
zone_level = NULL,
grade = NULL,
year = NULL,
resolution = c("display", "full"),
geometry = TRUE
)Arguments
- district_code, school_code
Character vectors of codes. Default
NULL.- district, school
Names, matched to codes as in
gcd_rows(). A school name found in more than one district needsdistricttoo. DefaultNULL.- zone_level
"elementary","middle"and/or"high". DefaultNULL: all.- grade
One grade: keep zones serving it (
"pk","k","01"to"12";"5"and"K"are accepted). DefaultNULL: all.- year
The zones' school year as its ending year (2027 is 2026-27). Default
NULL: the current zones.- resolution
"display"(default): simplified polygons for maps, much smaller;"full": the source polygons the point lookup uses.- geometry
TRUE(default) returns ansfobject (needs the 'sf' package);FALSEreturns the attributes as a plain tibble.
Value
An sf object (or, with geometry = FALSE, a tibble), one row
per zone, with columns year (integer), district_code,
district_name, school_code, school_name, zone_level,
grade_low, grade_high ("pk", "k", "01" ... "12"),
method (how the zone was built), accuracy_class,
currency_status, boundary_vintage, source_url, retrieved_on
(Date), area_sq_mi, the bounding box (bbox_xmin, bbox_ymin,
bbox_xmax, bbox_ymax), source_school_name (the name as the
district's map spells it), then positional_rmse_m, currency_note,
source_publisher, nces_school_id, district_census_id,
nces_lea_id and the geometry (WGS 84). The API's disclaimer is
the note attribute.
See also
gcd_locate() to find the zones a point falls in;
gcd_school_zone_status() for schools without a zone;
gcd_describe() with "school_attendance_zones" for every field.
Other geography:
gcd_district_boundaries(),
gcd_locate(),
gcd_school_zone_coverage(),
gcd_school_zone_status()
Examples
if (FALSE) { # interactive() && requireNamespace("sf", quietly = TRUE)
zones <- gcd_school_zones(district = "Atlanta Public Schools",
zone_level = "high")
plot(zones["school_name"])
gcd_school_zones(district_code = "630", geometry = FALSE)
}