【问题标题】:How to calculate distance between 2 points (Lambert EU projection coordinates)如何计算 2 点之间的距离(Lambert EU 投影坐标)
【发布时间】:2013-02-21 00:05:10
【问题描述】:

在坐标系/投影和计算方面,我是一个真正的菜鸟,所以请以假人的身份与我交谈 :)

我有坐标数据(上面写的是Lambert EU投影),如下图:

R A00   x_center    y_center
1 svk   519922,4822 2089546,836
2 aut   486321,4714 2087458,014
3 aut   493858,9945 2085882,625

现在我的第一个麻烦是,我可以找到一大堆处理 WGS84 坐标的计算和公式,但我从未见过像上面这样的坐标。

目标是:

  • 我需要计算两点之间的公里距离,例如第 1 行 (x, y) 和第 2 行 (x, y)。
  • 我需要最简单的公式(不需要高精度)
  • 然后应在 Oracle PL/SQL 中进行计算(PL/SQL 代码,因为您的答案很好但不是必需的,我更关心给定的坐标以及如何用它们计算以公里为单位的距离)。

有人能指出我正确的方向吗?谢谢

【问题讨论】:

  • 您好,介意回答一下吗?
  • 您好,我会在星期一检查并希望接受/关闭此案,感谢您到目前为止的回答!

标签: coordinates distance coordinate-systems


【解决方案1】:

我记得兰伯特坐标已经是笛卡尔米了。

所以只需使用sqrt(dx*dx +dy*dy) 即可获得dx=x2-x1dy=y2-y1 的距离(以米为单位)。

如果您必须将它们转换为 WGS84,那么它会变得更加复杂:

首先,您必须找出投影的确切名称,最好通过他们的 EPSG 投影编号。 (它们不止一个 Lambert 投影,例如法国 Lambert 2 etendue)

然后你必须更加努力地搜索,有文档,描述兰伯特投影。

【讨论】:

  • 您好,我还得到了公司的答复,为我们提供了数据。他们说距离计算为 sqrt((x1-x2)² + (y1-y2)²) - 所以你的答案就在那里;-)
  • 不,几乎没有,我的答案是完全一样的; dx 与 x2-x1 相同,在技术上它也称为 deltaX,我认为这是众所周知的。 (你在学校学到(毕达哥拉斯、欧克里德或笛卡尔距离),请随意投票和接受。
  • @ToniKanoni 我的答案完全正确,并且与您的数据提供者的答案相同(因为 dx = x2 - x1)和 dx² = dx * dx; (dx * dx os 比调用 Math.pow() 更有效率)
  • 啊,是的,我明白了,你一直都是对的。感谢您的回答!
  • 知道这与真实球面距离的近似值有多少吗?
猜你喜欢
  • 1970-01-01
  • 2010-09-26
  • 2020-02-12
  • 2014-11-27
  • 1970-01-01
  • 2020-01-19
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多