# Maine apportionment plans of 1983 and 1993: town-to-district tables

Built 2026-10-07 for the Maine Political Data Project.

| File | What it is |
|---|---|
| `plan_1983.csv` | 1983 plan (used for the 1984–1992 elections): House 602 rows, Senate 534, Congress 535 (601 / 533 before the 2026-10-14 update) |
| `plan_1993.csv` | 1993 plan (used for the 1994–2002 elections): House 593 rows, Senate 537, Congress 530 |
| `unmatched.csv` | 180 rows with no `unit_id`. All are unorganized territories, unorganized townships or gores. |

Header (both plans): `plan_year,chamber,district,place_as_printed,unit_id,county,split,split_detail,population,source_page,note`

- There is one row for each place in each district. A town divided among districts has one row in each of its districts, with `split=yes`.
- `county` is the county the place is actually in. Where the source printed a place under the wrong county heading, `note` says so (see "Printing errors" below).
- `population` is blank in every row because neither source prints populations (see "Checks").
- `source_page`:
  - 1993: page in the Laws of Maine 1993, vol. 2. The page range covers the district's whole description.
  - 1983: PDF page of the LD 1320 scan.

## Sources

**1993: `apport_1993_SJC_Laws1993v2.pdf`.** In re 1993 Apportionment, SJC-93-229. The Final Order is dated June 29, 1993. Errata #1 is undated. Errata #2, dated June 30, 1993, splits the Loring AFB census block. Laws of Maine 1993 vol. 2, pp. 1217–1246.

The Laws volume does not reproduce the court's Appendix A/B/C geography reports or town lists. Those tables carried the populations. The volume prints the Revisor's narrative "geographic description" instead, appended under the Chief Justice's letter of July 28, 1993:
- Sec. 2: Senate
- Sec. 3: House
- Sec. 4: Congress

Split towns are described by 1990 census tracts, BNAs, block groups and blocks. All 151 House and 35 Senate headings were found.

The narrative already applies the errata:
- "Swan's Island", "Saint Agatha" and "Wallagrass" are spelled as corrected.
- E Plantation and Prentiss Plantation appear as "that portion of the unorganized territory formerly organized as …".
- The Loring split appears in HD 148 and HD 149.

**1983: `apport_1983_111-LD-1320.pdf`.** This is LD 1320 / H.P. 1020 (111th Legislature), as printed March 28, 1983. It enacts 21 MRSA §1571-B:
- subsection 5: House
- subsection 6: Senate
- subsection 7: Congress

Split towns are described by metes and bounds (streets, roads, rivers), sometimes tied to 1980 enumeration districts or tracts.

## Method

1. **Text extraction.**
   - 1993: the two-column pages were split at the gutter using word coordinates from `pdftotext -bbox`. Page headers and folios were dropped. Hyphenated line breaks were rejoined.
   - 1983: single-column typescript extracted with `pdftotext -layout`.
2. **Parsing district headings.**
   - 1993: parsed automatically.
   - 1983: parsed automatically and numbered in sequence. Some headings were misread by the OCR, for example "39" for 38 and "llG" for 116. HD 38 was confirmed against the page image.
3. **Place lists.**
   - 1993: parsed by clause ("A. In X County, the municipalities [and unorganized territories] of …; the following census units of the municipality of Y: …").
   - 1983: the OCR is poor ("G(,,!""~" = Gorham, "Ch",sj~2r" = Chester). The lists were transcribed by hand from the OCR text, district by district. Metes-and-bounds passages were masked out so that boundary words such as "Wells-Sanford boundary" were not read as members. Doubtful spots were checked against 130–200 dpi page images: pp. 30, 55, 78–80, 87, 89. `place_as_printed` for 1983 is the corrected reading of the printed name.
4. **Matching to unit ids.** Matched to `/home/claude/db/reg/out/units.csv` using canonical names, SOS labels, MEGIS and census names, and former names, restricted to the printed county. Known spellings were mapped by hand, for example Abbott→Abbot, Westley→Wesley, "Number 21 Plantation"→Big Lake Twp and "Township 8, SD"→No. 8, S.D. Twp. Where a place was printed under the wrong county heading, a unique match in another county was accepted and noted. Reservations were matched to MPD-0342, MPD-0487 and MPD-0482. Deorganized places are matched to their township unit with a note: E Plantation, Prentiss, Blanchard, Barnard, Elliottsville, Grand Falls and Greenfield. 1990 census UTs named for a single township with a project unit are matched to it: Connor, Kingman, Argyle, Blanchard and Milton. Multi-township UTs, gores and townships with no unit are left blank and listed in `unmatched.csv`.
5. **`split_detail`.**
   - 1993: the census-unit list as printed. Light OCR fixes were applied: "031l0320"/"0311 0320" → "031/0320", l/O → 1/0, and S → 8 inside block numbers ("Block 50S" → 508, "Tract 005/003S" → 0038, "Block Group S" → 8). The S → 8 fix was confirmed on the page image (p. 1224).
   - 1983: the OCR text of the printed description, cut to the clause for that town where possible. In two cases (HD 27, HD 117) it is the whole district text; the note says so. Street names were **not proofread** and the text still contains OCR noise. Each 1983 detail is tagged "[OCR text … not proofread]". Use the scan for exact wording.
   - The Loring AFB descriptions (Limestone: 1993 HD 148/149; 1983 HD 145/148) are carried as printed.
6. **Congress.** Both plans describe Congress by whole counties plus a list of towns in one split county: Kennebec in 1993, Waldo in 1983. The town and county lists were parsed from the text and checked: 25 + 5 Kennebec places in 1993, and 13 + 13 Waldo towns in 1983. Congress rows were expanded from that year's House plan rows, so names, unit ids and UTs are the same. Places missing from the House plan were added from the Senate plan; this is how Litchfield gets into the 1983 Congress rows. The note on each Congress row says which way the district was assigned.

## Checks and results

| Check | 1983 | 1993 |
|---|---|---|
| House districts | 151 (1–151) ✔ | 151 ✔ |
| Senate districts | 35 ✔ | 35 ✔ |
| Congressional districts | 2 ✔ | 2 ✔ |
| Same unit in 2+ districts of a chamber without `split=yes` | none ✔ | none ✔ |
| Unit flagged split but found in only one district | none (after fixes below) ✔ | none ✔ |
| Same census block or block group assigned to two districts | n/a | none (5,330 House, 804 Senate keys) ✔ |
| Block numbers ascending within each tract list (OCR sanity check) | n/a | 5,920 block references, no violations ✔ |
| Registration-snapshot units not named anywhere in the chamber | see below | see below |
| District populations sum to state total | **not possible**: no populations are printed in either source | same |

**Coverage of organized municipalities.** The comparison list was the set of units in the registration snapshot nearest each plan: 1984-06-12 for 1983, and 1994-06-14 plus 1994-11-08 for 1993.
- 1993: every organized municipality appears in every chamber. The only snapshot units not named are:
  - 25 unorganized townships that report votes separately but lie inside a census UT the plan names: Big Lake Twp, Brookton, Edmunds, No. 8 SD, Madawaska Lake, Sinclair, Cross Lake, Albany Twp, Rockwood Strip and others.
  - **Long Island**, which seceded from Portland in July 1993. The plan uses 1990 Portland census units, so Long Island falls inside the Portland rows.
- 1983, House: **Litchfield (Kennebec) is in no House district in LD 1320 as printed.** Confirmed on the image of p. 55: HD 91–95 list Chelsea/Hallowell/Pittston, Gardiner/Randolph, Farmingdale/West Gardiner/Randolph, Monmouth/Wayne/Winthrop and Fayette/Manchester/Mt. Vernon/Readfield/Winthrop. Litchfield is in no other district either. The other snapshot units not named are Sinclair Twp and Rockwood Strip, which are unorganized and inside UTs.
- 1983, Senate: **Mattawamkeag (Penobscot) is in no Senate district in LD 1320 as printed.** Confirmed on the images of pp. 78–80: it is absent from SD 3, 5 and 6, though its neighbours are in SD 5/6. It is in House District 133.

**Fixes made because of the checks (1983).** OCR or my first reading had cut these clauses off, and they were restored from the text and images:
- HD 74 also includes part of Bath ("and, in addition, that portion of the municipality of Bath south and west of …").
- HD 147 also includes the part of Mapleton north of Route 163.
- HD 139 also includes Bancroft, Haynesville, Orient, Reed Plantation and Weston (Aroostook).

## Printing errors in the sources (kept as printed and flagged in `note`)

- 1993 SD 18: Richmond (Sagadahoc) printed under "In Kennebec County".
- 1993 HD 71: New Gloucester (Cumberland) printed under "In Androscoggin County".
- 1993 HD 139: Lake View Plantation, Medford and Milo (Piscataquis) printed under "In Penobscot County". There is no "B. In Piscataquis County" clause; confirmed on the image of p. 1243.
- 1983 HD 99/100: Fairfield, Smithfield and Skowhegan (Somerset) printed "in Kennebec County".
- 1983 HD 104: Cambridge and Ripley (Somerset) listed among the "Piscataquis County" municipalities.
- 1983 SD 28: "Gorham" sits in a gap in the typescript and looks like a later insertion (p. 87).

## Doubts and open items

1. **Did LD 1320 change before enactment as PL 1983 c. 93?** The legislative history (`apport_1983_lh111-LD-1320.pdf`) shows:
   - "Engrossed Without Reference", so there was no committee report;
   - floor action in the House and Senate on March 25, 29 and 30, 1983, with roll calls on the 30th;
   - approval on March 31, 1983 as PL 1983 c. 93.

   It lists no committee or floor amendments. It is a summary, though, not the Journal, so amendments cannot be ruled out. The two omissions (Litchfield from the House, Mattawamkeag from the Senate) suggest the enacted chapter or the Secretary of State's implementation fixed them. The Secretary of State had express authority to "resolve ambiguities concerning the location of election district lines".

   **The 1983 table reflects the bill as printed, not verified enacted text.** The fix is to compare against PL 1983 c. 93 in the Laws of Maine 1983, or 21 MRSA §1571-B as codified. Also, on p. 89 paragraphs C–D of subsection 7 are a pasted-in, typeset clipping of other statutory text; the A–B district lists are typewritten.
2. **Litchfield and Mattawamkeag — resolved 2026-10-14 from the election returns.** See "Update 2026-10-14" below. Litchfield: HD 93, SD 18, CD 1. Mattawamkeag: HD 133, SD 3, CD 2.
3. **1983 Loring AFB.** HD 148 takes "a portion of the Limestone Air Force Base, containing 1,142 persons, said portion to be designated by the commanding officer". There is no geographic line.
4. **1983 unorganized territories are named inconsistently.** The House and Senate use different names: "East/North/West Somerset County" in the House versus "Northeast/Northwest Somerset, Central Somerset, Seboomok Township" in the Senate. "Central Somerset" is listed among the Senate municipalities. HD 104 and HD 105 split the "northeast Piscataquis Unorganized Territory" along 1980 Enumeration District 104.
5. **1993 census-block lists** are OCR text. They passed the structure checks (ascending order, no block assigned twice), but a single wrong digit that keeps the order would not be caught. Use the printed pages for block-level work.
6. **Unorganized territory rows** (`unit_id` blank) cover townships that have project units, such as Big Lake Twp inside East Central Washington UT. The tables do not map UT → township.
7. Snapshot quirks that are not plan problems: Brighton Plt, E Twp, Greenfield Twp and Blanchard are matched but absent from the 1994 snapshots. In 1993 Greenfield was still a town; it deorganized later in 1993.

## Scripts

Working scripts are in the session scratchpad: `cols93.py`, `parse93.py`, `clauses93.py`, `build93.py`, `split83.py`, `parse83.py`, `build83.py`, `gaz.py`, `checks.py` and `assemble.py`. The hand transcription of 1983 is `t83_manual.txt`. Copies of the scripts and transcription are in `out/work/`.

## Update 2026-10-14 (data audit II, P-169(4))

**Rows added.** `plan_1983.csv` gains two rows, each with `place_as_printed` "… (not printed)", `source_page` naming the election returns, and a `note` giving the evidence:
- House District 93: **Litchfield** (Kennebec, MPD-0189).
- Senate District 3: **Mattawamkeag** (Penobscot, MPD-0319).

**Evidence.**
- *Enacted law.* PL 1983 c. 93 (the copy on lldc.mainelegislature.org, read 2026-10-14) prints House Districts 91–95 exactly as LD 1320 does — HD 93 is "Farmingdale, West Gardiner and that portion of Randolph south of …" — so Litchfield is missing from the enacted text too. The online copy's text layer stops at House District 122, so the enacted Senate list (and Mattawamkeag's absence there) could not be checked.
- *1984 clarification act.* LD 2342, "An Act to Clarify Certain Portions of the Reapportionment Laws", enacted as **PL 1983 c. 794 (approved April 19, 1984)**, rewrites the descriptions of House Districts 1, 2, 6, 10, 11, 13, 14, 16, 18, 19, 23, 25–32, 38, 39, 55, 56, 58, 64, 65, 88, 90, 96–98, 105, 115–117, 119, 120 (and apparently 128, 131, 142, 143) and Senate Districts 6 and 27 "to match the official district maps". It names neither Litchfield nor Mattawamkeag. Its SD 6 and SD 27 town lists are the same as this table's. **The House rewrites (mostly street-level lines inside split towns) have not been compared with `plan_1983.csv`**; the `split_detail` text for those districts is the 1983 bill's, which c. 794 replaced for the 1984–1992 elections.
- *Election returns.* The Secretary of State's returns in election results v3.11 report Litchfield in State House District 93 (with Farmingdale, Randolph and West Gardiner) and State Senate District 18, and Mattawamkeag in State House District 133 and State Senate District 3, in every primary and general election 1986–1992. The Secretary of State had authority to resolve ambiguities in the district lines, which is the likeliest way the omissions were filled.

Script: `geography/fix_v1_2_geography.py` (adds the rows; keeps the file's CRLF line endings).
