1.1 What is geocomputation?

Geocomputation is a young term, dating back to the first conference on the subject in 1996.1What distinguished geocomputation from the (at the time) commonly used term ‘quantitative geography’, its early advocates proposed, was its emphasis on “creative and experimental” applications (Longley et al. 1998) and the development of new tools and methods (Openshaw and Abrahart 2000):“GeoComputation is about using the various different types of geodata and about developing relevant geo-tools within the overall context of a ‘scientific’ approach.”This book aims to go beyond teaching methods and code; by the end of it you should be able to use your geocomputational skills, to do “practical work that is beneficial or useful” (Openshaw and Abrahart 2000).

Our approach differs from early adopters such as Stan Openshaw, however, in its emphasis on reproducibility and collaboration.At the turn of the 21st Century, it was unrealistic to expect readers to be able to reproduce code examples, due to barriers preventing access to the necessary hardware, software and data.Fast-forward two decades and things have progressed rapidly.Anyone with access to a laptop with ~4GB RAM can realistically expect to be able to install and run software for geocomputation on publicly accessible datasets, which are more widely available than ever before (as we will see in Chapter 7).2Unlike early works in the field, all the work presented in this book is reproducible using code and example data supplied alongside the book, in R packages such as spData, the installation of which is covered in Chapter 2.

Geocomputation is closely related to other terms including: Geographic Information Science (GIScience); Geomatics; Geoinformatics; Spatial Information Science; Geoinformation Engineering (Longley 2015); and Geographic Data Science (GDS).Each term shares an emphasis on a ‘scientific’ (implying reproducible and falsifiable) approach influenced by GIS, although their origins and main fields of application differ.GDS, for example, emphasizes ‘data science’ skills and large datasets, while Geoinformatics tends to focus on data structures.But the overlaps between the terms are larger than the differences between them and we use geocomputation as a rough synonym encapsulating all of them:they all seek to use geographic data for applied scientific work.Unlike early users of the term, however, we do not seek to imply that there is any cohesive academic field called ‘Geocomputation’ (or ‘GeoComputation’ as Stan Openshaw called it).Instead, we define the term as follows: working with geographic data in a computational way, focusing on code, reproducibility and modularity.

Geocomputation is a recent term but is influenced by old ideas.It can be seen as a part of Geography, which has a 2000+ year history (Talbert 2014);and an extension of Geographic Information Systems (GIS) (Neteler and Mitasova 2008), which emerged in the 1960s (Coppock and Rhind 1991).

Geography has played an important role in explaining and influencing humanity’s relationship with the natural world long before the invention of the computer, however.Alexander von Humboldt’s travels to South America in the early 1800s illustrates this role:not only did the resulting observations lay the foundations for the traditions of physical and plant geography, they also paved the way towards policies to protect the natural world (Wulf 2015).This book aims to contribute to the ‘Geographic Tradition’ (Livingstone 1992) by harnessing the power of modern computers and open source software.

The book’s links to older disciplines were reflected in suggested titles for the book: Geography with R and R for GIS.Each has advantages.The former conveys the message that it comprises much more than just spatial data:non-spatial attribute data are inevitably interwoven with geometry data, and Geography is about more than where something is on the map.The latter communicates that this is a book about using R as a GIS, to perform spatial operations on geographic data(Bivand, Pebesma, and Gómez-Rubio 2013).However, the term GIS conveys some connotations (see Table 1.1) which simply fail to communicate one of R’s greatest strengths:its console-based ability to seamlessly switch between geographic and non-geographic data processing, modeling and visualization tasks.By contrast, the term geocomputation implies reproducible and creative programming.Of course, (geocomputational) algorithms are powerful tools that can become highly complex.However, all algorithms are composed of smaller parts.By teaching you its foundations and underlying structure, we aim to empower you to create your own innovative solutions to geographic data problems.