Germany Valley Landowners

Data sourced from the publicly available 2023 Pendleton County tax maps.

# Import Dependencies

library(sf)
library(dplyr)
library(stringr)
library(ggplot2)


# Load Data

taxMaps = st_read("../gis/civil/tax/Pendleton_Tax_Maps_2023_UTM83.shp", quiet = TRUE) |> 
  st_make_valid()  # fix bad geometry
taxMaps$Acres_C <- as.vector(st_area(taxMaps) * 0.000247105)  # Calculate area in acres for clipped polygons

gvBounds = st_read("../gis/index/GVBoundsUTM83.shp", quiet = TRUE)

cavesLineplot = st_read("../gis/caves/gvalleycaveUTM_3Dshots_2024-04-20_UTM83.shp", quiet = TRUE) |>
  st_zm()  # drop Z dimension from 3D shapefile due to limitation in sf library


# Normalize Landowner Names

name_mapping <- list(
  "UNITED STATES OF AMERICA" =
    c("US AMERICA", "UNITED STATES OF AMERICA", "U S DEPT INTERIOR", "USA-DEPARTMENT OF INTERIOR",
      "U S GOV 196 DEPT INTERIOR", "UNITED STATES OF AMERICA-DEPT", "DEPT INT BUREAU LAND MGMT",
      "U S GOVERNMENT-DEPT OF INTER", "USA"),
  "GREER LIMESTONE" =
    c("GREER STEEL CO", "GREER INDUSTRIES INC", "GREER INDUSTRIES, INC", "GREER INDUSTIRES INC",
      "GREER STEEL CO INC", "GREER STEEL COMPANY", "GREER INDUSTRIES", "GREER STEEL COMPANY INC",
      "CAVERNS COMPANY"),
  "HARPER MERLIN" =
    c("HARPER MERLIN PHILIP", "HARPER MERLIN PHILIP & GENA MARIE"),
  "KISAMORE KEVIN" =
    c("KISAMORE KEVIN P", "KISAMORE KEVIN P & WENDY P"),
  "HEDRICK PATSY" =
    c("MCMORROW CATHY DIANE-LE HEDRICK PATSY LOUISE-LE", "HEDRICK PATSY A BENNETT KATHERYN ET AL",
      "HEDRICK PATSY A BENNETT MELVIN A & ET AL"),
  "BENNETT JIMMIE & VICKIE" =
    c("BENNETT JIMMIE & VICKIE L", "BENNETT JIMMIE & VICKIE LYNN","BENNETT BARBARA-LE BENNETT JIMMIE",
      "BENNETT JIMMIE W & BENNETT VICKIE L"),
  "HARPER HARVEY & NANCY & DAVID" =
    c("HARPER HARVEY & NANCY-LE HARPER DAVID PHILIP", "HARPER HARVEY F & NANCY", "HARPER DAVID PHILIP",
      "HARPER DAVID PHILIP & VANESSA L"),
  "WIMER LARRY & CAROLYN JEAN" =
    c("WIMER LARRY & CAROLYN JEAN", "WIMER LARRY H & CAROLYN J", "WIMER CAROLYN JUNE",
      "WIMER CAROLYN JUNE & REBCCA ELLEN", "WIMER LARRY ALLEN"),
  "WARNER MICHAEL" =
    c("WARNER MICHAEL E", "WARNER MARCIA-LE WARNER MICHAEL E", "WARNER MICHAEL E & WARNER ANDRA"),
  "POMERANCE RALPH & LENORE" =
    c("POMERANCE RALPH JR & POMERANCE LENORE M- LT", "POMERANCE LENORE M & RALPH JR TRUSTEES"),
  "HARMAN JOHN & HONEY" =
    c("HARMAN JOHN R", "HARMAN HONEY T & JOHN PRESTON", "HARMAN HONEY & HARMAN JOHN PRESTON",
      "HARMAN JOHN R & HONEY"),
  "ONEIL IVAN & PAULA" =
    c("ONEIL IVAN E & PAULA L", "O'NEIL IVAN E & PAULA L")
)

taxMaps$FullOwnerN <- sapply(taxMaps$FullOwnerN, function(name) {
  for (standard_name in names(name_mapping)) {
    if (name %in% name_mapping[[standard_name]]) {
      return(standard_name)
    }
  }
  return(name)
})

# Add Family name as a column
family_names <- c("BENNETT", "BLAND", "DOVE", "HARMAN", "HARPER", "HEDRICK", "HUFFMAN", "KISAMORE", 
                  "LAMBERT", "NELSON", "RAINES", "RATLIFF", "RILEY", "ROY", "RUDDLE", "SITES", 
                  "THOMPSON", "WARNER", "WIMER")

taxMaps$Family <- NA
for (last_name in family_names) {
  matching_rows <- str_detect(taxMaps$FullOwnerN, last_name)
  taxMaps$Family[matching_rows] <- last_name
}

#taxMaps |>
#  select(Acres_C, Family, FullOwnerN, FullPhysic, FullLegalD) |>
#  arrange(desc(Acres_C))

Summarize by Family

Total acerage owned by families with a shared lastname.

families <- taxMaps |>
  group_by(Family) |>
  summarize(
    Total_Acres = sum(Acres_C),
    Percent     = sum(Acres_C) / sum(taxMaps$Acres_C) * 100) |>
  arrange(desc(Total_Acres)) |>
  st_drop_geometry()

families
Family Total_Acres Percent
4171 32.8
HARPER 1770 13.9
WARNER 1478 11.6
KISAMORE 970 7.6
BENNETT 796 6.3
WIMER 454 3.6
HEDRICK 398 3.1
RAINES 349 2.8
RILEY 344 2.7
BLAND 329 2.6
LAMBERT 283 2.2
ROY 280 2.2
RUDDLE 216 1.7
HARMAN 176 1.4
NELSON 158 1.2
DOVE 155 1.2
SITES 116 0.9
THOMPSON 115 0.9
HUFFMAN 80 0.6
RATLIFF 64 0.5

Plot Family Land Ownership (15)

top15 <- families |>
  filter(!is.na(Family)) |>
  top_n(15, wt = Total_Acres) |>
  arrange(desc(Total_Acres))

plots <- lapply(top15$Family, function(owner) {
  land_owned <- taxMaps[taxMaps$Family == owner, ]
  area <- round(na.omit(families[families$Family == owner, ])$Total_Acres, 1)
  ggplot() +
    geom_sf(data = land_owned, fill = "lightblue") +
    geom_sf(data = cavesLineplot, color = "red", size = 1) +
    geom_sf(data = gvBounds, color = "black", fill = NA, size = 1) +
    labs(
      title    = paste(owner, "FAMILY"),
      subtitle = paste(area, "Acres")) +
    theme(plot.background = element_rect(color = "black", fill = NA, linewidth = 1))
})

for (plot in plots) {
  print(plot)
}

Summarize by Landowner

Total acerage owned by individual landowners.

landowners <- taxMaps |>
  group_by(FullOwnerN) |>
  summarize(
    Total_Acres = sum(Acres_C),
    Percent     = sum(Acres_C) / sum(taxMaps$Acres_C) * 100) |>
  arrange(desc(Total_Acres)) |>
  st_drop_geometry()

landowners
FullOwnerN Total_Acres Percent
GREER LIMESTONE 1524.5 12.0
HARPER MERLIN 1020.3 8.0
KISAMORE KEVIN 869.4 6.8
UNITED STATES OF AMERICA 566.3 4.5
WARNER MICHAEL 491.2 3.9
BENNETT JIMMIE & VICKIE 486.5 3.8
HARPER HARVEY & NANCY & DAVID 434.0 3.4
WIMER LARRY & CAROLYN JEAN 423.5 3.3
POMERANCE RALPH & LENORE 419.5 3.3
RILEY EDWARD L 344.3 2.7
WARNER JERRY W 301.6 2.4
HARTMAN CAROLE HEDRICK 295.7 2.3
ONEIL IVAN & PAULA 285.1 2.2
BENNETT JACK & ANN 228.1 1.8
RUDDLE ZACHARY B RUDDLE JENNIFER L 216.5 1.7
WARNER DORIS H & DALE P 214.9 1.7
LAMBERT RICHARD M & JOAN H 209.6 1.7
HARPER TERESA L 196.8 1.5
ROY KEVIN H 179.2 1.4
BLAND JERRY A 176.2 1.4
HARMAN JOHN & HONEY 175.8 1.4
NELSON DOROTHY M 152.8 1.2
DOVE N EILEEN & LANTZ STEVEN H 144.8 1.1
RAINES BILLY E & LUCI J 133.8 1.1
EPPARD TARIE A WARNER-MCHONE EPPARD LUCAS & MCHONE WARNER 130.9 1.0
AUVILLE JERRENA SITES 115.5 0.9
HICKLIN SUSIE THOMPSON 115.4 0.9
HARPER BERLIN W 110.8 0.9
WATTS DAVID L & JUDY M-LE WATTS ASHLEY DAVID 103.2 0.8
KISAMORE LETHA & PEGGY & VELMA BLAND 90.8 0.7
DAY ROY J DAY JOHN A 90.3 0.7
JOHNSON CHARLES W & JOHNSON CHERYL A 85.2 0.7
BLAND JOHN MORRIS JR & MARILYN SUE 84.7 0.7
BAKER TERRY L 78.6 0.6
HOWARD JOHN H 77.7 0.6
WARNER JIMMIE DALE 74.8 0.6
PETRO PAUL DIANA 69.6 0.5
MERRILL JANET M & LILES WILLIAM C TRUSTEES 68.0 0.5
WARNER I DAVID 67.7 0.5
BOWERS LOUISE 66.9 0.5
MCCOY BETTY & SKIDMORE H NEWMAN M & EVICK J & HAMMER R 66.5 0.5
BURCH HAROLD RICHARD 63.8 0.5
SKAVENSKI VICKIE - LE SKAVENSKI ASHLEY & RACHEL 63.5 0.5
MCDONALD MARK P 62.4 0.5
HUFFMAN BRADLEY & VICKIE-LE 60.5 0.5
JENNINGS CATHY LYNN 57.7 0.5
LAMBERT HAROLD E & SANDRA KAY 57.5 0.5
BENNETT ROBERTA W- LE SHIRLEY TERRY SCOTT LORI 55.2 0.4
HEDRICK PATSY 54.6 0.4
RAINES TERRY LEE- LE RAINES RYAN KELLY ET ALS 53.5 0.4
RAINES RONALD ALLEN ET ALS 53.1 0.4
BURNER JOHN WM ET ALS 51.1 0.4
RATLIFF BENJAMIN S 50.3 0.4
WARNER JANET 48.4 0.4
KEISTER ANDRA WARNER 47.1 0.4
SHULL TARIE ANN WARNER 46.6 0.4
HEDRICK EARL & HELEN 45.3 0.4
LAWRENCE QUENTON R & JOAN K LAWRENCE SCOTT A & STEPHEN A 43.2 0.3
RAINES SARA ANN CURTIS BETINA ET ALS 41.1 0.3
GONSHOR MICHELLE 30.5 0.2
WIMER CHRISTOPHER 30.1 0.2
WARNER TYLER L & JOSHUA D 30.1 0.2
BLAND LARRY & BARBARA AND PEGGY 28.2 0.2
RAINES WILLIAM CONLEY 27.4 0.2
WRATCHFORD MICHAEL E 24.9 0.2
TETER NORMA (LE) NORJEN LADONNA J 24.4 0.2
TAYLOR DANIEL C 22.7 0.2
BLAND RICHARD A 22.5 0.2
BEARD CLAYTON 22.3 0.2
JENNINGS CATHY LYNN RAINES TERRY LEE 22.0 0.2
KEATING WILLIAM J 21.6 0.2
HENSLEY CHRISTOPHER & AARON & TYLER 21.3 0.2
FUTURE GENERATIONS UNIVERSITY CORPORATION 19.2 0.2
KOUTS DEVIN & HYE HYUN 18.9 0.1
PETRIE CLAUDE WILLIAM PETRIE JANICE LEA 17.2 0.1
PROPST N QUENTIN 16.3 0.1
LAMBERT WILLIAM H & CAROLYN N 16.1 0.1
REXRODE GARY W & GOLDA R 16.0 0.1
BAKER DURELL W JR & PHYLLIS 15.0 0.1
BENNETT JACKIE L & ALETHA A BENNETT JARED 15.0 0.1
MELANSON MARK & TODD WALLS APRIL & BALDWIN JESSICA 12.8 0.1
HALE BARBARA Y & MEGAN A HALE JASON 12.6 0.1
BLAND STEVE D & JULIE L 12.2 0.1
HUFFMAN TERRIE L 12.0 0.1
COOK BRADLEY & COOK LESLEY ANN 11.9 0.1
RATLIFF DOUGLAS RAY 11.7 0.1
WARNER MERL N 11.5 0.1
PHARES SHIRLEY K LANTZ JERRY RUSSELL 11.4 0.1
ROY KEVIN & MARY LOUISE 9.3 0.1
DENTON HORACE L & BOWEN DELORES 9.3 0.1
RAINES TERRY LEE- LE RAINES RYAN LEE 9.1 0.1
HARPER BETSY ELLEN BLAND ELVIS E 8.5 0.1
BENNETT DONNIE L 8.3 0.1
KISAMORE MONA 7.1 0.1
HUFFMAN MARY HUNDLEY DALLAS 7.1 0.1
DOVE LEE A 7.0 0.1
TEETS ROBERT L & CAROLYN W 6.9 0.1
UTT MARTIN W & SUSAN A 6.8 0.1
NORTH FORK CEMETERY 6.4 0.1
WILKINS J CARLTON 6.2 0.0
WARNER CARROLL & ELEANOR MILLER DARREN F & LOTAN JENA L 5.8 0.0
WARNER GUY M BRENDA K 4.8 0.0
BLAND SENECA L & RAINES BRANDON M 4.5 0.0
GEISER-KLINE MARGARET ET ALS 4.4 0.0
MUNDY DONALD P 4.2 0.0
WHEELER JAMES B & NAOMI 3.8 0.0
VOLZ LERA 3.7 0.0
BOTKIN PAMELA BLAND 3.6 0.0
FUTURE GENERATIONS UNIVERSITY 3.3 0.0
RAINES BILLY E & RAINES LUCI J 3.0 0.0
AUVILLE SHERRY C & ETALS. 2.9 0.0
PERSINGER JOHN T 2.9 0.0
MONONGAHELA POWER CO 2.7 0.0
ARBAUGH LINDA & LARRY D 2.6 0.0
WILKINS JOHN CARLTON BENNETT WENDY 2.4 0.0
DOVE ALLEN L & JENNY L WILLIAM 2.3 0.0
WARNER LORENE WHEELER NAOMI 2.1 0.0
KISAMORE PHILIP WRIGHT KISAMORE AMY RENEE 2.0 0.0
2.0 0.0
HEDRICK DENNIS J 2.0 0.0
ARBAUGH LINDA L & LARRY D 2.0 0.0
NELSON DORTHY M 2.0 0.0
RATLIFF SHERI LYNN 1.9 0.0
SIMMONS DOROTHY E (SUTTON) 1.9 0.0
RAINES RYAN K & RAINES SARAH E 1.8 0.0
WATSON EARNEST FRANK ROBERT M 1.8 0.0
VANDEVANDER EUGENE G & DINAH S 1.8 0.0
VINT RANDY 1.6 0.0
MALLOW CHARLES & ANNA 1.5 0.0
MALCOLM JIMMY C/O ZETTA MALCOLM 1.4 0.0
WVDOH 1.4 0.0
CROSS TROY D 1.4 0.0
BURNS SHURLINE- LE BURNS TERRY 1.3 0.0
BOTKIN PAMELA L BLAND 1.3 0.0
NELSON NORMAN C JR 1.3 0.0
WILFONG CHARLES E 1.2 0.0
KISAMORE LUCY E 1.1 0.0
BURNS CURTIS- LE BURNS TERRY 1.1 0.0
HARRIS KAYLA NICOLE (OURS) 1.1 0.0
ARBAUGH CANDY & CLIFFTON 1.0 0.0
DAY DAVID N & LISA K 1.0 0.0
U B CHRUCH TRUSTEE 1.0 0.0
NELSON JEFFREY 1.0 0.0
DERR URIAH FREDERICK CHERYL 0.9 0.0
WRIGHT EDWARD THOMAS 0.8 0.0
LAWRENCE QUENTON & JOAN LAWRENCE SCOTT A & STEPHEN A 0.8 0.0
HARRIS SUDIE-LE HARRIS TIFFANY 0.7 0.0
SNYDER LUCINDA 0.7 0.0
NELSON JANET & JEFFREY & BJ-LE NELSON BARDON 0.7 0.0
SKAVENSKI VICKIE 0.7 0.0
DOLLY CEMETARY 0.7 0.0
BURNS SHURLINE-LE BURNS TERRY 0.6 0.0
DOVE ALLEN & LEE JENNY & WILLIAM 0.6 0.0
HINKLE TRUCKING INC 0.5 0.0
TETER CHARLES ROBERT 0.5 0.0
HARRIS SUDIE- LE HARRIS TIFFANY 0.4 0.0
RATLIFF BRIAN KEITH & JEANETTE LOUISE 0.4 0.0
TRUSTEE UB CH SOLOMAN CHAPEL 0.4 0.0
PHARES SHIRLEY K LANTZ JERRY RUSSELL 0.4 0.0
WV WILDLIFE RESCOURCES DEPT OF COMMERCE 0.4 0.0
MILLER DANNY REED 0.3 0.0
RATLIFF BRIAN KEITH 0.3 0.0
TR UNITED BRETHERN CHURCH IN CHRIST 0.2 0.0
HARRIS SUDIE LE HARRIS TIFFANY 0.2 0.0
WARNER JIMMIE D 0.1 0.0
DOVE ALLEN L & JENNY L & WILLIAM 0.1 0.0
PRIVATE CEMETERY 0.1 0.0
J K WARNER CEMETARY TRUSTEES 0.1 0.0
LILLER PATRICIA 0.1 0.0
JOHNSON CEMETARY 0.0 0.0
WIMER JAN L ET AL 0.0 0.0
POORE LLC 0.0 0.0

Plot Individual Land Ownership (25)

top25 <- landowners |>
  top_n(25, wt = Total_Acres) |>
  arrange(desc(Total_Acres))

plots <- lapply(top25$FullOwnerN, function(owner) {
  land_owned <- taxMaps[taxMaps$FullOwnerN == owner, ]
  area <- round(na.omit(landowners[landowners$FullOwnerN == owner, ])$Total_Acres, 1)
  ggplot() +
    geom_sf(data = land_owned, fill = "lightblue") +
    geom_sf(data = cavesLineplot, color = "red", size = 1) +
    geom_sf(data = gvBounds, color = "black", fill = NA, size = 2) +
    labs(
      title    = paste(owner),
      subtitle = paste(area, "Acres")) +
    theme(plot.background = element_rect(color = "black", fill = NA, linewidth = 1))
})

for (plot in plots) {
  print(plot)
}