s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
88 lines • 2.2 kB
TypeScript
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)
*
* 
*/
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