proj~Transformer()

实现坐标转换功能的静态类

Summary

Methods:
add

添加一种坐标系到转换器中

GCJ02ToWGS84

将加密后的坐标还原成原始的WGS84坐标,即将GCJ02坐标系下的坐标转换为WGS84坐标系下的坐标。当经纬度坐标在中国国内时进行转换,在国外时原样返回,不进行转换。

get

根据srid获取转换器中对应的坐标系

remove

移除指定的坐标系

transform

将一个坐标系的坐标转换到在另一种坐标系中的坐标值。目前支持4326和3857之间的相互转换,如果需要支持其他转换请先通过add方法添加坐标系。

WGS84ToGCJ02

将wgs84的坐标值进行加密,即转换为GCJ02坐标系下对应的坐标。当经纬度坐标在中国国内时进行加密,在国外时原样返回,不进行加密。

Constructor

new Transformer()

Methods

static add(crs) → {module:proj~Transformer}

添加一种坐标系到转换器中

Parameters:
Name Type Description
crs module:proj~Crs | String | Number

坐标系对象或坐标系的srid。

Returns:
module:proj~Transformer -

返回转换器自身

Example
const crs1 = new hmap.proj.Crs('4479');
hmap.proj.Transformer.add(crs);

const srid1 = '900913';
hmap.proj.Transformer.add(srid1);

static GCJ02ToWGS84(coord) → {Array}

将加密后的坐标还原成原始的WGS84坐标,即将GCJ02坐标系下的坐标转换为WGS84坐标系下的坐标。当经纬度坐标在中国国内时进行转换,在国外时原样返回,不进行转换。

Parameters:
Name Type Description
coord Array

待转换的由经度和纬度组成的数组。

Returns:
Array -

转换后的经度和纬度组成的数组

static get(srid) → {module:proj~Crs}

根据srid获取转换器中对应的坐标系

Parameters:
Name Type Description
srid String | Number

坐标系的srid值

Throws:

当参数srid类型不是数字和字符串时,抛出异常:"the srid should be string or number."

Returns:
module:proj~Crs -

坐标系对象

static remove(srid) → {Number}

移除指定的坐标系

Parameters:
Name Type Description
srid String | Number

坐标系的id

Throws:

当参数srid类型不是数字和字符串时,抛出异常:"the srid should be string or number."

Returns:
Number -

删除成功返回1,未删除返回0.

static transform(coord, source, dest) → {module:basetype~Coordinate}

将一个坐标系的坐标转换到在另一种坐标系中的坐标值。目前支持4326和3857之间的相互转换,如果需要支持其他转换请先通过add方法添加坐标系。

Parameters:
Name Type Description
coord module:basetype~Coordinate

需要转换的坐标对象

source module:proj~Crs | String | Number

源坐标系或源坐标系对应的srid

dest module:proj~Crs | String | Number

目标坐标系或目标坐标系对应的srid

Throws:

当source源坐标系或dest目标坐标系不是4326、3857、900913,且没有执行add方法时,抛出异常:source/dest " is not in hmap.proj.Transformer.CrsList, please add first."

Returns:
module:basetype~Coordinate -

坐标对象

Example
const coord1 = new hmap.basetype.Coordinate(120.99,30.8886,-1.5);
const coord2 = hmap.proj.Transformer.transform(coord1,4326,3857);
const coord3 = hmap.proj.Transformer.transform(coord2,3857,4326);
console.log('coord3:',coord3)

static WGS84ToGCJ02(coord) → {Array}

将wgs84的坐标值进行加密,即转换为GCJ02坐标系下对应的坐标。当经纬度坐标在中国国内时进行加密,在国外时原样返回,不进行加密。

Parameters:
Name Type Description
coord Array

由经度和纬度组成的数组

Returns:
Array -

加密之后的经纬度数组