Little Earth Spatial Programming
Hillshade map of the coast at Lantzville, Vancouver Island, where Field Notes is written

Field Notes

Long-form write-ups on spatial tooling, web mapping, data visualization, and the occasional 3D-printed mountain range. Written on Vancouver Island since 2011.

  1. GIS and fabrication

    Now with a sea floor

    Vancouver Island reprinted a metre wide: real bathymetry merged into the terrain, six elevation colours, and 46 tiles cut by a single Rust binary.

  2. Spatial R&D

    Skywatch: real-time 3D viewshed analysis in the browser

    An R&D project that paints what's visible across terrain in real time: one Rust core compiled to both a CLI and WebAssembly, rendered with Three.js.

  3. GIS and fabrication

    3D printing Vancouver Island

    A GIS-to-physical-model journey: turning a digital elevation model into a multi-tile, two-colour 3D print with QGIS, custom Python, and a Bambu P1S.

  4. Data visualization

    Morphing between SVG shapes

    Smoothly animating from one SVG shape to another comes down to a single rule: both paths need the same number of nodes.

  5. Data visualization

    Animating a geographic boundary into a circle

    A D3 and SVG technique for morphing a geographic boundary into a circle and back again, building both paths from the same set of nodes.

  6. GIS and terrain analysis

    Creating a terrain wetness index from a DEM

    Deriving a topographic wetness index from a digital elevation model in GRASS by combining mean-elevation variance with aspect variance.

  7. GIS and terrain analysis

    Calculating topographic exposure with GRASS

    Modelling topographic exposure (TOPEX) from a DEM with GRASS, r.mapcalc neighbourhood operations, and a little trigonometry.