Hi! I’m Jakub Nowosad, an Associate Professor at Adam Mickiewicz University and a Visiting Scientist at the University of Münster. My work focuses on developing spatial methods to better understand environmental processes. Here, I present my research, publications, and geocomputational projects.
Spatial machine learning has become a standard tool for producing environmental and geographic prediction maps. It is now relatively (technically) easy to combine field observations with remote sensing, climate, terrain, or other predictor layers and fit a strong machine learning model. The harder question is whether the resulting map is reliable, transferable, and reproducible. In our paper,…
At useR! 2026 in Warsaw, I contributed to a workshop on Geocomputation with R (July 6, 2026) and gave a keynote entitled A world still to be mapped: reflections on geocomputation in R (July 8, 2026). Both were opportunities to consider what the R spatial ecosystem already makes possible, its strengths, limitations, and what remains to be done. Title slide of the talk Keynote slides:…
Title slide of the talk Keynote slides: https://jakubnowosad.com/ml4eo2026/ Workshop materials: https://jakubnowosad.com/ml4eo2026workshop/ Machine learning is now deeply embedded 1 in Earth observation workflows, from mapping current environmental conditions to forecasting future change. However, the quality of a spatial prediction map cannot be judged only by how well a model performs on a…
Time flies, and I am now much closer to the end of the PRISM ( PReservation and RecognItion of Spatial patterns using Machine learning ) project than to its beginning. 1 . The project’s primary goal is to develop methods for validating and including spatial patterns in machine learning. In this blog post, I summarize the project’s progress from April 2025 to February 2026 and share related outputs…
Slides: https://jakubnowosad.com/agforum2025 This presentation covered three interconnected deep learning concepts appearing in spatial data science work. Graph Neural Networks (GNNs) are a deep learning architecture that represents spatial data as graphs: nodes are spatial units (pixels, regions, locations) and edges are relationships (proximity, similarity, connectivity). Nodes aggregate…
Title slide Slides: https://jakubnowosad.com/rome2025 Video recording: https://youtu.be/uZe7thh80MI Reproducible code: https://jakubnowosad.com/rome2025/index.R Geospatial predictive mapping is a common task across many domains, aiming to produce continuous surfaces from point observations and spatial predictors. There are many algorithms available to perform this task, ranging from simple…
Last year, I received a grant from the Marie Skłodowska-Curie Actions Postdoctoral Fellowships (MSCA-PF) program for a project called PRISM: PReservation and RecognItion of Spatial patterns using Machine learning . Between August 2024 and August 2026, I am in the Remote Sensing and Spatial Modeling group at the University of Muenster, Germany. The project’s primary goal is to develop and compare…
Note Methods for comparing spatial patterns in raster data This is the sixth part of a blog post series on comparing spatial patterns in raster data. More information about the whole series can be found in part one . The blog post series on comparing spatial patterns in raster data has covered a variety of methods for comparing spatial patterns in raster data, with a focus on (a) comparing two…
Note Methods for comparing spatial patterns in raster data This is the fifth part of a blog post series on comparing spatial patterns in raster data. More information about the whole series can be found in part one . This blog post focuses on comparing spatial patterns in categorical raster data for arbitrary regions. This means that the methods shown can be applied to compare rasters of the same…
Note Methods for comparing spatial patterns in raster data This is the fourth part of a blog post series on comparing spatial patterns in raster data. More information about the whole series can be found in part one . This blog post focuses on the comparison of spatial patterns in categorical raster data for overlapping regions. In other words, here we have two rasters with the same number of rows…
Note Methods for comparing spatial patterns in raster data This is the third part of a blog post series on comparing spatial patterns in raster data. More information about the whole series can be found in part one . This blog post focuses on the comparison of spatial patterns in continuous raster data for arbitrary regions. Thus, the shown methods require two continuous rasters, which may have…
Note Methods for comparing spatial patterns in raster data This is the second part of a blog post series on comparing spatial patterns in raster data. More information about the whole series can be found in part one . This blog post shows various methods for comparing spatial patterns in continuous raster data for overlapping regions, i.e., how to compare two rasters for the same region, but in…
Note Methods for comparing spatial patterns in raster data This is the first part of a blog post series on comparing spatial patterns in raster data. Part 2: Comparison of spatial patterns in continuous raster data for overlapping regions using R Part 3: Comparison of spatial patterns in continuous raster data for arbitrary regions using R Part 4: Comparison of spatial patterns in categorical…
I received a grant from the Marie Skłodowska-Curie Actions Postdoctoral Fellowships (MSCA-PF) program: between August 2024 and August of 2026, I will be at the University of Muenster, Germany, working on a project named PRISM: PReservation and RecognItion of Spatial patterns using Machine learning . The project’s primary goal is to develop and compare methods for validating and including spatial…
The spatial kinetic Ising model is a simple model of spatial patterns that can be used to simulate the evolution of spatial patterns over time . Its two main parameters are B and J , which control the external pressure and the local autocorrelation tendency, respectively. Both of them have a strong effect on the results of the spatial kinetic Ising model. Thus, the question is how to find the best…
A two-dimensional Ising model is an idealized physical system that consists of a lattice of binary variables ( magnetic spins ) that can be in one of two states: up or down. Each spin’s state is influenced by its neighbors: the more neighbors in the same state, the more likely the spin will be in the same state. Thus, the change in the state of a spin impacts the state of its neighbors, which in…
Spatial signatures represent spatial patterns of land cover in a given area. Thus, they can be used to search for areas with similar spatial patterns to a query region or to quantify changes in spatial patterns . The approaches above are implemented as lsp_search() and lsp_compare() functions of the motif R package, respectively. At the same time, it is possible to create other, more customized…
The spatial signatures of categorical rasters are a set of numbers that describe the spatial patterns of the provided variables . Next, they allow for further operations such as searching, comparing, or clustering . Less known is that they can also be used to extract information about the composition and configuration of spatial patterns. This blog post shows how to do it using the motif R…
This is a second blog post in a series about the supercells package. You can read the first one at “supercells: universal superpixels algorithm for applications to geospatial data” . The main idea of supercells is to create groupings of adjacent cells that share common characteristics. This process often results in an over-segmentation – a situation when supercells are internally homogeneous, but…
Segmentation is a process of partitioning space into smaller segments. For example, imagine looking at your family photo and trying to distinct individual people. Similarly, we can look at a satellite image (in RGB colors) with the goal of delineating where are the buildings, fields, roads, etc. In geography, segmentation can also be associated with regionalization. Here, our goal is not to detect…
In the past, I wrote a post on how to calculate landscape-level metrics for local landscapes . There, I showed how to divide the categorical input map into a number of smaller areas and calculate selected landscape metrics for each area. The result consists of a regular grid - a number of square polygons, where each polygon contained just one value of a calculated landscape-level metric (e.g.,…
TLTR: --> This is a last blog post in a series about motif - an R package aimed for pattern-based spatial analysis. It sums up previous posts, but also underlines potential considerations when working with spatial patterns. Finally, it lists underexplored topics and future ideas related to pattern-based spatial analysis. Pattern-based spatial analysis The first blog post in this series introduces…
TLTR: --> Clustering similar spatial patterns requires one or more raster datasets for the same area. Input data is divided into many sub-areas, and spatial signatures are derived for each sub-area. Next, distances between signatures for each sub-area are calculated and stored in a distance matrix. The distance matrix can be used to create clusters of similar spatial patterns. Quality of clusters…
TLTR: --> Quantifying changes of spatial patterns requires two datasets for the same variable in the same area. Both datasets are divided into many sub-areas, and spatial signatures are derived for each sub-area for each dataset. Next, distances for each pair of areas are calculated. Sub-areas with the largest distances represent the largest change. To reproduce the calculations in the following…
TLTR: --> Finding similar spatial patterns requires data for a query region and a search space. Spatial signatures are derived for the query region and many sub-areas of the search space, and distances between them are calculated. Sub-areas with the smallest distances from the query region are the most similar to it. To reproduce the calculations in the following post, you need to download all of…
TLTR: --> Spatial signatures are multi-value representations of the patterns that compress information about spatial composition and configuration. Spatial signatures can be directly compared using various distance measures. Describing categorical rasters A categorical raster shown below represents land cover data for some area. This area is mainly covered by forest, with some small patches of…
I gave the overview of what is the pattern-based spatial analysis and how it can be applied for the RGS-IBG GIScience Webinar Series . You can find the workshop abstract, slides, and recording below. Abstract Discovering and describing spatial patterns is an important element of many geographical studies with spatial patterns being related to ecological and sociological processes. While spatial…
TLTR: --> motif is an R package aimed for pattern-based spatial analysis. It allows for spatial analysis such as search, change detection, and clustering to be performed on spatial patterns. This blog post introduces basic ideas behind the pattern-based spatial analysis, and shows the types of problems to which it can be applied. Spatial patterns Discovering and describing patterns is a vital part…
Bivariate color palettes are products of combining two separate color palettes. They are usually represented by a square with rows (one color palette) and columns (second color palette). You can more about how they are made in the blog post “Bivariate Choropleth Maps: A How-to Guide” by Joshua Stevens. The main role of bivariate color palettes is to present the values of two variables…
The raceland package implements a computational framework for a pattern-based, zoneless analysis and visualization of (ethno)racial topography. The main concept in this package is a racial landscape (RL). It consists of many large and small patches (racial enclaves) formed by adjacent raster grid cells having the same race categories. The distribution of racial enclaves creates a specific spatial…
Maximilian H.K. Hesselbarth and I gave the Introduction to landscape ecology with R workshop during IALE-North America 2020 Annual Meeting . You can find the workshop abstract, slides, and recordings below. Abstract R is a free, open-source programming language created as an environment for statistical computing and visualization. The advantages of using R include its flexibility, ease of…
In the last few weeks, I was asked a similar question several times - how to calculate landscape metrics for local landscapes? In other words, how to divide the categorical input map into a number of smaller areas, and next calculate selected landscape metrics for each of the areas. Those areas have many names, such as tiles, squares, or motifels. The main goal of this post is to show how to…
R version 4.0 is just around the corner. One of the changes in the new version is the improved default color palette using the palette() function. Proposed colors The new proposed palette() default is less saturated and more balanced, while at the same time, it follows the same basic pattern of colors (hues). You can read more about it at…
Quantitative assessment of spatial patterns has been a keen interest of generations of spatial scientists and practitioners using spatial data. This post describes Information Theory-based metrics allowing for numerical description of spatial patterns. Each example is accompanied by an R code allowing for reproducing these results and encouraging to try these metrics on different data. To learn…
A few months ago I have made an attempt to visualize the world population changes from 1800 to 2100: {{% tweet "1049685831475187712" %}} This way of visualization is good to show the ever-changing distribution of the population on a global scale. It allows seeing that, China and India dominated the world population, but also a large share of the world population had lived in Europe in 1800. At the…
Landscape metrics are algorithms that quantify physical characteristics of landscape mosaics (aka categorical raster) in order to connect them to some ecological processes. Many different landscape metrics exist and they can provide three main levels of information: (i) landscape level, (ii) class level, and (iii) patch level. A landscape level metric gives just one value describing a certain…
Introduction GeoPAT 2 is an open-source software written in C and dedicated to pattern-based spatial and temporal analysis. Four main types of analysis available in GeoPAT 2 are (i) search, (ii) change detection, (iii) segmentation, and (iv) clustering. However, additional applications are also possible, including extracting information about spatial patterns. Global landscape diversity (based on…
I am extremely proud to announce that Geocomputation with R is complete. It took Robin , Jannes , and me almost 2 years of collaborative planning, writing, refinement, and deployment to make the book available for anyone interested in open source, command-line approaches for handling geographic data. We’re very happy that it’s now ready to present to the world (and that physical copies of the book…
Last week Neil Kaye tweeted: Animating the Mercator projection to the true size of each country in relation to all the others. Focusing on a single country helps to see effect best. #dataviz #maps #GIS #projectionmapping #mapping pic.twitter.com/clpCiluS1z — Neil Kaye ( @neilrkaye ) October 12, 2018 This, of course, provoked me to ask: is it reproduclible? And more specifically, can it be…
Last month, Max Roser presented a cartogram of the Earth’s population in 2018. He also provided some perspectives on its spatial distribution in an article on the worldinourdata.org , which I recommend. Links to the article were shared in many places, including in the blog post A Map of the World Where the Sizes of Countries Are Determined by Population . The author, Jason Kottke , concluded with…
Creating or determination of regions is a useful way to describe the world. Regionalization does not only allow for a quicker understanding of spatial patterns but also can influence how regions are managed. Regions are created in various disciplines. We can delineate regions based on a single property (e.g. landform regions or climate regions) or several factors (e.g. ecoregions). There are also…
This is the sixth and the last blog post in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis . In the previous one we presented the pattern-based spatial segmentation - a method for creating regions of homogeneous patterns. Here, we will mention other pattern-based methods and show some examples of how you can use pieces of GeoPAT 2 in your own workflow.…
Blog posts in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis : GeoPAT 2: Software for Pattern-Based Spatial and Temporal Analysis Pattern-based Spatial Analysis - core ideas Finding similar local landscapes Quantifying temporal change of landscape pattern Pattern-based regionalization Moving beyond pattern-based analysis: Additional applications of…
Blog posts in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis : GeoPAT 2: Software for Pattern-Based Spatial and Temporal Analysis Pattern-based Spatial Analysis - core ideas Finding similar local landscapes Quantifying temporal change of landscape pattern Pattern-based regionalization Moving beyond pattern-based analysis: Additional applications of…
Blog posts in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis : GeoPAT 2: Software for Pattern-Based Spatial and Temporal Analysis Pattern-based Spatial Analysis - core ideas Finding similar local landscapes Quantifying temporal change of landscape pattern Pattern-based regionalization Moving beyond pattern-based analysis: Additional applications of…
Blog posts in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis : GeoPAT 2: Software for Pattern-Based Spatial and Temporal Analysis Pattern-based Spatial Analysis - core ideas Finding similar local landscapes Quantifying temporal change of landscape pattern Pattern-based regionalization Moving beyond pattern-based analysis: Additional applications of…
Global socio-economic data is easily accessible nowadays. Just type the indicator of interest and the name of the country in your preferred search engine and you can find its value, sometimes also an additional plot or a map. But what about when you want to go further and (for example): Want to compare many countries? Get data just for a specific year? See changes in time? Just want to create a…
Blog posts in the series introducing GeoPAT 2 - a software for pattern-based spatial and temporal analysis : GeoPAT 2: Software for Pattern-Based Spatial and Temporal Analysis Pattern-based Spatial Analysis - core ideas Finding similar local landscapes Quantifying temporal change of landscape pattern Pattern-based regionalization Moving beyond pattern-based analysis: Additional applications of…
Update (2018-12-12): Alternative approach to this problem can be found at https://github.com/Nowosad/us-map-alternative-layout. Introduction Maps of United States often focus only on the contiguous 48 states. In many maps Alaska and Hawaii are simply not shown or are displayed at different geographic scales than the main map. This article shows how to create inset maps of the USA, building on a…
Foo Hello everybody! A lot of things have changed since the last blogpost about Geocomputation with R . In this post I’ll give an update of our progress and our plans for the next chapters. Third author Probably the most important change is having a third author - Jannes Muenchow . He is a GIScientist based at the University of Jena with a keen interest in spatial and geostatistical modeling,…