根据距离生成随机地理坐标
Posted
技术标签:
【中文标题】根据距离生成随机地理坐标【英文标题】:Generate random geo-coordinate based on distance 【发布时间】:2011-06-22 21:50:21 【问题描述】:我想创建一个基于另一个CLLocationCoordinate2D
(或CLLocation
)返回随机CLLocationCoordinate2D
(或CLLocation
对象)的方法。生成的坐标应在任意随机基础坐标的一定距离内(not 度,因此基于CLLocationDistance
值或等效值,not CLLocationDegrees
)方向。所以我基本上是在圆形边界内生成一个随机坐标。
我了解如何在常规坐标系中轻松执行此操作(只需使用一些基本的三角函数从边界中心的随机角度和半径计算新坐标),但是我不知道该怎么做在纬度/经度系统中。如果我想根据度数差异生成随机坐标,我可以使用 trig 轻松完成此操作,但这些结果会在我越靠近极点时出现偏差,所以我想根据距离来完成。
我在文档中找不到任何可以帮助我的东西。如果有某种方法可以通过基于某个方向和距离替换现有坐标来获得新坐标,那肯定会有所帮助,但我在文档或网络上没有找到任何相关信息。有什么想法吗?
【问题讨论】:
【参考方案1】:请参阅this page。简短的版本是:距离取决于起点和终点的经度,计算这一点的最佳/快速方法是使用称为 Haversive 公式的公式。还有一个Objective C implementation here。
【讨论】:
以上是关于根据距离生成随机地理坐标的主要内容,如果未能解决你的问题,请参考以下文章