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))
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 |
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)
}
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 |
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)
}