【发布时间】:2014-11-09 20:20:12
【问题描述】:
我想用给定的纬度和经度画一个圆
["lat":51.41714046916216,"lng":-2.3588300000000095] 在 22 英里区域的谷歌地图中。
我如何从给定的英里/公里中找到半径 任何帮助将不胜感激。
【问题讨论】:
标签: javascript google-maps math
我想用给定的纬度和经度画一个圆
["lat":51.41714046916216,"lng":-2.3588300000000095] 在 22 英里区域的谷歌地图中。
我如何从给定的英里/公里中找到半径 任何帮助将不胜感激。
【问题讨论】:
标签: javascript google-maps math
圆形区域:
area=PI*radius^2
所以:
radius=sqrt(area/PI)
PI = 3.1415926535897932384626433832795
面积与半径单位相同!!!
好吧,如果您已经有 2D 正交坐标系,那么这是可以的,但如果没有(X 轴单位不同,Y 轴单位和非线性单位不同),那么这个公式将无法正常工作。在这种情况下,圆形区域必须从正交空间投影回您的椭球表面投影。
为此,您必须添加更多信息。然而,对于足够小的表面,它可以通过椭圆来简化。目标准确度也是与此相关的信息。
【讨论】:
Pi * r ^2,而不是 2 * Pi * r^2
圆的面积公式是
A = Pi * radius * radius
所以半径是
r = sqrt(area/Pi)
在你的情况下
r = sqrt(22/3.1415)
所以
r = 2.64 miles or 4.25 km
请注意,这是近似值,因为该公式是基于平面的,而地球表面显然不是平坦的,但对于像您这样相对较小的区域而言,差异不会太大。
【讨论】: