kocokolo / projzh

Projection utilities for working with Baidu maps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

projzh

This package provides utilities for working with coordinate reference systems used by Baidu maps. The algorithms are ported from the proj4m project which is licensed under the GPL v3.

Rough details

As far as I understand, the coordinate reference system for Baidu Maps uses a custom Mercator projection and the BD-09 datum. The BD-09 datum applies additional transforms on top of the GCJ-02 datum.

So, to transform a point in geographic coordinates and the WGS-84 datum to the CRS used by Baidu, first transform from WGS-84 to BD-09 (which itself uses the GCJ-09 transform), and then do the forward transform to Baidu Mercator.

baiduMercator.forward(bd09.fromWGS84(point))

To transform a point in the CRS used by Baidu to geographic/WGS-84, first do the inverse transform from Baidu Mercator, then do the transform from BD-09 to WGS-84 (which itself uses the GCJ-09 transform).

bd09.toWGS84(baiduMercator.inverse(point))

This package exports the functions above in the datum/bd-09 and projection/baidu-mercator modules. Additional functions for transforms to/from Spherical Mercator are available in the index module.

Installation

npm install projzh

The utility functions can be used in Node or in browsers with a module bundler.

License

As a port of the proj4m project, this qualifies as a derivative work and carries the same GPL v3 license.

About

Projection utilities for working with Baidu maps


Languages

Language:JavaScript 100.0%