2020 Pennsylvania precinct and election shapefile. ## RDH Date retrieval 12/03/2024 ## Sources Election results primarily from the Pennsylvania Department of State (https://www.pa.gov/en/agencies/dos/resources/voting-and-elections-resources/voting-and-election-statistics/bulk-election-data.html). Precinct results were corrected or replaced with canvass reports from the following counties: Adams, Allegheny, Berks, Bradford, Butler, Carbon, Clinton, Crawford, Delaware, Fayette, Jefferson, Lackawanna, Lehigh, Luzerne, Montgomery, Northampton, Northumberland, Philadelphia, Pike, Potter, Somerset, Westmoreland. Precinct shapefiles primarily from the U.S. Census Bureau 2020 Redistricting Data Program. The shapefiles from Delaware County, Washington County, and the City of Pittsburgh are from the respective jurisdictions. Precinct numbers were corrected to match the 2020 voter file in the following locales: Allegheny (Elizabeth, Pittsburgh W12), Blair (Altoona, Greenfield), Bradford (Athens), Greene (Dunkard, Monongahela), Monroe (Smithfield), Montgomery (Hatfield), Northampton (Bethlehem Twp), Perry (Toboyne), Washington (New Eagle, Somerset), York (Fairview). ## Fields metadata Vote Column Label Format ------------------------ Columns reporting votes follow a standard label pattern. One example is: G16PREDCli The first character is G for a general election, P for a primary, S for a special, and R for a runoff. Characters 2 and 3 are the year of the election. Characters 4-6 represent the office type (see list below). Character 7 represents the party of the candidate. Characters 8-10 are the first three letters of the candidate's last name. Office Codes AGR - Agriculture Commissioner ATG - Attorney General AUD - Auditor COC - Corporation Commissioner COU - City Council Member DEL - Delegate to the U.S. House GOV - Governor H## - U.S. House, where ## is the district number. AL: at large. INS - Insurance Commissioner LAB - Labor Commissioner LAN - Commissioner of Public Lands LTG - Lieutenant Governor PRE - President PSC - Public Service Commissioner RRC - Railroad Commissioner SAC - State Appeals Court (in AL: Civil Appeals) SCC - State Court of Criminal Appeals SOS - Secretary of State SSC - State Supreme Court SPI - Superintendent of Public Instruction TRE - Treasurer USS - U.S. Senate Party Codes D and R will always represent Democrat and Republican, respectively. See the state-specific notes for the remaining codes used in a particular file; note that third-party candidates may appear on the ballot under different party labels in different states. ## Fields G20PREDBID - Joseph Biden (Democratic Party) G20PRERTRU - Donald Trump (Republican Party) G20PRELJOR - Jo Jorgensen (Libertarian Party) G20ATGDSHA - Josh Shapiro (Democratic Party) G20ATGRHEI - Heather Heidelbaugh (Republican Party) G20ATGLWAS - Daniel Wassmer (Libertarian Party) G20ATGGWEI - Richard Weiss (Green Party) G20AUDDAHM - Nina Ahmad (Democratic Party) G20AUDRDEF - Timothy DeFoor (Republican Party) G20AUDLMOO - Jennifer Moore (Libertarian Party) G20AUDGFAI - Olivia Faison (Green Party) G20TREDTOR - Joseph Torsella (Democratic Party) G20TRERGAR - Stacy Garrity (Republican Party) G20TRELSOL - Joseph Soloski (Libertarian Party) G20TREGRUN - Timothy Runkle (Green Party) ## Processing Steps Due to court orders involving ballots that were segregated until legal challenges were resolved the certified results from nearly all counties differ from the official results certified by the state. State courts ordered segregated ballots to be included for state offices whereas federal courts ordered that they be excluded for federal offices. As the orders were issued after the county certification deadline these votes were added to the state offices for 57 counties that did not include them in precinct reports and removed from federal offices in 10 counties that did include them in precinct reports. The precinct results in the VEST shapefiles are those that were certified by the respective counties. Philadelphia reported federal ballots by congressional district. These were distributed by candidate to precincts based on their share of the precinct-level reported vote in the respective districts. Precinct boundaries throughout the state were edited to match voter assignments in the PA Department of State voter file from the 2020 election cycle. While some edits reflect official updates to wards or divisions most involve voters incorrectly assigned to voting districts by the counties. As such the VEST shapefile endeavors to reflect the de facto precinct boundaries and these often differ from the official voting district boundaries, in some cases quite drastically. Wherever possible edits were made using census boundaries or alternatively using various boundary shapefiles from the respective counties or the Pennsylvania Spatial Data Access catalog (https://www.pasda.psu.edu/). In some areas voter assignments appear so erratic that it is impractical to place all voters within their assigned precinct. These areas were edited so as to place as many voters as possible within their assigned precinct without displacing a greater number from their assigned precinct. Municipal boundaries were retained except where a significant number of voters were misassigned to the wrong municipality. In cases where the odd/even split was incorrectly reversed for precinct boundary streets the official boundary was retained. All such cases involved a near equal number of voters swapped between voting districts. Inaccurate municipal boundaries in the VTD shapefile were generally realigned only if necessary to reflect voter assignments. Most corrections were made using the Municipality Boundary shapefile from the Pennsylvania Department of Transportation (https://data-pennshare.opendata.arcgis.com/). In some cases they were instead based on municipal assignments of parcels. Five boroughs that cross county lines are not designated as separate precincts in one of the counties. These were merged with the voting districts where they are assigned in the respective counties: Adamstown (Berks Spring 12), Ashland (Columbia Conyngham), Emlenton (Clarion Richland), Seven Springs (Fayette Saltlick), Tunnelhill (Blair Allegheny 4). The following revisions were made to the base shapefiles to match the de facto 2020 precinct boundaries consistent with the voter file. Due to the sheer number of edits boundary adjustments are listed at the borough/township level. There may be as many as two dozen individual precincts that were revised within a given municipality. Adams: Align Littlestown with municipal boundary; Adjust Cumberland, Franklin, Straban Allegheny: Adjust Baldwin, Bellevue, Bethel Park, Brentwood, Castle Shannon, Clairton, Collier, Coraopolis, Crafton, Crescent, Dormont, Dravosburg, Duquesne, E Deer, E McKeesport, E Pittsburgh, Elizabeth, Emsworth, Findlay, Forward, Franklin Park, Glassport, Hampton, Harmar, Ingram, Jefferson Hills, Kennedy, Leet, Liberty, Marshall, McCandless, McKees Rocks, McKeesport, Monroeville, Moon, Mount Lebanon, Munhall, N Braddock, N Fayette, N Versailles, Oakdale, Oakmont, O'Hara, Penn Hills, Pine, Pittsburgh (most wards), Pleasant Hills, Plum, Reserve, Richland, Robinson, Ross, Scott, Shaler, S Fayette, S Park, Springdale, Stowe, Swissvale, Tarentum, Turtle Creek, Upper St. Clair, W Deer, W Homestead, W Mifflin, W View, Whitaker, White Oak, Whitehall, Wilkins, Wilkinsburg Armstrong: Align Apollo, Dayton, Elderton, Ford City, Ford Cliff, Kittanning, N Apollo with municipal boundaries; Adjust Cowanshannock, Ford City, Gilpin, Kiskiminetas, Kittanning, Manor, N Buffalo, Parker City, Parks, S Buffalo Beaver: Adjust Aliquippa, Ambridge, Baden, Beaver, Beaver Falls, Brighton, Center, Chippewa, Conway, Economy, Franklin, Hanover, Harmony, Hopewell, Midland, Monaca, New Sewickley, N Sewickley, Ohioville Bedford: Align Everett, Saxton with municipal boundaries; Adjust Bedford Boro, Bedford Twp Berks: Adjust Cumru, Earl, Exeter, Muhlenberg, Oley, Reading W15, W18, Robeson, Sinking Spring, Spring, Union Blair: Align Allegheny, Altoona, Bellwood, Duncansville, Greenfield, Hollidaysburg, Juniata, Logan, Martinsburg, Newry, Roaring Spring, Tyrone, Williamsburg with municipal boundaries; Adjust Allegheny, Altoona W4, W5, W6, W10, W11, W12, W13, W14, Antis, Blair, Frankstown, Freedom, Greenfield, Huston, Juniata, Logan, N Woodbury, Snyder, Tyrone Boro, Tyrone Twp Bucks: Align Bristol, Doylestown, Falls, Lower Makefield, Middletown, Milford, Newtown, Richland, Sellersville, Springfield, Trumbauersville, Tullytown, Warwick with municipal boundaries; Adjust Bensalem, Bristol Boro, Bristol Twp, Buckingham, Doylestown Twp, Falls, Hilltown, Lower Makefield, Lower Southampton, Middletown, Milford, Morrisville, Newtown Twp, Nockamixon, Northampton, Perkasie, Solebury, Springfield, Tinicum, Upper Makefield, Upper Southampton, Warminster, Warrington, W Rockhill Butler: Align Adams, Butler Twp, Cranberry, Jackson, Valencia with municipal boundaries; Adjust Adams, Buffalo, Butler Boro, Butler Twp, Center, Cranberry, Jefferson, Zelienople Cambria: Align W Taylor with municipal boundary; Adjust Adams, Cambria, Conemaugh, Croyle, E Carroll, E Taylor, Ebensburg, Geistown, Jackson, Johnstown W8, W17, W20, Lower Yoder, Portage Boro, Portage Twp, Richland, Southmont, Stonycreek, Summerhill, Susquehanna, Upper Yoder, W Carroll, Westmont Cameron: Adjust Emporium, Shippen Carbon: Adjust Jim Thorpe, Kidder, Lehighton, Mahoning, Palmerton, Summit Hill Centre: Adjust Ferguson, Patton, Spring, State College Chester: Align Birmingham, Westtown with municipal boundaries; Adjust Caln, Coatesville, E Bradford, E Coventry, E Fallowfield, E Goshen, E Marlborough, E Pikeland, E Vincent, Easttown, London Grove, N Coventry, Pennsbury, Phoenixville, Sadsbury, Spring City, Tredyffrin, Uwchlan, Valley, Warwick, W Bradford, W Caln, W Goshen, W Whiteland Clarion: Align Shippenville, Strattanville with municipal boundaries; Adjust Clarion, Highland, Farmington, Knox Clearfield: Adjust Decatur, Morris, Woodward Clinton: Align Allison, Bald Eagle, Colebrook, Dunnstable, Greene, Logan, Mill Hall, Renovo, Woodward with municipal boundaries Columbia: Align Orange, N Centre, Scott with municipal boundaries; Adjust Berwick, Bloomsburg, Scott Crawford: Align Richmond with municipal boundary Cumberland: Split Lower Allen 1/Annex; Align Camp Hill, Carlisle, E Pennsboro, Hampden, Lemoyne, Lower Allen, Mechanicsburg, Middlesex, Monroe, Mount Holly Springs, New Cumberland, N Middleton, Shippensburg, Shiremanstown, Silver Spring, Upper Allen, Wormsleysburg with municipal boundaries; Adjust Carlisle Dauphin: Align Middletown with municipal boundary; Adjust Derry, Harrisburg W1, W7, W8, W9, W15, Hummelstown, Lower Paxton, Lykens, Middletown, Swatara Delaware: Adjust Aston, Chester, Concord, Darby Boro, Darby Twp, Folcroft, Haverford, Marple, Middletown, Nether Providence, Newtown, Radnor, Ridley, Sharon Hill, Thornbury, Tinicum, Trainer, Upper Chichester, Upper Darby, Upper Providence Elk: Adjust Fox, Johnsonburg, Ridgeway Boro, Ridgeway Twp, St. Marys Erie: Adjust Erie W1, W4, W5, W6, Fairview, Greene, Harborcreek, Lawrence Park, McKean, Millcreek, North East, Summit, Union City, Waterford Fayette: Align Dunbar, Uniontown with municipal boundaries; Adjust Brownsville, Bullskin, Dunbar, Franklin, Georges, German, Luzerne, N Union, Redstone Franklin: Align Mercersburg, Mont Alto, Waynesboro with municipal boundaries; Adjust Antrim, Chambersburg, Fannett, Greene, Guilford, Hamilton, Metal, Peters, Quincy, St. Thomas, Southampton, Washington, Waynesboro Fulton: Align McConnellsburg with municipal boundary Greene: Align Carmichaels with municipal boundary; Adjust Cumberland, Franklin, Jefferson, Monongahela, Morgan Huntingdon: Adjust Huntingdon, Mount Union, Shirley Indiana: Align Armagh, Shelocta, Smicksburg with municipal boundaries; Adjust Armstrong, Center, Cherryhill, E Wheatfield, Pine, W Wheatfield Jefferson: Adjust Punxsutawney Juniata: Align Mifflintown, Thompsontown with municipal boundaries; Adjust Tuscarora Lackawanna: Adjust Archbald, Blakely, Carbondale, Clarks Summit, Dickson City, Dunmore, Fell, Jermyn, Jessup, Mayfield, Moosic, Old Forge, Olyphant, Scranton W1, W2, W3, W6, W7, W10, W12, W13, W14, W15, W16, W19, W20, W21, W23, S Abington, Taylor Lancaster: Split Lancaster 7-8 CV/LS; Adjust Akron, Brecknock, Columbia, Elizabethtown, E Hempfield, E Lampeter, Lancaster W6, W7, W8, E Petersburg, Lititz, Ephrata Boro, Ephrata Twp, Manheim, Manor, Millersville, Mt Joy Twp, New Holland, Penn, Pequea, Providence, Rapho, Warwick, W Cocalico, W Donegal, W Hempfield, W Lampeter Lawrence: Align Elwood City, Shenango with municipal boundaries; Adjust Elwood City, Mahoning, Neshannock, N Beaver, Shenango Lebanon: Adjust Bethel, Cornwall, Lebanon W2, W3, W5, W10, Myerstown, S Lebanon, S Londonderry Lehigh: Split Allentown 17-4/Parkland; Adjust Allentown W2, W3, Lower Macungie, N Whitehall, Salisbury, Slatington Luzerne: Align Avoca, Hollenback, Pittston, Sugarloaf with municipal boundaries; Adjust Butler, Exeter, Fairview, Foster, Hanover, Hazle, Hazleton, Jenkins, Larksville, Lehman, Nanticoke, Plains, Swoyersville, W Wyoming, Wilkes-Barre, Wright Lycoming: Align Duboistown, S Williamsport with municipal boundaries; Adjust Jersey Shore McKean: Align Bradford, Foster with municipal boundaries; Adjust Bradford, Bradford Twp, Foster, Hamlin, Kane, Keating Mercer: Align Mercer, Sheakleyville with municipal boundaries; Adjust Delaware, Farrell, Fredonia, Greenville, Grove City, Hempfield, Hermitage, Sharon, Sharpsville, S Pymatuning, W Salem, Wheatland Mifflin: Align Kistler with municipal boundary; Adjust Brown, Derry, Lewistown Monroe: Align Delaware Water Gap, E Stroudsburg, Mount Pocono, Stroudsburg, Tunkhannock with municipal boundaries; Adjust Chestnuthill, E Stroudsburg, Smithfield, Stroud, Tobyhanna Montgomery: Adjust Abington, Cheltenham, E Norriton, Hatfield, Horsham, Limerick, Lower Gwynedd, Lower Merion, Lower Pottsgrove, Lower Salford, Montgomery, Pottstown, Springfield, Upper Dublin, Upper Gwynedd, Upper Hanover, Upper Merion, Upper Moreland, Upper Providence, W Norriton, Whitemarsh, Whitpain Montour: Adjust Mahoning Northampton: Align Glendon, E Allen, Easton, Hanover, Walnutport with municipal boundaries; Adjust Bangor, Bethlehem W2, W3, W4, W6, W7, W9, W14, W15, Bethlehem Twp, Bushkill, E Allen, Easton, Forks, Hanover, Hellertown, Lehigh, Lower Mt Bethel, Lower Saucon, Moore, Nazareth, Palmer, Plainfield, Upper Mt Bethel, Williams Northumberland: Adjust Coal, Kulpmont, Milton, Mount Carmel, Northumberland, Point, Ralpho, Shamokin, Sunbury, Upper Augusta, W Chillisquaque Perry: Align Buffalo, Howe with municipal boundaries Philadelphia: Adjust 2-13/15, 7-10/11/16/21, 8-15/16/33, 17-20/26, 21-1/15, 21-4/6, 21-32/39, 21-34/43, 22-16/23, 26-1/2, 28-1/8, 29-9/11, 34-37/41, 38-13/14/15, 38-13/20, 49-2/21, 52-3/8, 52-6/9, 57-6/7, 57-10/27, 57-17/18, 58-19/44, 63-1/14, 63-21/24, 65-11/16/18 Pike: Adjust Matamoras Potter: Align Oswayo with municipal boundary; Adjust Coudersport, Galeton Schuylkill: Adjust Coaldale, Minersville, N Manheim, Norwegian, Porter, Pottsville, Schuylkill Haven Snyder: Align Beavertown, Middleburg with municipal boundaries Somerset: Align Jefferson, Middlecreek, New Centerville, Somerset with municipal boundaries; Adjust Conemaugh, Jenner, Paint, Somerset, Windber Susquehanna: Adjust Montrose, Lanesboro, Susquehanna Depot Tioga: Align Liberty with municipal boundary; Adjust Delmar, Wellsboro Union: Adjust Buffalo, W Buffalo, White Deer Venango: Align Barkeyville, Cooperstown with municipal boundaries; Adjust Cranberry, Franklin, Oil City, Sugarcreek Warren: Adjust Conewango, Warren Washington: Adjust Amwell, California, Canonsburg, Canton, Carroll, Cecil, Centerville, Charleroi, Chartiers, Cross Creek, Donora, E Bethlehem, Fallowfield, Hanover, Independence, Mount Pleasant, New Eagle, N Franklin, N Strabane, Nottingham, Peters, Robinson, Smith, Somerset, S Franklin, Union, Washington, W Brownsville, W Pike Run Wayne: Adjust Berlin, Honesdale Westmoreland: Align Bell, Greensburg, Irwin, N Huntingdon, Penn Twp, Salem, Vandergrift, W Newton with municipal boundaries; Adjust Allegheny, Arnold, Bell, Derry Twp, E Huntingdon, Fairfield, Greensburg, Hempfield, Jeannette, Latrobe, Ligonier Twp, Lower Burrell, Monessen, Mount Pleasant, New Kensington, N Belle Vernon, N Huntingdon, Penn Twp, Rostraver, St. Clair, Salem, Scottdale, Sewickley, S Greensburg, S Huntingdon, Trafford, Unity, Upper Burrell, Vandergrift, Washington, Youngwood York: Align E Prospect, Goldsboro, Jefferson, Manchester, Monaghan, Wellsville, Windsor, York with municipal boundaries; Adjust Chanceford, Codorus, Conewago, Dallastown, Dover, Fairview, Hanover, Jackson, Lower Chanceford, Lower Windsor, Manchester, New Freedom, Newberry, N Codorus, Penn, Railroad, Red Lion, Shrewsbury, Spring Garden, Springettsbury, W Manchester, Windsor Twp, Wrightsville, York W1, W5, W6, W8, W9, York Twp Note: In order to improve the ease of disaggregating this file to the census block level, two overlapping precincts in Mifflin County, Wayne and Newton Hamilton, were cleaned. Wayne precinct appeared to incorrectly cover the area comprising Newton Hamilton precinct.