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