1.纬度相同,经度不同
在纬度相同的情况下:
经度每隔0.00001度,距离相差约1米;
每隔0.0001度,距离相差约10米;
每隔0.001度,距离相差约100米;
每隔0.01度,距离相差约1000米;
每隔0.1度,距离相差约10000米。
2.经度相同,纬度不同
纬度每隔0.00001度,距离相差约1.1米;
每隔0.0001度,距离相差约11米;
每隔0.001度,距离相差约111米;
每隔0.01度,距离相差约1113米;
每隔0.1度,距离相差约11132米。
3.GeoHash到距离精度的换算关系
验证方式:
开始节点的经纬度转成弧度
var startCartographic = Cesium.Cartographic.fromDegrees(start_point.latitude,start_point.longitude,start_point.altitude);
console.log(startCartographic)
结束节点的经纬度转换成弧度
var goalCartographic = Cesium.Cartographic.fromDegrees(goal_point.latitude,goal_point.longitude,goal_point.altitude);
console.log(goalCartographic)
弧度之间的差值,就是弧度角,然后弧度角*地球半径就是,两个坐标点之间的弧度长
var longitude_distance = (goalCartographic.latitude- startCartographic.latitude)*6378.137*1000
console.log(longitude_distance)
二、如果是求两个经纬度之间的直线坐标的话,就是
//计算起点和终点的距离单位是千米,这个计算的因该是直线距离
function calcuDistance(latitude_1,longitude_1,latitude_2,longitude_2){
var startCartographic = Cesium.Cartographic.fromDegrees(latitude_1,longitude_1);
var goalCartographic = Cesium.Cartographic.fromDegrees(latitude_2,longitude_2);
geodesic.setEndPoints(startCartographic, goalCartographic);
//console.log(geodesic.surfaceDistance)
var lengthInMeters = Math.round(geodesic.surfaceDistance);
//console.log((lengthInMeters / 1000).toFixed(1));
return (lengthInMeters).toFixed(1)
}
//输入参数是两个坐标点的经纬度
var Distance = calcuDistance(start_point.latitude,start_point.longitude,goal_point.latitude,goal_point.longitude)
console.log(Distance)