Ali*_*xel 5 math geography geolocation geospatial geo
地球表面可以有一个纬度和经度的最大长度(以公里或英里为单位 - 但请注明)是多少?
我不确定我是否足够清楚,让我重新说明一下.众所周知,地球不是一个完美的圆,赤道(或厄瓜多尔)纬度/经度的1.0变化可能意味着一个距离,而两极的相同变化可能意味着另一个完全不同的距离.
我正在尝试缩减数据库返回的结果数(在本例中为MySQL),这样我就可以使用Great Circle公式计算几个点之间的距离.我没有选择所有点然后单独计算它们,而是选择纬度/经度边界内的坐标,例如:
SELECT * FROM poi
WHERE latitude >= 75 AND latitude <= 80
AND longitude >= 75 AND longitude <= 80;
Run Code Online (Sandbox Code Playgroud)
PS:已经很晚了,我觉得我的英语没有像我预期的那样出现,如果有什么你无法理解请说出来,我会根据需要修理/改进它,谢谢.
纬度的长度变化不大,赤道约110.6公里,极点附近约111.7公里.如果地球是一个完美的球体,它将是恒定的.为了获得像已知(纬度,经度)10公里内的点列表的目的,假设恒定的111公里应该没问题.
然而,这是一个与经度完全不同的故事.它的范围从赤道大约111.3公里,纬度60度55.8公里,纬度89度1.9公里到极点零.
你问错了问题; 你需要知道MINIMUM长度以确保你的查询不会拒绝有效的候选人,不幸的是经度的最小长度是零!
假设您采用其他民间建议,使用纬度和经度均为111公里的常数.对于10公里的查询,您将使用10/111 = 0.09009纬度或经度的边距.这在赤道上是可以的.然而,在北纬60度(例如斯德哥尔摩的地方)向东行驶0.09度经度只需要5公里左右.在这种情况下,您错误地拒绝了大约一半的有效答案!
幸运的是,获得更好的经度界限(取决于已知点的纬度)的计算非常简单 - 请参阅此答案,以及Jan Matuschek撰写的文章.
最初,海里的定义是赤道上一分钟经度的长度.因此,赤道周围有360*60 = 21,600海里.同样,一公里的原始定义是10,000公里=从极点到赤道的长度.因此,假设球形地球,将会:
允许球形地球而不是球形地球将略微调整因子,但不是那么多.你可以非常有信心这个因素小于每分钟1.9公里或每度114公里.