Tools for working with points and paths on (a spherical model of) the earth’s surface using a vector-based approach using ‘n-vectors’. In contrast to the more common spherical trigonometry, a vector-based approach makes many calculations much simpler, and easier to follow. Based on Kenneth Gade’s ‘Non-singular Horizontal Position Representation’. Note that these formulations take x => 0°N,0°E, y => 0°N,90°E, z => 90°N; Gade uses x => 90°N, y => 0°N,90°E, z => 0°N,0°E. Note also that on a spherical model earth, an n-vector is equivalent to a normalised version of an (ECEF) cartesian coordinate.