我有这个问题我必须解决。 我给了一个坐标lat / lon,我需要在这个原点的3米范围内找到一个随机点。近似值很好,但我能找到的只有https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters误差为10米。谢谢。
答案 0 :(得分:0)
不确定此问题中“找到”和“随机”是什么意思。
地球从赤道到任一极点大约有1000万米(实际上它们实际上是如何定义仪表的大小的;它自那以后就被略微修改了)。纬度线的宽度不会变化,因此一米或多南一直是90度的千万分之一,或9e-6度,所以只需乘以你想要的点的南北位移(以米为单位)初始点,您将获得以度为单位添加到初始点的数字: delta_lat = y_meters * 9e-6 。
经度线的宽度确实有所不同,但它只是以米为单位的东西向位移* 9e-6 = delta_lon * cos(lat),这意味着您可以使用距您的初始点到东边的距离最新的度数差异: delta_lon = x_meters * 9e-6 / cos(lat) 。
你必须小心两极的最后一部分,因为cos(lat)将接近于零。导航系统使用四元数来做这些事情,因为它们在球坐标系中没有奇点。