【问题标题】:find radius from given miles/kilometer In google Map在谷歌地图中查找给定英里/公里的半径
【发布时间】:2014-11-09 20:20:12
【问题描述】:

我想用给定的纬度和经度画一个圆
["lat":51.41714046916216,"lng":-2.3588300000000095] 在 22 英里区域的谷歌地图中。

我如何从给定的英里/公里中找到半径 任何帮助将不胜感激。

【问题讨论】:

标签: javascript google-maps math


【解决方案1】:

圆形区域:

area=PI*radius^2

所以:

radius=sqrt(area/PI)
PI = 3.1415926535897932384626433832795

面积与半径单位相同!!!

好吧,如果您已经有 2D 正交坐标系,那么这是可以的,但如果没有(X 轴单位不同,Y 轴单位和非线性单位不同),那么这个公式将无法正常工作。在这种情况下,圆形区域必须从正交空间投影回您的椭球表面投影。

为此,您必须添加更多信息。然而,对于足够小的表面,它可以通过椭圆来简化。目标准确度也是与此相关的信息。

【讨论】:

  • 我认为 area = Pi * r ^2,而不是 2 * Pi * r^2
  • @Mark Setchell 是的,我的头在哪里 :)
【解决方案2】:

圆的面积公式是

A = Pi * radius * radius

所以半径是

r = sqrt(area/Pi)

在你的情况下

r = sqrt(22/3.1415)

所以

r = 2.64 miles or 4.25 km

请注意,这是近似值,因为该公式是基于平面的,而地球表面显然不是平坦的,但对于像您这样相对较小的区域而言,差异不会太大。

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2011-12-29
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2018-11-26
    • 2020-12-06
    • 2015-12-29
    • 2013-09-01
    相关资源
    最近更新 更多