@cgcs2000/sphericalmercator v1.1.1
This repository is a fork of
mapbox/sphericalmercator, but for CGCS2000.
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.
Installation
npm install @mapbox/sphericalmercator
API
Some datatypes are assumed to be arrays: ll is [lon, lat], xy and px are
[x, y].
// By default, precomputes up to z30
var merc = new SphericalMercator({
size: 256
});px(ll, zoom)
Convert lon, lat to screen pixel x, y from 0, 0 origin, at a certain zoom level.
The inverse of ll
ll(px, zoom)
Convert screen pixel value to lon, lat, at a certain zoom level. The inverse
of px
bbox(x, y, zoom, tms_style, srs)
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.tms_style{Boolean} whether to compute using tms-style. (optional, default false)srs{String} projection for resulting bbox (EPSG:4490|EPSG:4087). (optional, default EPSG:4490)
Returns bbox array of values in form [w, s, e, n].
xyz(bbox, zoom, tms_style, srs)
Convert bbox to xyz bounds
bbox{Number} bbox in the form[w, s, e, n].zoom{Number} zoom.tms_style{Boolean} whether to compute using tms-style. (optional, default false)srs{String} projection of input bbox (EPSG:4490|EPSG:4087). (optional, default EPSG:4490)
Returns {Object} XYZ bounds containing minX, maxX, minY, maxY properties.
convert(bbox, to)
Convert bbox from EPSG:4087 to EPSG:4490 or vice versa
bbox{Number} bbox in the form[w, s, e, n].to{String} projection of resulting bbox (EPSG:4490|EPSG:4087). (optional, default EPSG:4490)
Returns bbox array of values in form [w, s, e, n].
forward(ll)
Convert lon, lat values to mercator x, y
inverse(xy)
Convert mercator x, y values to lon, lat
See Also
- mercantile provides similar utilities for projection and tile math in Python