Chapter 1 About this

This workshop is for R users familiar with spatial workflows looking to work with computational graphics tools, 3D visualization and modelling frameworks.

This resource is published online at: https://mdsumner.github.io/geo-comp-graphics-oghub/.

The source code to create this resource is available on Github at: https://github.com/mdsumner/geo-comp-graphics-oghub/

1.1 Description and objectives

There is no definitive standard for computational-graphics data structures, although these are used in a variety of R packages. Modern geo-spatial data types are now largely defined with by a non-topology model where the geometry is stored as an atomic single object with no recorded knowledge of its relation to other geometries. This works well in a single-table database context, where the properties of features and their geometry are stored side by side, and records can be completely independent of each other. This model is used for vector data, and requires a strong distinction to raster data where geometry is kept implicit for efficiency reasons. It is very inefficient to store a polygon rectangle for every pixel in a raster, and so a spatial raster image is one of the simplest forms of a mesh. We simply store the value of every pixel, information about the storage of values (grid orientation, data layout) and the space covered (bounding box) by that grid, in a particular coordinate system.

This hard distinction between vector and raster leaves out the wonderful world of meshes, which can be seen as a more general form for spatial data in any form in multidimensional spaces. The rgl package provides the most fundamental mesh data types but has typically been suited only for expert-users. This workshop introduces the core concepts for data meshes and their relationships to vector and raster data for 3D visualization and modelling frameworks. We will introduce existing tools for conversion from geo-spatial data for visualization and use of mesh-based tools.

Installation instructions:

https://mdsumner.github.io/geo-comp-graphics-oghub/getting-set-up.html

Datasets in use:

two_polys a tiny polygon data set with two simple polygon neighbours

mesh_polys and delaunay_polys two mesh counterparts of two_polys with slightly different properties

world_topo, world_mesh, a simple global elevation raster and its mesh counterpart

bluemarble0 a simple RGB image of the world