# 坐标处理

# 坐标获取

fast3dbase.latlng,该类是静态类。坐标转换处理类

# 方法

方法名 返回值 说明
getCurrentMousePosition(Scene scene, Cartesian2 position) Cartesian3 获取鼠标当前位置,返回Cartesian3类型的笛卡尔坐标(可拾取模型,地形高度)
getCenter(Viewer viewer, Boolean isToWgs?) Object 获取当前地球中心点坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。
当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标
getExtent(Viewer viewer, Boolean isToWgs?) Object 获取地球当前视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。
当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标
getCameraView(Viewer viewer, Boolean isToWgs?) Object 获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。
当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标
formatPositon( Cartesian3 position) Object 格式化坐标点为可显示的可理解格式,返回值示例:{ "x": 117.222228,"y": 31.787488, "z": 224 }。

# 示例

以getCurrentMousePosition为例

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (movement) {
    //通过鼠标当前的二维屏幕坐标获取椭球笛卡尔坐标
    var cartesian = fast3dbase.latlng.getCurrentMousePosition(scene, movement.position);
    if (cartesian) {
    	//将笛卡尔坐标转为地理坐标
    	var cartographic = scene.globe.ellipsoid.cartesianToCartographic(cartesian);
    	var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
    	var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
    	var height = Math.ceil(cartographic.height);
    	//输出地理坐标值
    	console.log("经度:" + longitudeString + "维度:" + latitudeString + "高度:" + height);
    }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

# 坐标转换

fast3dbase.pointconvert 该类是静态类,提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法

该类的所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度]

# 方法

方法名 返回值 说明
wgs2gcj([Number longitude,Number latitude]) [longitude,latitude] 加偏:标准WGS84坐标 转 国测局偏移坐标
gcj2wgs([Number longitude,Number latitude]) [longitude,latitude] 纠偏:国测局偏移坐标 转 标准WGS84坐标
gcj2bd([Number longitude,Number latitude]) [longitude,latitude] 国测局偏移坐标 转 百度经纬度坐标
bd2gcj([Number longitude,Number latitude]) [longitude,latitude] 百度经纬度坐标 转 国测局偏移坐标
wgs2bd([Number longitude,Number latitude]) [longitude,latitude] 标准WGS84坐标 转 百度经纬度坐标
bd2wgs([Number longitude,Number latitude]) [longitude,latitude] 百度经纬度坐标 转 标准WGS84坐标
jwd2mct([Number longitude,Number latitude]) [longitude,latitude] 经纬度坐标 转为 Web墨卡托坐标
mct2jwd([Number longitude,Number latitude]) [longitude,latitude] Web墨卡托坐标 转为 经纬度坐标
Last Updated: 6/21/2024, 5:48:01 PM