通过两个坐标如何计算方位角(已知两点坐标计算方位角)
通过两个坐标如何计算方位角(已知两点坐标计算方位角)这是第四象限的。下面我这里还有jS版本的: } var angle = Math.Atan2((p2.Y - p1.Y) (p2.X - p1.X)); //弧度 0.6435011087932844 var theta= angle * (180 / Math.PI); //角度 36.86989764584402 MessageBox.Show(theta.ToString());
//与X轴的夹角 在X轴下面
public void Test2() {
var p1 = new Point(40 30);
var p2= new Point(80 60);
var angle = Math.Atan2((p2.Y - p1.Y) (p2.X - p1.X)); //弧度 0.6435011087932844
var theta= angle * (180 / Math.PI); //角度 36.86989764584402
MessageBox.Show(theta.ToString());
}
这是第四象限的。下面我这里还有jS版本的:
// 坐标1
let position1 = {
lng: 118.112193
lat: 24.580612
}
// 坐标2
let position2 = {
lng: 118.112494
lat: 24.580883
}
let valLng = position1.lng - position2.lng;
let valLat = position1.lat - position2.lat;
// 返回一个绝对值
let absoluteLng = Math.abs(valLng);
let absoluteLat = Math.abs(valLat);
// 取得三角形的斜边
let hypotenuse = Math.hypot(absoluteLng absoluteLat);
// 计算弧度
let radina = Math.acos(absoluteLng / hypotenuse);
// 计算角度
let angle = Math.floor(radina * 180 / Math.PI);
console.log("两坐标点计算出的角度为:" angle)
// 计算出标记点真正旋转的角度
if (valLng > 0) {
if (valLat > 0) {
// 第三象限
angle = 360 - angle;
} else {
// 第二象限
angle = angle;
}
} else {
if (valLat > 0) {
//第四象限
angle = 180 angle;
} else {
// 第一象限
angle = 180 - angle;
}
}
console.log("坐标点真正旋转的角度:" angle)
//两坐标点计算出的角度为: 41
//VM269:49 坐标点真正旋转的角度: 139