C++ Lat&x2013;长转换器、角度和距离计算器

C++ Lat&x2013;长转换器、角度和距离计算器,c++,c,C++,C,该算法用于将给定的纬度和经度位置转换为XY坐标系。该算法还可以找到任意两个位置之间的角度和距离以及它们之间的角度。通过查找每个客户与其他客户之间的距离来形成距离矩阵,并将其传递给最近邻算法 伪码 将所有给定的坐标位置转换为弧度 将r设置为lat和long值之和的平方根值 将角度设置为旋转角度的弧度值 如果r大于0 a) 将ct设置为lat除以r的值。 b) 将st设置为long除以r的值。 c) 将X坐标值设置为r值的乘积,即ct与角度余弦值的乘积与st与角度正弦值的乘积之和。 d) 类似地,将

该算法用于将给定的纬度和经度位置转换为XY坐标系。该算法还可以找到任意两个位置之间的角度和距离以及它们之间的角度。通过查找每个客户与其他客户之间的距离来形成距离矩阵,并将其传递给最近邻算法

伪码

  • 将所有给定的坐标位置转换为弧度
  • 将r设置为lat和long值之和的平方根值
  • 将角度设置为旋转角度的弧度值
  • 如果r大于0
    a) 将ct设置为lat除以r的值。
    b) 将st设置为long除以r的值。
    c) 将X坐标值设置为r值的乘积,即ct与角度余弦值的乘积与st与角度正弦值的乘积之和。
    d) 类似地,将Y坐标值作为r值的乘积,即st与角的余弦值的乘积与ct与角的Sin值的乘积之和。
    e) 将更新后的值另存为最终X&Y值
  • 如果结束
  • 调用find_angle查找depo和客户之间的角度
  • 调用Find_________________________________
  • 返回X、Y、角度和距离

  • 我无法解决第四点和第五点。。你能帮我建立一个方程来解它吗?纬度和经度是球体上的坐标。XY坐标通常是平面上的坐标。在它们之间转换没有多大意义

    您可以直接计算两个纵横坐标之间的距离;这个距离称为大圆距离。几个stackoverflow问题涉及如何做到这一点。一个


    如果你在寻找最近的邻居,你真的需要角度吗?

    纬度和经度是球体上的坐标。XY坐标通常是平面上的坐标。在它们之间转换没有多大意义

    您可以直接计算两个纵横坐标之间的距离;这个距离称为大圆距离。几个stackoverflow问题涉及如何做到这一点。一个


    如果你在寻找最近的邻居,你真的需要角度吗?

    以下是我对步骤4.c的解释:

    设置X坐标值
    x=

    将X坐标值设置为的乘积:
    x=()*()

    将X坐标值设置为r值的乘积:
    x=(r)*()

    将X坐标值设置为r值的乘积,的和:
    x=(r)*(()+())

    将X坐标值设置为r值的乘积,的乘积之和:
    x=(r)*((()*())+())

    将X坐标值设置为r值的乘积,即ct的乘积之和:
    x=(r)*((ct)*())+())

    将X坐标值设置为r值的乘积,即ct与余弦值的乘积之和:
    x=(r)*((ct)*(cos())+())

    将X坐标值设置为r值的乘积,即ct与角度的余弦值的乘积之和
    x=(r)*((ct)*(cos(角度))+())

    将X坐标值设置为r值的乘积、ct与角度余弦值的乘积之和、st与角度Sin值的乘积之和:
    x=(r)*((ct)*(cos(角))+((st)*(sin(角)))

    删除不必要的括号:

    x=r*(ct*cos(角度)+st*sin(角度))

    以下是我对步骤4.c的解释:

    设置X坐标值
    x=

    将X坐标值设置为的乘积:
    x=()*()

    将X坐标值设置为r值的乘积:
    x=(r)*()

    将X坐标值设置为r值的乘积,的和:
    x=(r)*(()+())

    将X坐标值设置为r值的乘积,的乘积之和:
    x=(r)*((()*())+())

    将X坐标值设置为r值的乘积,即ct的乘积之和:
    x=(r)*((ct)*())+())

    将X坐标值设置为r值的乘积,即ct与余弦值的乘积之和:
    x=(r)*((ct)*(cos())+())

    将X坐标值设置为r值的乘积,即ct与角度的余弦值的乘积之和
    x=(r)*((ct)*(cos(角度))+())

    将X坐标值设置为r值的乘积、ct与角度余弦值的乘积之和、st与角度Sin值的乘积之和:
    x=(r)*((ct)*(cos(角))+((st)*(sin(角)))

    删除不必要的括号:

    x=r*(ct*cos(角度)+st*sin(角度))

    向我们展示您为4编写的代码。第5点?你的意思是
    }
    ?给我们看看你已经为第4点写的代码。第5点?你的意思是
    }
    ?是的。。。谢谢。。那么wat就是旋转的角度
    Lat – Long Converter ,Angle and Distance Calculator