Election date: 4 November 2025
Dataset version date: 3 December 2025
- File:
VA_precincts_2025_statewide_standardized.gpkg - Layer:
precincts_2025
The GeoPackage is published as a release asset:
This GeoPackage combines Virginia's 2025 statewide election results
(Governor, Lieutenant Governor, Attorney General) with a cleaned and
standardized precinct geometry layer.
Each feature represents a regular voting precinct as of 2025 with
joined vote totals and percentages for the three statewide contests.
The following fields form the standard geographic identity schema for precincts and are intended for reuse across future states and years.
-
state
Two-letter postal code. For this dataset always"VA". -
county_name
County or independent city name in title case, including “County”
or “City” where applicable (for exampleAppomattox County,
Richmond County,Richmond City). -
county_fips
Five-character county FIPS code as text.
Placeholder only in this version and leftNULL.
This can be filled from an external FIPS reference and reused
for all elections. -
precinct_id
Local numeric precinct identifier as used by the state in its
reporting (for example101,502,6). Stored as integer. -
precinct_code
Zero-padded text version of the precinct ID, currently padded to
four digits (for example"0101","0502","0006"). -
precinct_name
Short precinct name only, in uppercase, without the numeric prefix
(for exampleCHINCOTEAGUE,CHAPEL,ETLAN). -
precinct_label
Human-facing label in the form"NNN – NAME", combining the
numeric ID (three digits) with the precinct name
(for example101 – CHINCOTEAGUE,006 – ETLAN).
Intended for direct use on maps. -
precinct_geoid
Precinct-level identifier. When the source shapefile provided a
GEOID, that value is preserved here. When it did not, a fallback
placeholder of the form"51XXX####"is used and should not
be treated as authoritative. -
precinct_uid
Machine-friendly unique ID for joins and cross-files. Pattern:VA_[countyfips]_[precinct_code]In this version
CountyFIPSfrom the source shapefile is used
when available. When absent, a placeholder"XXX"is used.
All election fields follow the naming grammar
VA_[OFFICE][YY]_[CANDLAST]_[PARTY]_[MEASURE]
and for totals:
VA_[OFFICE][YY]_TOTAL_[MEASURE]
Where:
STATEis implicitlyVAand included literally.OFFICEis one of:GOV(Governor)LG(Lieutenant Governor)AG(Attorney General)
YYis the last two digits of the election year:25for 2025.CANDLASTis the uppercased candidate surname with no spaces.PARTYis a single-letter party code:D= DemocraticR= Republican
MEASUREis one of:VOTES= raw vote countPERCENT= share of the office total, 0–100, rounded to two decimals
VA_GOV25_SPANBERGER_D_VOTESVA_GOV25_SPANBERGER_D_PERCENTVA_GOV25_EARLESEARS_R_VOTESVA_GOV25_EARLESEARS_R_PERCENTVA_GOV25_TOTAL_VOTES
VA_LG25_HASHMI_D_VOTESVA_LG25_HASHMI_D_PERCENTVA_LG25_REID_R_VOTESVA_LG25_REID_R_PERCENTVA_LG25_TOTAL_VOTES
VA_AG25_JONES_D_VOTESVA_AG25_JONES_D_PERCENTVA_AG25_MIYARES_R_VOTESVA_AG25_MIYARES_R_PERCENTVA_AG25_TOTAL_VOTES
- Vote totals come from the 2025 precinct-level results file
provided by the Virginia Department of Elections. - Write-in votes are included in each office’s
TOTAL_VOTESfield.
The candidate-specificVOTESfields contain the named candidates
only; unnamed write-ins remain aggregated in the total. PERCENTfields are calculated as
candidate_votes / office_total_votes * 100
and rounded to two decimal places.
Several targeted geometry and ID corrections align the precinct shapefile with the 2025 reporting structure.
-
Appomattox County – Agee and Oakville
Agee precinct (PrcnctFIPS = "000502") has been consolidated into
Oakville ("000501"). The two polygons are unioned into a single
MultiPolygon associated with Oakville. -
Giles County – Glen Lyn and Rich Creek
Glen Lyn ("000101") has been consolidated into Rich Creek
("000102"). The geometries are unioned and associated with
Rich Creek. -
Madison County – Graves Mill, Wolftown, Etlan
- Graves Mill (
"000004") and Wolftown ("000006") are merged into
one precinct labelledGRAVES MILL/WOLFTOWNwith FIPS"000004". - Etlan’s 2025 results are reported under precinct ID
006.
To match this, Etlan’s geometry is moved into the000006slot,
labelledETLANwith FIPS"000006".
The formerETLAN 000009geometry is blanked.
- Graves Mill (
-
Fairfax County – Fairfax Court
Precinct 700FAIRFAX COURTstill exists geometrically and has zero
registered voters in the 2025 statewide election.
The precinct is retained and all statewide result fields are set to
0.0rather thanNULL.
Two precincts retain NULL statewide results in this dataset by design,
because the 2025 results file does not provide a clean mapping for them.
-
Tazewell County – 107 “AMONATE”
The Amonate polling place has closed and its voters have been reassigned, for example to a site on Adria Road.
The 2025 results file does not specify which new precinct line contains those votes.
The Amonate geometry is retained and all statewide election fields
remainNULL. -
Richmond County – 502 “PRECINCT 5-2”
Historical metadata indicates a 5-2 precinct.
The 2025 statewide results list only precincts 1-1, 2-1, 3-1, 4-1, and 5-1.
There is no separate 5-2 line in the data.
The 5-2 geometry is retained with statewide election fields set to
NULL. It is highly likely that its voters are included in 5-1,
but this dataset avoids speculative assignment.
- Treat the identity fields
state,county_name,precinct_id,precinct_code,
precinct_name,precinct_label,precinct_geoid,precinct_uid
as the canonical way to refer to precincts in scripts, maps,
and documentation. - Treat all
VA_*fields as specific to the 2025 statewide contests.
Future years and offices should follow the same naming grammar. county_fipsand placeholder GEOIDs can be filled or corrected from
an authoritative FIPS or precinct reference when this becomes a
formal open dataset.
This file represents the first standardized release of the Virginia 2025 statewide precinct dataset with a stable schema intended for reuse across future election mapping projects.
