# PointTrans
查阅Cesium API

#### PointTrans()
util/PointTrans.js 1

坐标点的转换 相关静态方法。 提供了cesium内部不同坐标系之间的坐标转换、提供了国内偏移坐标系与标准坐标的转换。

### 方法

#### static mars3d.PointTrans.bd2gcj(arrdata) → Array.<number>
util/PointTrans.js 455

经纬度坐标转换， 百度坐标 (BD09) 转换为 国测局坐标 (GCJ02)

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 百度坐标 (BD09)坐标数据，示例：[117.225590,31.832916]

##### 返回值:

国测局坐标 (GCJ02)坐标数据，示例：[:117.22559,31.832917]

#### static mars3d.PointTrans.bd2wgs(arrdata) → Array.<number>
util/PointTrans.js 578

经纬度坐标转换， 百度坐标 (BD09) 转 标准无偏坐标（WGS84）

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 百度坐标 (BD09)坐标数据，示例：[117.232039,31.839177]

##### 返回值:

标准无偏坐标（WGS84）坐标数据，示例：[117.220102, 31.834912]

#### static mars3d.PointTrans.cartesian2lonlat(cartesian, noAlt) → Array.<number>
util/PointTrans.js 218

Cesium笛卡尔空间坐标 转 经纬度坐标 ,等价于 LngLatPoint.toArray 常用于转换geojson

参数名称 | 类型 | 描述信息
--- | --- | ---
`cartesian` | Cesium.Cartesian3 | Cesium笛卡尔空间xyz坐标
`noAlt` | boolean | 可选 是否包含高度值

##### 返回值:

经纬度坐标,示例：[123.123456,32.654321,198.7]

#### static mars3d.PointTrans.cartesian2mercator(position) → Array.<number>
util/PointTrans.js 242

Cesium笛卡尔空间坐标 转 WebMercator投影平面坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | Cesium.Cartesian3 | Cesium笛卡尔空间xyz坐标

##### 返回值:

墨卡托投影平面坐标,示例：[13048882,3741659,20.1]

#### static mars3d.PointTrans.cartesians2lonlats(positions, noAlt) → Array.<Array>
util/PointTrans.js 231

Cesium笛卡尔空间坐标数组 转 经纬度坐标数组，等价于 LngLatArray.toArray 常用于转换geojson

参数名称 | 类型 | 描述信息
--- | --- | ---
`positions` | Array.<Cesium.Cartesian3> | Cesium笛卡尔空间xyz坐标数组
`noAlt` | boolean | 可选 是否包含高度值

##### 返回值:

经纬度坐标数组,示例：[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]

#### static mars3d.PointTrans.cartesians2mercators(positions) → Array.<Array>
util/PointTrans.js 258

Cesium笛卡尔空间坐标数组 转 WebMercator投影平面坐标数组

参数名称 | 类型 | 描述信息
--- | --- | ---
`positions` | Array.<Cesium.Cartesian3> | Cesium笛卡尔空间xyz坐标数组

##### 返回值:

WebMercator投影平面坐标数组,示例：[[13048882,3741659,20.1],[13048882,3741659,21.2] ]

#### static mars3d.PointTrans.degree2dms(value, toFixedLen) → object
util/PointTrans.js 19

经度/纬度 十进制 转为 度分秒格式

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`value` | number |  | 经度或纬度值
`toFixedLen` | number | `0` | 可选 秒的小数位数

##### 返回值:

度分秒对象，如： { degree:113, minute:24, second:40 }

#### static mars3d.PointTrans.dms2degree(degree, minute, second) → number
util/PointTrans.js 56

经度/纬度 度分秒 转为 十进制

参数名称 | 类型 | 描述信息
--- | --- | ---
`degree` | number | 度
`minute` | number | 分
`second` | number | 秒

##### 返回值:

十进制

#### static mars3d.PointTrans.gcj2bd(arrdata) → Array.<number>
util/PointTrans.js 484

经纬度坐标转换， 国测局坐标 (GCJ02) 转换为 百度坐标 (BD09)

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 高德谷歌等国测局坐标 (GCJ02) 坐标数据，示例：[117.225590,31.832916]

##### 返回值:

百度坐标 (BD09)坐标数据，示例：[117.232039,31.839177]

#### static mars3d.PointTrans.gcj2wgs(arrdata) → Array.<number>
util/PointTrans.js 542

经纬度坐标转换， 国测局坐标 (GCJ02) 转换为 标准无偏坐标（WGS84）

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 国测局坐标 (GCJ02)坐标数据，示例：[117.225590,31.832916]

##### 返回值:

标准无偏坐标（WGS84）坐标数据，示例：[117.220102, 31.834912]

#### static mars3d.PointTrans.getCGCS2000EPSGByLng(lng, fd6, hasAddDH) → string|undefined
util/PointTrans.js 72

根据经度值 获取CGCS2000投影坐标对应的 EPSG值

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`lng` | number |  | 经度值
`fd6` | boolean | `false` | 可选 是否为6度分带， true:6度分带,false:3度分带
`hasAddDH` | boolean | `true` | 可选 横坐标前是否加带号

##### 返回值:

EPSG值

#### static mars3d.PointTrans.getCGCS2000EPSGByX(x) → string|undefined
util/PointTrans.js 107

根据加带号的横坐标值 获取CGCS2000投影坐标对应的EPSG值

参数名称 | 类型 | 描述信息
--- | --- | ---
`x` | number | 根据加带号的横坐标值

##### 返回值:

EPSG值

#### static mars3d.PointTrans.lonlat2cartesian(coord, defHeight) → Cesium.Cartesian3
util/PointTrans.js 277

经纬度坐标 转 Cesium笛卡尔空间xyz坐标

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`coord` | Array.<Array> |  | 经纬度坐标,示例：[123.123456,32.654321,198.7]
`defHeight` | number | `0` | 可选 默认高度

##### 返回值:

Cesium笛卡尔空间xyz坐标

#### static mars3d.PointTrans.lonlat2mercator(lnglat) → Array.<number>
util/PointTrans.js 318

经纬度地理坐标 转 投影平面坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`lnglat` | Array.<number> | 经纬度坐标,示例：[123.123456,32.654321,20.1]

##### 返回值:

WebMercator投影平面坐标,示例：[13048882,3741659,20.1]

#### static mars3d.PointTrans.lonlats2cartesians(coords, defHeight) → Array.<Cesium.Cartesian3>
util/PointTrans.js 292

经纬度坐标数组 转 Cesium笛卡尔空间xyz坐标数组

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`coords` | Array.<Array> |  | 经纬度坐标数组,示例：[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
`defHeight` | number | `0` | 可选 默认高度

##### 返回值:

Cesium笛卡尔空间xyz坐标数组

#### static mars3d.PointTrans.lonlats2mercators(arr) → Array.<Array>
util/PointTrans.js 330

经纬度地理坐标数组 转 投影平面坐标数组

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<Array> | 经纬度坐标数组,示例：[ [123.123456,32.654321,20.1], [111.123456,22.654321,21.2] ]

##### 返回值:

WebMercator投影平面坐标数组,示例：[[13048882,3741659,20.1],[13048882,3741659,21.2] ]

#### static mars3d.PointTrans.mercator2cartesian(arr, height) → Cesium.Cartesian3
util/PointTrans.js 347

投影平面坐标 转 Cesium笛卡尔空间xyz坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<number> | WebMercator投影平面坐标,示例：[13048882,3741659,20.1]
`height` | number | 可选 赋值高度

##### 返回值:

Cesium笛卡尔空间xyz坐标

#### static mars3d.PointTrans.mercator2lonlat(arr) → Array.<number>
util/PointTrans.js 385

投影平面坐标 转 经纬度地理坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<number> | WebMercator投影平面坐标,示例：[13048882,3741659,20.1]

##### 返回值:

经纬度坐标,示例：[123.123456,32.654321,20.1]

#### static mars3d.PointTrans.mercators2cartesians(arr, height) → Cesium.Cartesian3
util/PointTrans.js 367

投影平面坐标数组 转 Cesium笛卡尔空间xyz坐标数组

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<number> | WebMercator投影平面坐标数组,示例：[[13048882,3741659,20.1],[13048882,3741659,21.2] ]
`height` | number | 可选 赋值高度

##### 返回值:

Cesium笛卡尔空间xyz坐标数组

#### static mars3d.PointTrans.mercators2lonlats(arr) → Array.<Array>
util/PointTrans.js 397

投影平面坐标数组 转 经纬度地理坐标数组

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<Array> | WebMercator投影平面坐标数组,示例：[[13048882,3741659,20.1],[13048882,3741659,21.2] ]

##### 返回值:

经纬度坐标数组,示例：[ [123.123456,32.654321,20.1], [111.123456,22.654321,21.2] ]

#### static mars3d.PointTrans.proj4Trans(arrdata, fromProjParams, toProjParams) → Array.<number>
util/PointTrans.js 129

使用proj4转换坐标（支持任意坐标系）， 坐标系 可以在 http://epsg.io进行查询，已经内置支持 EPSG:4326、EPSG:3857、EPSG:4490、EPSG:4491至4554

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`arrdata` | Array.<number> |  | 原始坐标,示例：[39396641,3882123]
`fromProjParams` | string | CRS |  | 原始坐标的坐标系，如'EPSG:4527' 或 mars3d.CRS.CGCS2000_GK_Zone_3
`toProjParams` | string | CRS | `'EPSG:4326'` | 可选 转为返回的结果坐标系

##### 返回值:

返回结果坐标系的对应坐标,示例：[115.866936, 35.062583]

#### static mars3d.PointTrans.proj4TransArr(coords, fromProjParams, toProjParams) → Array.<number>
util/PointTrans.js 170

使用proj4转换坐标数组（支持任意坐标系）， 坐标系 可以在 http://epsg.io进行查询，已经内置支持 EPSG:4326、EPSG:3857、EPSG:4490、EPSG:4491至4554

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`coords` | Array.<number> | Array.<object> |  | 原始坐标数组,示例：[[39396641,3882123],[39396623,3882134]]
`fromProjParams` | string | CRS |  | 原始坐标的坐标系，如'EPSG:4527'
`toProjParams` | string | CRS | `'EPSG:4326'` | 可选 转为返回的结果坐标系

##### 返回值:

返回结果坐标系的对应坐标数组,示例：[[115.866936, 35.062583],[115.866923, 35.062565]]

#### static mars3d.PointTrans.toWindowCoordinates(scene, position, result) → Cesium.Cartesian2
util/PointTrans.js 200

笛卡尔坐标 转 当前屏幕像素坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`scene` | Cesium.Scene | 场景对象，传入map.scene
`position` | Cesium.Cartesian3 | 笛卡尔坐标
`result` | Cesium.Cartesian2 | 可选 用于返回转换后的当前屏幕像素坐标，可以提高效率（避免多次实例化）

##### 返回值:

当前屏幕像素坐标

#### static mars3d.PointTrans.wgs2bd(arrdata) → Array.<number>
util/PointTrans.js 588

标准无偏坐标（WGS84） 转 百度坐标 (BD09)

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 标准无偏坐标（WGS84）坐标数据，示例：[117.220102, 31.834912]

##### 返回值:

百度坐标 (BD09)坐标数据，示例：[117.232039,31.839177]

#### static mars3d.PointTrans.wgs2gcj(arrdata) → Array.<number>
util/PointTrans.js 510

经纬度坐标转换， 标准无偏坐标（WGS84） 转为 国测局坐标 (GCJ02)

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrdata` | Array.<number> | 标准无偏坐标（WGS84）坐标数据，示例：[117.220102, 31.834912]

##### 返回值:

国测局坐标 (GCJ02)坐标数据，示例：[117.225590,31.832916]