编辑:在大多数情况下,我使用一个公式来计算出这一点,该公式描述了纵向宽度的变化,具体取决于您的纬度。
Link to wikipedia article.
现在我必须弄清楚这个结果会如何改变方位,有什么建议吗?
这是我面临的问题,理论上所有经度和纬度的“块”都是平等的,无论它们在哪里。 然而,你越远离赤道越远,它们越向彼此缩小。 所以在热带地区可以肯定地说,实际面积在一个街区然后在赤道上要少得多。
在我继续之前,让我说我的地理知识在9年级结束,所以这只是我自己的研究。
所以我有一个系统,为了简单起见,使用块,根据它,所有块都是相同的。
考虑到轴承时会出现问题。如图所示(在右侧),这是设备给出的实际轴承,并且精确的角度被馈送到系统。因此系统会在收到它时对其进行解释。 (即左边的实线。)
但这是不准确的。所以解决方案是根据设备离赤道的距离来改变轴承,以适应经度的这种变窄,然后到达左边的虚线箭头,这是正确的。
这是我用尽情报的地方,
1:我不知道计算经度变窄的等式, 已解决
2:我甚至不确定我是否能够应用它并得到一个系数来准确地抵消轴承。
对于一个不是我现在在PHP中这样做,但是我很可能最终会在稍后阶段将其移植到一个Android客户端。
答案 0 :(得分:4)
这正是geographic coordinate systems设计要解决的问题,所以你应该研究一下,也许选择一个处理这种计算的库,比如this PHP library。
地球不平坦,不要试图将平面几何体“映射”到球体上......就像那样......
我对你使用“热带地区”感到有点困惑 - 那些非常靠近赤道的地方......
答案 1 :(得分:2)
地球上的绘图点非常困难,尤其是因为地球不是球形,而是扁球体。
您需要注意的是“更大圆距离”和“Haversine”公式。这里有一篇很好的文章......
http://www.movable-type.co.uk/scripts/latlong.html
当我面对同样的问题时,我花了一段时间来消化。