在我的应用中,用户可以使用iPhone的GPS定义足球场的三个角,一个接一个地走到角落,然后点击一个按钮。这很好用,我可以在屏幕上绘制生成的矩形,就像它在Google地图中的显示方式一样。
所以我现在拥有足球场三个随机角落的纬度和经度地图坐标。
无法确定用户从哪个角落开始,也不知道他/她是否顺时针绕着场地或逆时针进入连续角落。
我想要的是iPhone上的全屏代表足球场,以便在屏幕上跟踪GPS位置。
因此,我需要计算正确的方向,以便在屏幕上很好地适应场,避免反转任何轴,并将传入的GPS坐标旋转和缩放到屏幕的坐标系。
你会怎么做?我不需要实际的代码,只需要你认为是实现这一目标的最简单的算法/策略。
我已经研究了一些关于投影,旋转等的文章,我想我可以通过大量的试验和错误来解决这个问题,但我想知道最简单的方法。也许iOS甚至还有一些我不知道的功能?
答案 0 :(得分:0)
你能很快描述问题吗?第一个问题输入是什么(我没有抓到)。 三个点和其他? 4个数字。
为什么你需要得到一个坐标并计算呢?
答案 1 :(得分:0)
只要按连续顺序访问角点(CW或CCW无关紧要),您可以按如下方式计算矩形:
如果按顺序访问角p,q和r,则角s = p + r - q
答案 2 :(得分:0)
我知道这是一个迟到的答案,但因为还没有被接受......
如果coords以度 - 分 - 秒为单位,首先你必须转换为十进制度。然后选择其中一个输入。找到该点与其他每个点之间的距离(D = sqrt((lat1-lat2)^ 2 +(long1-long2)^ 2))。每个距离将是三个值中的一个 - 宽度(沿着球门线,例如 - 最短),长度(沿着边线)或对角线(末端区域的一个后角到相对的后角 - 最长的距离)。我不知道这些距离在十进制度上是多少 - 假设你正在处理一个相当小的地球部分,它将是恒定的,所以最好的选择可能只是去当地的一个领域并测量它们你自己。如果你正在处理地球的大部分,那么你需要从纬度转换为英尺,这会使事情变得更加丑陋,但是可以做到(如果有人要求我将这部分添加到编辑中) 。一旦你知道你开始的角落以及你拥有的其他两个角落,你就可以找出你所缺少的距离,从而找出你缺少的角落。您可以将(lat1-lat2)/(long1-long2)比率用于上述已知距离之一,以确定场的方向。一旦你有了这个比例并且你知道你缺少的距离,你就有2个方程和2个未知数 - 同时求解并且你有第4个角的坐标。
如果您需要更详细的步骤,请添加评论&信息。