试图在给定原始经纬度 + 3 米的情况下找到经纬度
Trying to find lat lon given original lat lon + 3 meters
我有这个问题需要解决。
给我一个坐标 lat/lon,我需要在这个原点 3 米范围内找到一个随机点。近似值很好,但我只能找到这个 https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters,它有 10 米的误差。谢谢。
不确定 "find" 和 "random" 在这个问题中的含义。
地球从赤道到两极大约有 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) 将趋近于零。导航系统使用四元数来做这些事情,因为它们在球坐标中没有奇点。
我有这个问题需要解决。 给我一个坐标 lat/lon,我需要在这个原点 3 米范围内找到一个随机点。近似值很好,但我只能找到这个 https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters,它有 10 米的误差。谢谢。
不确定 "find" 和 "random" 在这个问题中的含义。
地球从赤道到两极大约有 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) 将趋近于零。导航系统使用四元数来做这些事情,因为它们在球坐标中没有奇点。