School Attendance Zone Block Groups
Which 2020 census block groups each Georgia school attendance zone covers at each grade, with population, household and land-area shares.
- 2027–2027
- as zones change
- 1.0.0
- 58174ac48ecb
Overview
A crosswalk between Georgia public school attendance zones (the school_attendance_zones geometry topic) and 2020 census block groups. One row per school, grade and block group its zone covers at that grade. Weights are 2020 Census P.L. 94-171 block populations and households (occupied housing units), assigned to zones block by block exactly as in the tract crosswalk (school_attendance_zone_tracts): a block goes to the zone holding its interior point, or is split by area where a zone line or an unzoned gap crosses it. Use pct_of_block_group_households to roll block-group household data (ACS household tables) up to a zone, pct_of_block_group_population for person data. year is the school year the zones are in effect for (2027 = 2026-27). Zones are not official enrollment determinations; each zone's source and accuracy are on the zones topic.
Row grain: One row per year, district_code, school_code, grade_level, block_group_geoid.
pct_of_block_group_population — Percent of Block Group Population (proportion)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | School year the zones are in effect for, as its ending calendar year (2027 = 2026-27). The weights are 2020 census counts.Full description▾School year the zones are in effect for, as its ending calendar year (2027 = 2026-27). The weights are 2020 census counts. |
district_code | string | — | — | no | GOSA district code (FK to the districts dimension).Full description▾GOSA district code (FK to the districts dimension). |
school_code | string | — | — | no | 4-digit GOSA school code (composite FK to the schools dimension with district_code): the zone's school.Full description▾4-digit GOSA school code (composite FK to the schools dimension with district_code): the zone's school. |
zone_level | string | — | — | no | Elementary, middle or high zone.Full description▾The level of the school's zone at this grade on the zones topic: elementary, middle or high. It follows from the grade and the school, so pin grade_level first. 3 allowed values▾
|
grade_level | string | — | — | no | Grade (k, 01-12).Full description▾The grade the row's shares hold for (k, 01-12; pre-K is not zoned). 13 allowed values▾
|
block_group_geoid | string | — | — | no | 12-digit 2020 census block group GEOID (FK to the block_groups dimension), as ACS 5-year tables publish.Full description▾12-digit 2020 census block group GEOID (FK to the block_groups dimension), as ACS 5-year tables publish. |
num_population | integer | — | yes | 2020 census population of the block group living in the zone (whole persons).Full description▾2020 census population of the block group living in the zone (whole persons). | |
num_block_group_population | integer | — | yes | The block group's 2020 census population (all of its blocks), repeated on each of its rows: never add it across rows.Full description▾The block group's 2020 census population (all of its blocks), repeated on each of its rows: never add it across rows. | |
pct_of_block_group_population | number | — | yes | Share of the block group's 2020 population living in this zone.Full description▾Share of the block group's 2020 population living in this zone at this grade (num_population / num_block_group_population). | |
pct_of_block_group_area | number | — | yes | Share of the block group's 2020 land area in this zone.Full description▾Share of the block group's 2020 land area in this zone. | |
pct_of_zone_population | number | — | yes | Share of the zone's 2020 population at this grade living in this block group (adds to 1 over the zone's block groups).Full description▾Share of the zone's 2020 population at this grade living in this block group (adds to 1 over the zone's block groups). | |
num_households | integer | — | yes | 2020 census households (occupied housing units, P.L. 94-171 H1_002N) of the block group in the zone, apportioned with the same block weights as the population (whole households).Full description▾2020 census households (occupied housing units, P.L. 94-171 H1_002N) of the block group in the zone, apportioned with the same block weights as the population (whole households). | |
num_block_group_households | integer | — | yes | The block group's 2020 households (all of its blocks; equals the block_groups dimension's households_2020), repeated on each of its rows: never add it across rows.Full description▾The block group's 2020 households (all of its blocks; equals the block_groups dimension's households_2020), repeated on each of its rows: never add it across rows. | |
pct_of_block_group_households | number | — | yes | Share of the block group's 2020 households in this zone at this grade (num_households / num_block_group_households): the weight for household data.Full description▾Share of the block group's 2020 households in this zone at this grade (num_households / num_block_group_households): the weight for household data. | |
is_largest_zone_for_block_group | boolean | — | — | yes | True for the zone holding the most of the block group's 2020 population at this grade (ties: more land, then the lower district and school code): one row per block group and grade.Full description▾True for the zone holding the most of the block group's 2020 population at this grade (ties: more land, then the lower district and school code): one row per block group and grade. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | schools | enum-enforced, default: schools |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
block_group_geoid | foreign_key | any value | multi-value |
zone_level | categorical | elementarymiddlehigh | multi-value, enum-enforced |
grade_level | categorical | 13 allowed values▾
| multi-value, enum-enforced, pick one |
is_largest_zone_for_block_group | categorical | any value | multi-value |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
school_level | dimension_attribute | elementarymiddlehighk12other | multi-value, enum-enforced |
locale | dimension_attribute | citysuburbtownrural | multi-value, enum-enforced |
Example requests
Run these against the base URL — they return live data.
All rows (first page), schools level
curl "https://georgiacivicdata.org/api/v1/education/school_attendance_zone_block_groups"schools data for 2027
curl "https://georgiacivicdata.org/api/v1/education/school_attendance_zone_block_groups?year=2027"Filtered to zone_level = elementary for 2027
curl "https://georgiacivicdata.org/api/v1/education/school_attendance_zone_block_groups?year=2027&zone_level=elementary"Download 2027 as CSV
curl "https://georgiacivicdata.org/api/v1/education/school_attendance_zone_block_groups?year=2027&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
Limitations
Covers the districts whose zones were collected: a block group in a district without zones at a grade, or in a gap, has no rows there or rows whose shares add to less than 1 (gaps include withheld new schools' areas, placement areas and closed schools' former areas; see the zones topic's coverage table). Some zones predate an adopted boundary change (currency_status stale_known_changes on the zones topic) and carry that error here. Weights are the 2020 census: the share of a block group in each zone is frozen at April 2020, so it misses growth and new housing since. A block that a zone line or a gap's edge crosses is split by area, assuming its people and households are spread evenly over its land. Household counts carry the Census's disclosure-avoidance noise (a block can show households and no people), which shrinks as blocks are summed. A block counts toward the district whose current TIGER/Line outline holds its interior point. The same blocks and rules as the tract crosswalk (school_attendance_zone_tracts): summed to tracts, the people match it exactly. Rows are school rows.