首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查我的数学在2英里之间的距离

检查我的数学在2英里之间的距离
EN

Stack Overflow用户
提问于 2022-01-15 15:49:53
回答 1查看 84关注 0票数 -1

你好,我正在做一个计算器,找出两点之间的距离。一切正常运转。我只想确保我的数学对计算是正确的。我会给你两个坐标插入,并告诉我是对还是错。谢谢。

测试坐标: lat1:27.95094 lng1:-82.45404

lat2:27.9659 lng2:-82.8001

测试结果:

21.13英里

我只想检查一下,我得到的是从1分到下一个点的正确计算,或者我的数学是否不正确。谢谢。

代码语言:javascript
运行
复制
function distance(lat1, lng1, lat2, lng2, unit) {
                var radlat1 = Math.PI * lat1/180;
                var radlat2 = Math.PI * lat2/180;
                var theta = lng1-lng2;
                var radtheta = Math.PI * theta/180;
                var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
                if (dist > 1) {
                    dist = 1;
                }
                dist = Math.acos(dist);
                dist = dist * 180/Math.PI;
                dist = dist * 60 * 1.1515;
                if (unit=='miles') { dist = (dist * 0.8684) * 1.15077945 }
                return dist;
            }

       travel = distance(lat1, lng1, results.features[0].center[1], results.features[0].center[0], 'miles');

       travel = parseInt(travel * 100)/100;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 16:04:28

是的,您似乎正确地实现了Haversine公式(https://en.wikipedia.org/wiki/Haversine_formula)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70722995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档