Modern geospatial standards don't include *meshes*, the basic data structures of computer graphics and physical modelling. This talk will illustrate the nice features of mesh structures, why they have been somewhat ignored, and how we can work with them along with our geospatial workflows.
Meshes are inherently *indexed*, storing de-duplicated elements with pointers to shared parts. Primitive elements ( i.e. vertices, line segments, triangles, quads, tetrahedrons and others) are defined indirectly by index to the coordinates that define them. Shapes, and higher level groupings are stored by indexing the primitives they are composed of. Modern geospatial has mostly settled on the norm of inferring topology on-the-fly, and storing atomic records that are standalone - they don't require links to other parts of the data. However, when records are to be compared for relationships and whole or partial equality, they are decomposed to their essentials (primitives) and compared at a low level, with a summary shape sent back up to the surface. Our tools use tricks from mesh world to achieve these tasks, and we can benefit from using them more directly.
Geospatial types are limited for some tasks, super efficient for planar tasks, but GPS, animal tracking, transport networks, point clouds, computer aided design, VR/AR and games do not inhabit the plane.
- Shapes are not represented as topological primitives and so internal boundaries are precluded.
- Shapes are represented as paths so only planar polygonal shapes are possible.
- Shapes may exist in XY[Z[M]] geometry, but this is not extensible, with no capacity to store data against component geometry elements.
- Shapes have no persistent naming of features or their components.
- There is no capacity for internal topology of shapes or within collections (no vertex-, edge-, or path-sharing).
We will present some accessible tools in R for converting raster and vector data into mesh forms for visualization and integration with standard geospatial tools.