Handling Spatial Data in R. Foundations of spatial data in R | by Uğurcan Demir | Apr, 2022

Foundations of spatial information in R

Picture by Annie Spratt on Unsplash

We’re within the age of information. In every single place across the globe information professionals in numerous roles are in excessive demand. As an information skilled, I attempt to put together you for all kinds of adverse duties. A kind of duties is to take care of spatial information.

Spatial information, by definition, is a sort of information that’s related to a selected location. This location may be wherever across the globe and may be recorded in numerous codecs.

I felt the need of penning this quick introduction as a result of spatial information evaluation is used greater than ever. It is without doubt one of the most important abilities and each information skilled must be outfitted with the appropriate skillset to import, manipulate, analyze, visualize and export spatial information.

This put up goals to present a tutorial on spatial information evaluation. I’ve tried to maintain it as quick as potential to make it readable. I’ve to say that this isn’t an entire spatial information tutorial however is slightly a tour of R’s spatial information ecosystem to get you began shortly. By the tip of it, I hope it is possible for you to to deal with spatial information correctly. Let’s get began!

Within the Geographical Data System (GIS) literature there are two foremost forms of information: Vector and Raster.

Humankind has been thinking about recording geographic entities for a really very long time. The invention of the geographic coordinate system with latitude and longitude, as we use it proper now, is attributed to Eratosthenes of Cyrene, an historical Greek thinker, within the third century BC. That system unfold world wide and geographers began to speak with one another through the use of it for hundreds of years. Simply after the invention of recent computer systems and the recognition of database methods digital geographical data methods gained a fame.

Vector information may be perceived precisely because the digitization of speaking with coordinates. Simply as folks have shared spatial data by writing its coordinate on paper, now they share it by writing the coordinates on information. That is so simple as that.

There are three subcategories of vector information: level, line, and polygon.

A single piece of coordinate is a degree. Normally, homes, vehicles, and locations the place a selected incident happens are represented by a degree. A collection of factors linked to one another in line. Roads, rivers, cables, and pipelines are excellent examples of line information. An enclosed space, created by connecting quite a lot of traces is a polygon. Neighborhoods, cities, and nations are examples of polygon information.

After WWII the USA and the USSR began the so-called “House Race”. It was a contest for conquering the house between these two superpowers, as an extension of the Chilly Battle. The mission was to discover outer house. However the satellites took many pictures of the earth as effectively. The primary photograph of the earth from house, the Blue Marble, was taken by the crew of Apollo 17 from a distance of about 29,000 kilometers. Since that point quite a few completely different spaceships took pictures of the floor of the earth. These pictures have been the early examples of raster information.

Raster information, also referred to as grid information, is a spatial information sort that’s created by taking pictures of the earth from the sky. Raster information is saved as a grid of pixels( typically they’re referred to as cells), the place the grid is an array of rows and columns. Satellite tv for pc photographs and aerial images are the right examples of raster information.

Raster information is split into two: Single-Band and Multi-Band (or Single-Layer and Multi-Layer). If a raster information has just one grid of pixels it’s referred to as a single-band raster. However typically raster information include data on a couple of dimension. In these conditions, there are grids as many because the variety of completely different data, of the identical measurement, on high of one another. Then they’re referred to as multi-band rasters.

Underneath this subject, we are going to cowl how we will import spatial information in R. The factors for the strategies we focus on right here is universality. What can we imply by that? The entire strategies listed here are for retrieving spatial information of wherever across the globe.

There are some wonderful packages and APIs for particular elements of the world. For instance our American readers can simply get spatial information of their nation with “urbnmapr” package deal. It is extremely intuitive and simple to make use of. Packages like this are out of the scope of this text.

The commonest file format of vector information is Shapefile with the extension “.shp”. sppackage deal has been the de facto package deal for importing vector information over years. sfpackage deal is the successor of sp. Each of them are created by Edzer Pebesma, a professor at The College of Münster.

We are going to import vector Shapefile information of London. You’ll be able to obtain the information from the hyperlink under.


Right here we import the libraries, set the working listing, and import the information.

setwd(dir = "C:/Customers/ugurc/Desktop/Medium Weblog/Geo-Spatial Information in R/StatPlanet_India_Hindi/StatPlanet_India_Hindi/map")
india <- read_sf("map.shp")

Now we are going to see easy methods to import raster information. For that , rasterpackage deal has a long-standing domination and it’s the de facto package deal for raster information. It’s created by Robert J. Hijmans, an environmental scientist from the College of California, Davis. Just lately he launched terrapackage deal , the successor of raster.

The file we use right here may be downloaded from this link.

setwd("C:/Customers/ugurc/Desktop/Medium Weblog/Geo-Spatial Information in R/HYP_LR/HYP_LR")
world <- rast(x = "HYP_LR.tif")

Visualization is a necessary a part of spatial information evaluation. There are a variety of instruments to visualise spatial information in R. Two of probably the most recognized of these instruments are tmap and ggplot2.

Even if you’re an absolute newbie in R, it’s extremely possible that you’ve heard of ggplot2. It’s a information visualization package deal created by Hadley Wickham, a prolific R programmer, and statistician. Generic ggplot2is just not the topic of this text. We are going to slightly concentrate on the spatial information facet of it.

The information we use right here is the map of the areas of France. You’ll be able to obtain it from the hyperlinks (1 and 2).

If you realize nothing about ggplot2, each graph is initiated with ggplot() operate and different layers and geometries are added to it with + operator. The layer operate we are going to use is geom_sf().

setwd("C:/Customers/ugurc/Desktop/Medium Weblog/Geo-Spatial Information in R/france1")france <- read_sf("FRA_adm1.shp")

We will use plot() operate too — the output is just not so interesting although.

plot(france)## Warning: plotting the primary 9 out of 12 attributes; use max.plot = 12 to plot
## all

That is how we useggplot2for spatial information visualization. It’s fairly easy.

ggplot(france) + geom_sf()

The opposite package deal we are going to use istmap. Its use is similar to that of ggplot2 and fairly intuitive. Each of the packages are designed based mostly on the “Grammar of Graphics” philosophy.

Since our information is a polygon we will sketch its graph as follows.

tm_shape(france) + tm_polygons()

As an information engineer, I always need to take care of very various kinds of information. This course of is at all times painful and irritating. No matter your title is, if you’re within the software program trade you need to handle various kinds of information and solely a scientific examine could make this course of simpler.

I attempt to assist others in order that they will profit my errors and frustration and never make the identical errors once more. On this put up, we tackled probably the most trickiest forms of information: spatial. In case you have learn it completely and run the code your self try to be armed with a really strong set of instruments to take care of spatial information. I hope you loved it and located it helpful.

More Posts