vibeproj.projections.oblique_stereographic

Oblique Stereographic projection (double projection method).

Conformal projection used for the Netherlands national grid (EPSG:28992). Uses conformal sphere as intermediate: ellipsoid → conformal sphere → stereographic.

Math from PROJ sterea.c and “Map Projections” by Snyder.

Classes

ObliqueStereographic

Base class for all map projections.

Module Contents

class vibeproj.projections.oblique_stereographic.ObliqueStereographic

Bases: vibeproj.projections.base.Projection

Base class for all map projections.

Subclasses implement forward/inverse transforms that operate on arrays of coordinates. The xp parameter is the array module (numpy or cupy).

Projection math operates in radians on the ellipsoid. The pipeline handles degree/radian conversion, axis swapping, and false easting/northing.

name = 'sterea'
setup(params: vibeproj.crs.ProjectionParams) dict

Compute derived parameters from projection params.

Called once at construction time. Returns a dict of computed params that will be passed to forward/inverse.

forward(lam, phi, params, computed, xp)

Forward projection: geographic (lon, lat in radians) -> projected (x, y in meters).

lam: longitude relative to central meridian (radians), array phi: latitude (radians), array Returns (x, y) in projection-native units (before false easting/northing and scale).

inverse(x, y, params, computed, xp)

Inverse projection: projected (x, y) -> geographic (lon, lat in radians).

x, y: projection-native units (after removing false easting/northing and scale). Returns (lam, phi) in radians, with lam relative to central meridian.