@cgcs2000/sphericalmercator

1.1.1 • Public • Published

Build Status

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

Package Sidebar

Install

npm i @cgcs2000/sphericalmercator

Weekly Downloads

0

Version

1.1.1

License

BSD-3-Clause

Unpacked Size

18.2 kB

Total Files

15

Last publish

Collaborators

  • wanyanyan
  • jingsam