Software
I build open-source tools for working with spatial and demographic data, mostly in R and increasingly with Rust backends. tidycensus and tigris alone have been downloaded nearly two million times from CRAN, and the full set of packages below more than 2.1 million times; they are used by researchers, journalists, planners, and analysts in academia, government, and industry. In 2026 the R Consortium funded the project Sustaining R’s Census Data Infrastructure to maintain and modernize tidycensus and tigris.
US Census data
tidycensus
Load US Census Boundary and Attribute Data as ‘tidyverse’ and ‘sf’-Ready Data Frames. tidycensus gives R users direct access to decennial Census, American Community Survey, Population Estimates, and migration flows data, with optional simple features geometry attached, so that demographic data are ready to analyze and map immediately.
Documentation · CRAN · GitHub
tigris
Load Census TIGER/Line Shapefiles. tigris downloads Census Bureau geographic data (states, counties, tracts, blocks, roads, water, and more) and loads it directly into R as simple features objects. Described in The R Journal (2016).
pygris
A Python port of tigris: use TIGER/Line shapefiles and other US Census Bureau data resources in Python, returning GeoPandas GeoDataFrames.
Documentation · PyPI · GitHub
idbr
R Interface to the US Census Bureau International Data Base API. Access historical and projected demographic data for countries around the world.
Mapping and visualization
mapgl
Interactive Maps with ‘Mapbox GL JS’ and ‘MapLibre GL JS’. mapgl brings WebGL-powered interactive mapping to R, with support for vector tiles, 3D layers, data-driven styling, and Shiny integration.
Documentation · CRAN · GitHub
mapboxapi
R Interface to ‘Mapbox’ Web Services. Optimize routes, draw isochrones, geocode addresses, read and write vector tiles, and use custom Mapbox styles in R mapping projects.
Documentation · CRAN · GitHub
freestiler
Create Vector Tiles from Spatial Data. A Rust-powered vector tile generator for R, Python, and DuckDB that turns large spatial datasets into tilesets ready for web mapping.
Documentation · CRAN · GitHub
pmtiles
Read and Write PMTiles Archives in R. PMTiles is a single-file, cloud-optimized archive format for map tiles; the package reads, inspects, and writes PMTiles archives and pairs with freestiler and mapgl for serverless web maps.
Spatial analysis
spopt
Spatial Optimization for Regionalization, Facility Location, and Market Analysis. An R implementation, with a Rust backend, of the spatial optimization methods popularized by PySAL’s spopt: regionalization, location-allocation, and related problems.
Documentation · CRAN · GitHub
crsuggest
Obtain Suggested Coordinate Reference System Information for Spatial Data. crsuggest recommends appropriate projected coordinate systems for a dataset based on its location and extent.
geosam
Interface to Meta’s Segment Anything Model (SAM) for Geospatial Data. Apply SAM to georeferenced imagery from R and return the results as spatial features.
Book
Analyzing US Census Data: Methods, Maps, and Models in R (CRC Press, 2023) is a full-length treatment of working with US Census data in R, from acquiring data with tidycensus and tigris through mapping, spatial analysis, and modeling. The book is free to read online.