UNPKG

s2-tools

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

88 lines 2.2 kB
import { ProjectionBase } from '.'; import type { En } from '../common'; import type { VectorPoint } from '../../geometry'; import type { ProjectionParams, ProjectionTransform } from '.'; /** * # Sinusoidal (Sanson-Flamsteed) * * **Classification**: Pseudocylindrical * * **Available forms**: Forward and inverse, spherical and ellipsoidal * * **Defined area**: Global * * **Alias**: sinu * * **Domain**: 2D * * **Input type**: Geodetic coordinates * * **Output type**: Projected coordinates * * ## Projection String * ``` * +proj=sinu * ``` * * ## Parameters * * All parameters are optional. * * - `+lon_0=<value>`: Central meridian. * - `+R=<value>`: Radius of the sphere or semi-major axis of the ellipsoid. * - `+x_0=<value>`: False easting. * - `+y_0=<value>`: False northing. * * ## Mathematical Definition * * MacBryde and Thomas developed generalized formulas for several of the * pseudocylindricals with sinusoidal meridians. The formulas describing the Sinusoidal * projection are: * * Forward projection: * ``` * x = C * λ * (m + cos(θ)) / (m + 1) * y = C * θ * ``` * * Inverse projection: * ``` * λ = x * (m + 1) / (C * (m + cos(y / C))) * θ = y / C * ``` * * Where: * ``` * C = sqrt((m + 1) / n) * ``` * * ## Further Reading * - [Wikipedia](https://en.wikipedia.org/wiki/Sinusoidal_projection) * * ![Sinusoidal (Sanson-Flamsteed)](https://github.com/Open-S2/s2-tools/blob/master/assets/proj4/projections/images/sinu.png?raw=true) */ export declare class Sinusoidal extends ProjectionBase implements ProjectionTransform { name: string; static names: string[]; en: En; n: number; m: number; Cy: number; Cx: number; /** * Preps an Sinusoidal projection * @param params - projection specific parameters */ constructor(params?: ProjectionParams); /** * Sinusoidal forward equations--mapping lon-lat to x-y * @param p - lon-lat WGS84 point */ forward(p: VectorPoint): void; /** * Sinusoidal inverse equations--mapping x-y to lon-lat * @param p - Sinusoidal point */ inverse(p: VectorPoint): void; } //# sourceMappingURL=sinu.d.ts.map