UNPKG

gis-tools-ts

Version:

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

82 lines 2.24 kB
import { ProjectionBase } from './index.js'; import type { En } from '../common.js'; import type { VectorPoint } from '../../geometry/index.js'; import type { ProjectionParams, ProjectionTransform } from './index.js'; /** * # 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 * ```ini * +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\lambda(m+cos\theta) / ( m + 1)$$ * $$y = C\theta$$ * * Inverse projection: * $$\lambda = x \cdot \frac{m + 1}{C \cdot (m + \cos(y / C))}$$ * $$\theta = 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/gis-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