library(gePoints)
library(readr)
library(dplyr)
library(gt)
herbaria <- read_csv(
"Name, Abbr, City, Size, Million
Museum National d'Histoire Naturelle, P, Paris, Over, 9.5
Royal Botanic Gardens Kew, K, London, Over, 8
New York Botanical Garden, NY, New York City, Nearly, 8
Missouri Botanical Garden, MO, St. Louis, Nearly, 7
Komarov Botanical Institute, LE, St. Petersburg, About, 6
Conserv. et Jardin botaniques de Geneve, G, Geneva, About, 6
Naturhistorisches Museum Wien, W, Vienna, About, 5.5
The United States National Herbarium, US, Washington DC, Over, 5
Harvard University Herbaria, HUH, Cambridge, Over, 5"
)
gt(herbaria) |>
tab_caption(caption = "Herbarium Information") |>
tab_source_note(source_note = "Source: Wikipedia")6 Example: Herbaria of the World
A herbarium is a collection of preserved plant specimens — pressed, dried, mounted on archival paper, and filed by taxonomic name. The major herbaria of the world hold millions of specimens, some collected centuries ago, and serve as the primary reference for plant taxonomy and biodiversity research. Knowing where the large collections are matters for any botanist planning a research visit or requesting a loan.
This example maps the nine largest herbaria, with specimen counts encoded in the popup balloons and marker scaling proportional to collection size.
6.1 The data
Two tables are needed: collection information and coordinates. They share the standard herbarium abbreviation code as a key.
coords <- read_csv(
"Abbr, lat, lon
P, 48.8566, 2.3522
K, 51.4839, -0.3081
NY, 40.7128, -74.0060
MO, 38.6270, -90.1994
LE, 59.9343, 30.3351
G, 46.2044, 6.1432
W, 48.2082, 16.3738
US, 38.9072, -77.0369
HUH, 42.3770, -71.1167"
)
gt(coords) |>
tab_caption(caption = "Herbarium Coordinates") |>
tab_source_note(source_note = "Source: Anthropic Claude lookup")Join on the abbreviation code:
herb_data <- herbaria |>
left_join(coords, by = "Abbr")6.2 Basic KML
herb_kml <- herb_data |>
mutate(
text = Abbr,
comment = paste0(Name, "\n", City, "\n",
Size, " ", Million, " million specimens")
)
create_kml(herb_kml, "herbaria_basic.kml")6.3 Styled version with scaled markers
Larger collections get larger markers. The Million column is already numeric, so the scaling is direct:
herb_styled <- herb_data |>
mutate(
text = Abbr,
comment = paste0(Name, "\n", City, "\n",
Size, " ", Million, " million specimens"),
symbol_scale = 0.8 + (Million / 10),
color = "green",
symbol = "paddle",
text_color = "white"
)
create_kml(herb_styled, "herbaria_styled.kml")
preview_map(herb_styled)The scaling formula 0.8 + (Million / 10) maps the 5–9.5 million range to marker sizes of 1.3–1.75. Paris (9.5M) is visibly the largest; the 5-million institutions are noticeably smaller. No text parsing needed — the numeric Million column handles it cleanly.
6.4 What the map reveals
The nine largest herbaria are concentrated in three regions: Western Europe (Paris, London, Geneva, Vienna), the northeastern United States (New York, Cambridge, Washington), and St. Louis. A single point sits in isolation at St. Petersburg.
The clustering is not accidental. The great herbaria were built during the age of botanical exploration, when European colonial powers and wealthy American institutions funded collecting expeditions worldwide. The geographic concentration of specimens in the global north, drawn from ecosystems across all continents, is one of the enduring structural features of botanical science.
Plotting these nine points on Google Earth makes that structure visible at a glance.