Transformations between the Web Mercator projection and Latitude Longitude coordinates
npm install @mapbox/sphericalmercator
Provides projection math for converting between mercator meters, screen pixels (of 256x256 or configurable-size tiles), and latitude/longitude. Compatible with nodejs packages and in-browser.
See also
* tilebelt provides ZXY tile math utilities in javascript
* mercantile provides similar utilities for projection and tile math in Python
npm install @mapbox/sphericalmercator
Some datatypes are assumed to be arrays: ll is [lon, lat], xy and px are [x, y].
``javascript
import { SphericalMercator } from '@mapbox/sphericalmercator';
// By default, precomputes up to z30
const merc = new SphericalMercator({
size: 256,
antimeridian: true
});
`
or, for CommonJS:
`javascript`
const { SphericalMercator } = require('@mapbox/sphericalmercator');
Convert lon, lat to screen pixel x, y from 0, 0 origin, at a certain zoom level. The inverse of ll. If antimeridian: true is passed on initialization of the SphericalMercator object, this method will support converting longitude values up to 360°.
Convert screen pixel value to lon, lat, at a certain zoom level. The inverse of px.
Convert tile xyz value to bbox of the form [w, s, e, n]
* x {Number} x (longitude) number.y
* {Number} y (latitude) number.zoom
* {Number} zoom.tmsStyle
* {Boolean} whether to compute using tms-style. (optional, default false)srs
* {String} projection for resulting bbox (WGS84|900913). (optional, default WGS84)
Returns bbox array of values in form [w, s, e, n].
Convert bbox to xyz bounds
* bbox {Number} bbox in the form [w, s, e, n].zoom
* {Number} zoom.tmsStyle
* {Boolean} whether to compute using tms-style. (optional, default false)srs
* {String} projection of input bbox (WGS84|900913). (optional, default WGS84)
Returns {Object} XYZ bounds containing minX, maxX, minY, maxY properties.
Convert bbox from 900913 to WGS84 or vice versa
* bbox {Number} bbox in the form [w, s, e, n].to
* {String} projection of resulting bbox (WGS84|900913). (optional, default WGS84)
Returns bbox array of values in form [w, s, e, n].
Convert lon, lat values to mercator x, y
Convert mercator x, y values to lon, lat
`sh``
npm ci # install
npm test # run tests
npm run format # format files with prettier