Reflections on geocomputation in R
Jakub Nowosad (Adam Mickiewicz University, Poznań and University of Münster)
UseR! 2026, Warsaw, Poland
2026-07-08
I am a computational geographer.
A geographer is a person who arrives in a new place and ask questions such:


How does this city shape the way people move and interact with each other?
How did this landscape come to look like this?
What are the properties of this soil and how do they affect agriculture and ecosystems?
Geography today is not about memorizing place names and locations, nor is it simply about making maps.
Its goal is to understand spatial phenomena:
what is located where, why there, and how it changes over time.
Examples of contemporary research topics:
A computational geographer is someone who spends most days in front of a computer, building models, analyzing spatial data, and dreaming about getting out into the field.
Then, when fieldwork finally happens…
…they are surrounded by dead trees during a windstorm, and realize that the satellite view was close enough.
A very wide range of data sources – from satellite observations to in-situ field measurements.



We directly observe a signal (e.g., reflected radiation), from which we infer land cover type, vegetation condition, or environmental state.
Field data are more expensive and harder to collect, but often remain irreplaceable as direct measurements and a reference point for remote sensing data


In practice, geographical analyses often combine many data sources, because each of them describes a different aspect of reality and has different limitations. Most are proxies…

In tabular data, the order of rows usually does not matter.
In spatial data, position and relationships between objects are part of the information.
Specific challenges:

R has a long history of supporting spatial data processing, analysis, and visualization
Spatial analysis in R grew from early work in the S language (1990s; Ripley and others)
By ~2000, R/S already supported point patterns, geostatistics, ESDA, and spatial econometrics
Early packages laid the foundation for spatial statistics in R
Later development, led by Bivand and Pebesma, integrated with broader geospatial ecosystems (e.g., GDAL, GEOS), and shaped modern R geospatial workflows

Core packages: sf, terra, stars (but also gdalraster, geos, wk, etc.)
Visualization: tmap, ggplot2, leaflet, mapview, mapsf, …
Analysis: spatstat, gstat, spdep, spatialreg, landscapemetrics, sits, …
New kids on the block: mapgl, a5R, duckspatial



Translations (some made by the community, thank you!):
geocompx, https://geocompx.org/, is a community-driven project supporting learning and teaching geocomputation across multiple programming languages.
We create open educational resources to promote reproducible geographic analysis in R, Python, Julia, and beyond.




A complete spatial understanding of the Earth.
Jakub Nowosad (Adam Mickiewicz University, Poznań and University of Münster)
UseR! 2026, Warsaw, Poland
2026-07-08
Nope.
Jakub Nowosad (Adam Mickiewicz University, Poznań and University of Münster)
UseR! 2026, Warsaw, Poland
2026-07-08



Area of applicability (AoA, Meyer and Pebesma, 2021) for different sampling designs



k-fold Nearest Neighbor Distance Matching (kNNDM, Linnenbrink et al., 2024) matches folds to the prediction scenario using distance structure (either in geographic or predictor space).

Evaluation results for different validation strategies

It provides color schemes for maps and other graphics designed by the CARTO company.
(And it taught me a lot about how to create an R package.)


Color vision deficiency simulation:
colorblindr, colorBlindness
Palette quality assessment:
colorblindcheck
Colorblind-friendly palettes:
viridis, rcartocolor
Image recoloring tools:
cblindplot
Many related tools:
colorspace, cols4all


There are enough green-red and rainbow colored maps in the world.


cblindplot::cblind.plot(map, legend = my_legend)




In 2018, inspired by the work of Neil Kaye, I wrote a blog post with R code to show distortions of the Mercator projection.
I also shared the resulting gif on Wikipedia.

Even a silly-looking map gif can have some impact on the public discourse.
R is already strong in:
But geocomputation is moving quickly:

A very accurate model can still fail in the places we care about.

And a beautiful map can still mislead.
Even the newest methods still depend on:
We need more than geospatial R packages:
Long-term sustainability depends on the ability to:
Slides:
contact: https://jakubnowosad.com geocompx: https://geocompx.org/
Many thanks to the #RSpatial community!




