【问题标题】:Lat – Long Converter ,Angle and Distance Calculator纬度 - 长转换器,角度和距离计算器
【发布时间】:2012-03-01 20:18:55
【问题描述】:
Lat – Long Converter ,Angle and Distance Calculator

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

伪代码

  1. 将所有给定的坐标位置转换为弧度。
  2. 将 r 设置为 lat 和 long 值之和的平方根值。
  3. 设置角度为旋转角度的弧度值。
  4. 如果 r 大于 0
    a) 设置 ct 为 lat 除以 r 的值。
    b) 将 st 设置为 long 除以 r 的值。
    c) 将X坐标值设置为r值的乘积,ct与角度余弦值的乘积与st与角度Sin值的乘积之和。
    d) 同样求 Y 坐标值作为 r 值的乘积,st 与角度余弦值的乘积之和与 ct 与角度的 Sin 值的乘积之和。
    e) 将更新后的值保存为最终的 X 和 Y 值。
  5. 结束如果
  6. 调用 find_angle 查找 depo 与客户之间的角度。
  7. 调用 Find_diatance 查找 2 个位置之间的距离。
  8. 返回 X、Y、角度和距离。

我无法解决第 4 点和第 5 点.. 你能帮我形成一个方程来解决它吗

【问题讨论】:

  • 向我们展示你已经为 4 编写的代码。
  • 第五点?你的意思是}

标签: c++ c


【解决方案1】:

这是我对步骤 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(angle) ) ) + ( ) )

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

删除不必要的括号:
x = r * (ct * cos(angle) + st * sin(angle));

【讨论】:

  • ya... thx.. 那么 wat 将是步骤 3 中指定的旋转角度..
  • 对不起,自从我使用 GPS 系统编程已经过去了 3 年。我建议在网上搜索“GPS 坐标映射”,并用吸管构建视觉模型。
【解决方案2】:

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

您可以直接计算两个纬度/经度坐标之间的距离;这个距离被称为大圆距离。几个stackoverflow问题涵盖了如何做到这一点。 Here's一个。

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

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 2019-06-22
    • 1970-01-01
    • 2013-01-17
    • 2013-04-16
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 2015-10-18
    相关资源
    最近更新 更多