screengrid

Cartography & Multivariate Design with ScreenGrid

This document explains the cartographic philosophy behind ScreenGrid and how to use its grid and glyph model to design multivariate, interactive maps.

1. Conceptual Model

This is closer to density-based glyph maps than to traditional polygon choropleths. It is most effective when you want to:

2. What ScreenGrid is Good At

2.1 Multivariate Point-Based Visualisation

With classic renderMode: 'screen-grid' and point input (data + getPosition), you can:

Good use cases:

2.2 Geometry-Based Visualisation (Anchors)

With source (GeoJSON) + placement + renderMode: 'feature-anchors', you can:

Good use cases:

2.3 Spatio-Temporal Design

Combining the grid and glyph systems, you can:

Good use cases:

3. Things ScreenGrid is Not Designed For

You can still approximate some of these techniques symbolically using glyphs (e.g. a hatched glyph that represents a hatched area), but they remain symbols anchored in space, not literal fills.

4. Cartographic Design Patterns

This section sketches design patterns for multivariate and cartographic use, so you can decide when ScreenGrid is an appropriate tool.

4.1 Bivariate / Trivariate Grids

Use color + glyph or multiple glyph components:

Pattern:

This yields a grid where you can read both overall magnitude and internal composition simultaneously, a common and powerful technique in geovisualization.

4.2 Spatio-Temporal Grids

Use the time-series utilities or custom glyphs:

Pattern:

See the “Advanced Glyph-Based Design Patterns” section below for more sophisticated temporal glyphs like Pencil and Helix glyphs.

4.3 OD and Flow Maps as Grids

ScreenGrid does not draw network edges itself, but is useful for gridded OD summaries:

Design ideas:

For interaction:

4.4 Network and Flow Data

For network data (edges/nodes):

Patterns:

4.5 Category Mixtures and Profiles

Classic Bertin-style multivariate design:

The legend module can be wired to show the mapping between colors, categories, and variables.

4.6 Uncertainty and Probabilistic Encoding

Incorporate uncertainty into glyphs for datasets with probabilistic or noisy data (e.g., forecasts, sensor errors), per Beecham’s work on uncertainty in visualization.

Pattern:

This addresses perceptual limits by indicating when glyph density reflects low reliability.

4.7 Hexagonal or Non-Rectangular Grids

For improved packing in dense areas, support hexagonal grids (inspired by HexTiles for multivariate geospatial data).

Pattern:

4.8 Radial and Layout-Based Glyphs

Optimize glyph design with radial layouts and multi-criteria placement algorithms.

Pattern:

4.9 Interactive Brushing and Linking Patterns

Enable coordinated views for exploratory analysis, aligning with Andrienko’s spatio-temporal frameworks.

Pattern:

4.10 Composite and Hierarchical Glyphs

For high-dimensional data, create nested or hierarchical glyphs.

Pattern:

5. Advanced Glyph-Based Design Patterns

For more complex datasets, you can design more expressive glyphs. These often draw inspiration from academic work in geovisualization and information visualization.

5.1 Advanced Spatio-Temporal Glyphs

Beyond simple line charts, you can represent time in more sophisticated ways. These are often associated with the “space-time cube” concept in GIS, where time is treated as a third dimension. ScreenGrid can represent these ideas in 2D glyphs.

5.2 High-Dimensional Glyphs (Custom Composites)

For datasets with many attributes, you can create custom composite glyphs that map data variables to visual properties in non-standard ways.

5.3 Attribute-Rich Network Summaries

Expanding on the OD-flow concept, glyphs can summarize not just the volume of flows but also their network-theoretic properties.

5.4 Uncertainty Glyphs

For probabilistic data, glyphs can encode confidence and error.

5.5 Hexagonal Grid Glyphs

Adapt glyphs for hex grids to leverage better tiling.

5.6 Radial Layout Glyphs

Use circular arrangements for compact encoding.

6. Workflow: Choosing Where ScreenGrid Fits

When designing a map, ask:

  1. Is my primary question about where things happen, or about polygon-level totals?
    • If polygon boundaries are semantically central (wards, boroughs), and you need traditional choropleths or hatching, start with MapLibre styles and treat ScreenGrid as a secondary layer for summaries.
    • If the emphasis is on spatial patterns and profiles rather than administrative units, ScreenGrid can be the primary visual.
  2. How many variables do I truly need to show simultaneously?
    • 1 variable → background grid or simple glyph.
    • 2–4 variables → combined color + glyph, or multi-part glyph (e.g., bars, pies).
    • 5+ variables → consider advanced glyphs (Pencils, Helixes), splitting into multiple layers, or designing composite glyphs that emphasize a subset at a time.
  3. Do users need to read exact values, or relative patterns?
    • Exact values → rely on hover/click callbacks and legends; keep glyphs simple.
    • Patterns and rankings → richer glyphs (time series, radials, composites) are appropriate.
  4. What role do polygons play?
    • If polygons are just containers for data, consider feature-anchor glyphs.
    • If polygon shapes themselves carry meaning (coastlines, irregular regions), use MapLibre polygon layers for shape and ScreenGrid for symbolic summaries.

7. Implementation Hooks

To realise the above patterns in code, you will typically combine:

See:

8. Summary

In cartographic terms, ScreenGrid is best understood as a screen-space glyph map engine:

When in doubt, let polygon and line layers carry the traditional cartography, and let ScreenGrid provide the small, information-dense symbols that reveal how multiple dimensions of your data behave across space and time.

9. References