UNPKG

s2-tools

Version:

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

105 lines 3.43 kB
/** * Copyright 2018 Bernie Jenny, Monash University, Melbourne, Australia. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Equal Earth is a projection inspired by the Robinson projection, but unlike * the Robinson projection retains the relative size of areas. The projection * was designed in 2018 by Bojan Savric, Tom Patterson and Bernhard Jenny. * * Publication: * Bojan Savric, Tom Patterson & Bernhard Jenny (2018). The Equal Earth map * projection, International Journal of Geographical Information Science, * DOI: 10.1080/13658816.2018.1504949 * * Code released August 2018 * Ported to JavaScript and adapted for mapshaper-proj by Matthew Bloch August 2018 * Modified for proj4js by Andreas Hocevar by Andreas Hocevar March 2024 */ import { ProjectionBase } from '.'; import type { VectorPoint } from '../../geometry'; import type { ProjectionParams, ProjectionTransform } from '.'; /** * # Equal Earth * * **Classification**: Pseudo cylindrical * * **Available forms**: Forward and inverse, spherical and ellipsoidal projection * * **Defined area**: Global * * **Alias**: eqearth * * **Domain**: 2D * * **Input type**: Geodetic coordinates * * **Output type**: Projected coordinates * * ## Projection String * ``` * +proj=eqearth * ``` * * ## Usage * * The Equal Earth projection is designed for world maps and retains the relative size of areas. It was inspired by the Robinson projection. * * Example: * ``` * $ echo 122 47 | proj +proj=eqearth +R=1 * 1.55 0.89 * ``` * * ## Parameters * * **Note**: All parameters for this projection are optional. * * ### Optional * - `+lon_0` (Central meridian) * - `+ellps` (Ellipsoid name) * - `+R` (Radius of the sphere) * - `+x_0` (False easting) * - `+y_0` (False northing) * * ## Further Reading * - [The Equal Earth map projection](https://www.researchgate.net/profile/Bojan_Savric2/publication/326879978_The_Equal_Earth_map_projection/links/5b69d0ae299bf14c6d951b77/The-Equal-Earth-map-projection.pdf) by Bojan Savric, Tom Patterson & Bernhard Jenny (2018) * * ![Equal Earth](https://github.com/Open-S2/s2-tools/blob/master/assets/proj4/projections/images/eqearth.png?raw=true) */ export declare class EqualEarth extends ProjectionBase implements ProjectionTransform { name: string; static names: string[]; es: number; A1: number; A2: number; A3: number; A4: number; M: number; /** * Preps an EqualEarth projection * @param params - projection specific parameters */ constructor(params?: ProjectionParams); /** * EqualEarth forward equations--mapping lon-lat to x-y * @param p - lon-lat WGS84 point */ forward(p: VectorPoint): void; /** * EqualEarth inverse equations--mapping x-y to lon-lat * @param p - EqualEarth point */ inverse(p: VectorPoint): void; } //# sourceMappingURL=eqearth.d.ts.map