ASDAR book Review

September 8, 2014

(This article was first published on Robin Lovelace - R, and kindly contributed to R-bloggers)

I was recently invited to write a book review for Applied Spatial Analysis and Policy (ASAP). The book, I conclude, “is the authoritative resource on R’s spatial capabilities” and should be of interest to many R users.

Below is a preprint of the full review, now published on ASAP’s website.

As a geographer and heavy R user, I was naturally excited to discover Applied Spatial Data Analysis with R (ASDAR). I purchased a copy of the first edition in the summer of 2012 at the European Region Science Association (ERSA) annual conference in Bratislava and was pleased to get my copy signed by the book’s lead author and influential R programmer Roger Bivand (who also manages R’s spatial ‘Task View’ and contributes to many R packages).

Two years later, I no longer feel like a beginner in the world of R for geographical applications and ASDAR was certainly of great assistance. Now in its second edition, the book has been substantially rewritten to account for rapid progress in R’s spatial capabilities. As an advanced user who teaches R for GIS applications and having read both versions of the book, I feel that I am well-placed to write this review. The book’s tone and technical focus (it contains code, equations or images on most pages) suits well its intended audience: advanced or intermediate users of R wanting to improve their spatial analysis skills.

A major selling point of ASDAR is that its authors are some of the core developers of R’s spatial capabilities. This shows in the introductory chapter where R’s advantages over ‘legacy’ GIS packages are expounded: R is completely free and open source, providing huge potential benefits in terms of education and reproducibility (Ince et al., 2012). Rich in code and examples, the book demonstrates that R can be used as a powerful command-line GIS. Using many images and case studies, ASDAR acts as a bridge between developers and users, providing flesh around the terse skeleton of R’s inbuilt documentation. The authors have spent more time than most thinking about how best to perform spatial operations in R and this shows: often there are multiple solutions to spatial problems and ASDAR provides much-needed guidance on current best practice.

A good example is spatial subsetting: I discovered through reading ASDAR that the elements of overlap between two spatial object (a and b, say) can be found using the following notation:


This incredibly terse syntax allows complex spatial operations to be conducted with a minimum of typing. This and other features make R the most intuitive and feature rich command-line GIS system available and the book does a good job of communicating this. The provision of extra code and data on the ASDAR website is exemplary, allowing readers to re-create most of the images on their own computers.

In terms of content, ASDAR is divided into two parts: handling spatial data and analysing spatial data. The former is about general purpose GIS applications that one could expect from any GIS package: reprojection, overlays, visualisations, buffers, clipping and loading and saving from various data formats. The final chapter on spatio- temporal data provides an excellent introduction to the powerful spacetime package. It would be possible to harvest all this information from the wider internet. But ASDAR provides the only resource, to my knowledge, where it is all available in a single cohesive place with clear explanations and example data.

The second part is where the power of R’s spatial statistical tools become apparent. Topics include point pattern analysis, geostatistics, modelling areal data (of great interest to social scientists) and disease mapping. It becomes apparent that in some cases, R is the only high level language for some operations, including customisable geographically weighted regression and Bayesian modelling. Despite the provision of dozens of lines of code in each section, the authors maintain an impressive adherence to the theory on which each function is based.

The only downsides of the book apply to specific users:

  • complete R novices will find the learning curve steep and scary (so should consult more introductory texts before reading ASDAR);
  • specialists in niches other than spatial epidemiology (e.g. LiDAR, interactive data visualisation and 3D modelling) may not find what they need.

The former point can in fact be seen as an advantage of ASDAR over other texts; it refuses to water-down key concepts and dives straight into the code at an early stage. The second point can also be seen as an advantage; it would be impossible to cover every aspect of spatial data analysis, and the authors have made a strategic decision to focus on a use case where R clearly outperforms competitors. The focus on disease mapping in Part 2 plays to R’s strengths. Personally, I think the book would benefit from description of animated and online maps using the animation, shiny or rMaps packages. However, these are minor gripes considering the packages were not even released when the book was being written! The R spatial ecosystem is rapidly evolving so no book can be 100 % up-to-date.

One example of this that I’m involved in is ‘spatial microsimulation’, a topic about which I’m running a course in Cambridge next week (see here for details).

In summary, this book is the authoritative resource on R’s spatial capabilities. I heartily recommend ASDAR to all existing R users interested in spatial data and adventurous R beginners with a strong grounding in GIS.


Ince, D. C., Hatton, L., & Graham-Cumming, J. (2012). The case for open computer programs. Nature, 482(7386), 485–488.

Lovelace, R. and Cheshire, J. (2014). Introduction to visualising spatial data in R. National Centre for Research Methods Working Paper 08/14, 14(03). Retrieved from

To leave a comment for the author, please follow the link and comment on their blog: Robin Lovelace - R. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Recent popular posts

Most visited articles of the week

  1. How to write the first for loop in R
  2. Installing R packages
  3. Using apply, sapply, lapply in R
  4. Tutorials for learning R
  5. How to Make a Histogram with Basic R
  6. How to perform a Logistic Regression in R
  7. Freedman's paradox
  8. Add P-values and Significance Levels to ggplots
  9. Deep Learning with R


RSS Jobs for R users

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)